mailmanclient-3.2.2/ 0000775 0001750 0001750 00000000000 13427703737 015470 5 ustar maxking maxking 0000000 0000000 mailmanclient-3.2.2/COPYING.LESSER 0000664 0001750 0001750 00000016725 13413656045 017524 0 ustar maxking maxking 0000000 0000000 GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc.
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.
mailmanclient-3.2.2/MANIFEST.in 0000664 0001750 0001750 00000000235 13413656045 017220 0 ustar maxking maxking 0000000 0000000 include *.py MANIFEST.in *.cfg *.ini COPYING.LESSER
global-include *.txt *.rst *.yaml
include Makefile
prune _build
prune dist
prune .tox
exclude .bzrignore
mailmanclient-3.2.2/Makefile 0000664 0001750 0001750 00000006035 13413656045 017126 0 ustar maxking maxking 0000000 0000000 # Makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER =
# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d _build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
.PHONY: help clean html dirhtml pickle json htmlhelp qthelp latex changes linkcheck doctest
help:
@echo "Please use \`make ' where is one of"
@echo " html to make standalone HTML files"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " pickle to make pickle files"
@echo " json to make JSON files"
@echo " htmlhelp to make HTML files and a HTML help project"
@echo " qthelp to make HTML files and a qthelp project"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " changes to make an overview of all changed/added/deprecated items"
@echo " linkcheck to check all external links for integrity"
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
clean:
-rm -rf _build/*
html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) _build/html
@echo
@echo "Build finished. The HTML pages are in _build/html."
dirhtml:
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) _build/dirhtml
@echo
@echo "Build finished. The HTML pages are in _build/dirhtml."
pickle:
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) _build/pickle
@echo
@echo "Build finished; now you can process the pickle files."
json:
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) _build/json
@echo
@echo "Build finished; now you can process the JSON files."
htmlhelp:
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) _build/htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in _build/htmlhelp."
qthelp:
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) _build/qthelp
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
".qhcp project file in _build/qthelp, like this:"
@echo "# qcollectiongenerator _build/qthelp/munepy.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile _build/qthelp/munepy.qhc"
latex:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) _build/latex
@echo
@echo "Build finished; the LaTeX files are in _build/latex."
@echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \
"run these through (pdf)latex."
changes:
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) _build/changes
@echo
@echo "The overview file is in _build/changes."
linkcheck:
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) _build/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
"or in _build/linkcheck/output.txt."
doctest:
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) _build/doctest
@echo "Testing of doctests in the sources finished, look at the " \
"results in _build/doctest/output.txt."
pypi: html
(cd _build/html; \
rm -f index.html; \
ln -s README.html index.html; \
zip -r ../pypi .)
mailmanclient-3.2.2/PKG-INFO 0000664 0001750 0001750 00000010014 13427703737 016561 0 ustar maxking maxking 0000000 0000000 Metadata-Version: 2.1
Name: mailmanclient
Version: 3.2.2
Summary: mailmanclient -- Python bindings for Mailman REST API
Home-page: http://www.list.org/
Maintainer: Barry Warsaw
Maintainer-email: barry@list.org
License: LGPLv3
Description: ..
This file is part of mailmanclient.
mailmanclient is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, version 3 of the License.
mailmanclient is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
License for more details.
You should have received a copy of the GNU Lesser General Public License
along with mailman.client. If not, see .
==============
Mailman Client
==============
.. image:: https://gitlab.com/mailman/mailmanclient/badges/master/build.svg
:target: https://gitlab.com/mailman/mailmanclient/commits/master
.. image:: https://readthedocs.org/projects/mailmanclient/badge
:target: https://mailmanclient.readthedocs.io
.. image:: http://img.shields.io/pypi/v/mailmanclient.svg
:target: https://pypi.python.org/pypi/mailmanclient
.. image:: http://img.shields.io/pypi/dm/mailmanclient.svg
:target: https://pypi.python.org/pypi/mailmanclient
The ``mailmanclient`` library provides official Python bindings for the GNU
Mailman 3 REST API.
Requirements
============
``mailmanclient`` requires Python 3.5 or newer.
Documentation
=============
A `simple guide`_ to using the library is available within this package, in
the form of doctests. The manual is also available online at:
https://mailmanclient.readthedocs.io/en/latest/
Project details
===============
The project home page is:
https://gitlab.com/mailman/mailmanclient
You should report bugs at:
https://gitlab.com/mailman/mailmanclient/issues
You can download the latest version of the package either from the `Cheese Shop`_:
http://pypi.python.org/pypi/mailmanclient
or from the GitLab page above. Of course you can also just install it with
``pip`` from the command line::
$ pip install mailmanclient
You can grab the latest development copy of the code using Git, from the Gitlab
home page above. If you have Git installed, you can grab your own branch of
the code like this::
$ git clone https://gitlab.com/mailman/mailmanclient.git
You may contact the developers via mailman-developers@python.org
Acknowledgements
================
Many thanks to Florian Fuchs for his contribution of an initial REST
client. Also thanks to all the contributors of Mailman Client who have
contributed code, raised issues or devoted their time in any capacity!
.. _`simple guide`: https://mailmanclient.readthedocs.io/en/latest/src/mailmanclient/docs/using.html
.. _`Cheese Shop`: https://pypi.org/project/mailmanclient
Platform: UNKNOWN
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Internet :: WWW/HTTP
Description-Content-Type: text/x-rst
mailmanclient-3.2.2/README.rst 0000664 0001750 0001750 00000005337 13427702377 017166 0 ustar maxking maxking 0000000 0000000 ..
This file is part of mailmanclient.
mailmanclient is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, version 3 of the License.
mailmanclient is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
License for more details.
You should have received a copy of the GNU Lesser General Public License
along with mailman.client. If not, see .
==============
Mailman Client
==============
.. image:: https://gitlab.com/mailman/mailmanclient/badges/master/build.svg
:target: https://gitlab.com/mailman/mailmanclient/commits/master
.. image:: https://readthedocs.org/projects/mailmanclient/badge
:target: https://mailmanclient.readthedocs.io
.. image:: http://img.shields.io/pypi/v/mailmanclient.svg
:target: https://pypi.python.org/pypi/mailmanclient
.. image:: http://img.shields.io/pypi/dm/mailmanclient.svg
:target: https://pypi.python.org/pypi/mailmanclient
The ``mailmanclient`` library provides official Python bindings for the GNU
Mailman 3 REST API.
Requirements
============
``mailmanclient`` requires Python 3.5 or newer.
Documentation
=============
A `simple guide`_ to using the library is available within this package, in
the form of doctests. The manual is also available online at:
https://mailmanclient.readthedocs.io/en/latest/
Project details
===============
The project home page is:
https://gitlab.com/mailman/mailmanclient
You should report bugs at:
https://gitlab.com/mailman/mailmanclient/issues
You can download the latest version of the package either from the `Cheese Shop`_:
http://pypi.python.org/pypi/mailmanclient
or from the GitLab page above. Of course you can also just install it with
``pip`` from the command line::
$ pip install mailmanclient
You can grab the latest development copy of the code using Git, from the Gitlab
home page above. If you have Git installed, you can grab your own branch of
the code like this::
$ git clone https://gitlab.com/mailman/mailmanclient.git
You may contact the developers via mailman-developers@python.org
Acknowledgements
================
Many thanks to Florian Fuchs for his contribution of an initial REST
client. Also thanks to all the contributors of Mailman Client who have
contributed code, raised issues or devoted their time in any capacity!
.. _`simple guide`: https://mailmanclient.readthedocs.io/en/latest/src/mailmanclient/docs/using.html
.. _`Cheese Shop`: https://pypi.org/project/mailmanclient
mailmanclient-3.2.2/conf.py 0000664 0001750 0001750 00000016476 13427702377 017004 0 ustar maxking maxking 0000000 0000000 # -*- coding: utf-8 -*-
#
# mailman.client documentation build configuration file, created by
# sphinx-quickstart on Wed Aug 17 15:43:10 2011.
#
# This file is execfile()d with the current directory set to its
# containing dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
#
# All configuration values have a default; values that are commented out
# serve to show the default.
import sys
import os
# import the source code directory into Python Path for use with Auto Module
APP_ROOT = os.path.dirname(__file__)
sys.path.insert(0, APP_ROOT)
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here
# sys.path.insert(0, os.path.abspath('.'))
# -- General configuration ----------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
# needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = ['sphinx.ext.autodoc',
'sphinx.ext.viewcode']
# Add any paths that contain templates here, relative to this directory.
# templates_path = ['_templates']
# The suffix of source filenames.
source_suffix = '.rst'
# The encoding of source files.
# source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'index'
# General information about the project.
project = u'Mailman Client'
copyright = u'2012-2019, The Free Software Foundation'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
from setup_helpers import get_version # noqa
_version = get_version('src/mailmanclient/constants.py')
version = '.'.join(_version.split('.')[0:2])
# The full version, including alpha/beta/rc tags.
release = _version
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
# language = None
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
# today = ''
# Else, today_fmt is used as the format for a strftime call.
# today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build', '.tox', 'eggs', '.pc']
# The reST default role (used for this markup: `text`) to use for all
# documents.
# default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
# add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
# add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
# show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
# modindex_common_prefix = []
# -- Options for HTML output --------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'default'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
# html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
# html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# " v documentation".
# html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
# html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
# html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
# html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
# html_static_path = ['_static']
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
# html_last_updated_fmt = '%b %d, %Y'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
# html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
# html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
# html_additional_pages = {}
# If false, no module index is generated.
# html_domain_indices = True
# If false, no index is generated.
# html_use_index = True
# If true, the index is split into individual pages for each letter.
# html_split_index = False
# If true, links to the reST sources are added to the pages.
# html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
# html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
# html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
# html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
# html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'mailmanclientdoc'
# -- Options for LaTeX output -------------------------------------------------
# The paper size ('letter' or 'a4').
# latex_paper_size = 'letter'
# The font size ('10pt', '11pt' or '12pt').
# latex_font_size = '10pt'
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual])
latex_documents = [
('README', 'mailmanclient.tex', u'Mailman Client Documentation',
u'Mailman Coders', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
# latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
# latex_use_parts = False
# If true, show page references after internal links.
# latex_show_pagerefs = False
# If true, show URL addresses after external links.
# latex_show_urls = False
# Additional stuff for the LaTeX preamble.
# latex_preamble = ''
# Documents to append as an appendix to all manuals.
# latex_appendices = []
# If false, no module index is generated.
# latex_domain_indices = True
# -- Options for manual page output -------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('README', 'mailmanclient', u'Mailman Client Documentation',
[u'Mailman Coders'], 1)
]
mailmanclient-3.2.2/conftest.py 0000664 0001750 0001750 00000001646 13413656572 017675 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2017-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailman.client.
#
# mailman.client is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailman.client is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailman.client. If not, see .
"""pytest conftest"""
__metaclass__ = type
import os
import pytest
@pytest.fixture
def vcr_cassette_path(request, vcr_cassette_name):
return os.path.join('src/mailmanclient/tests/data', vcr_cassette_name)
mailmanclient-3.2.2/copybump.py 0000775 0001750 0001750 00000005342 13413656572 017706 0 ustar maxking maxking 0000000 0000000 #! /usr/bin/env python3
import os
import re
import sys
import stat
import datetime
FSF = 'by the Free Software Foundation, Inc.'
this_year = datetime.date.today().year
pyre_c = re.compile(r'# Copyright \(C\) ((?P\d{4})-)?(?P\d{4})')
pyre_n = re.compile(r'# Copyright ((?P\d{4})-)?(?P\d{4})')
new_c = '# Copyright (C) {}-{} {}'
new_n = '# Copyright {}-{} {}'
MODE = (stat.S_IRWXU | stat.S_IRWXG | stat.S_IRWXO)
if '--noc' in sys.argv:
pyre = pyre_n
new = new_n
sys.argv.remove('--noc')
else:
pyre = pyre_c
new = new_c
def do_file(path, owner):
permissions = os.stat(path).st_mode & MODE
with open(path) as in_file, open(path + '.out', 'w') as out_file:
try:
for line in in_file:
mo_c = pyre_c.match(line)
mo_n = pyre_n.match(line)
if mo_c is None and mo_n is None:
out_file.write(line)
continue
mo = (mo_n if mo_c is None else mo_c)
start = (mo.group('end')
if mo.group('start') is None
else mo.group('start'))
if int(start) == this_year:
out_file.write(line)
continue
print(new.format(start, this_year, owner), file=out_file)
print('=>', path)
for line in in_file:
out_file.write(line)
except UnicodeDecodeError:
print('Cannot convert path:', path)
os.remove(path + '.out')
return
os.rename(path + '.out', path)
os.chmod(path, permissions)
def remove(dirs, path):
try:
dirs.remove(path)
except ValueError:
pass
def do_walk():
try:
owner = sys.argv[1]
except IndexError:
owner = FSF
for root, dirs, files in os.walk('.'):
if root == '.':
remove(dirs, '.git')
remove(dirs, '.tox')
remove(dirs, 'bin')
remove(dirs, 'contrib')
remove(dirs, 'develop-eggs')
remove(dirs, 'eggs')
remove(dirs, 'parts')
remove(dirs, 'gnu-COPYING-GPL')
remove(dirs, '.installed.cfg')
remove(dirs, '.bzrignore')
remove(dirs, 'distribute_setup.py')
if root == './src':
remove(dirs, 'mailman.egg-info')
if root == './src/mailman':
remove(dirs, 'messages')
for file_name in files:
if os.path.splitext(file_name)[1] in ('.pyc', '.gz', '.egg'):
continue
path = os.path.join(root, file_name)
if os.path.isfile(path):
do_file(path, owner)
if __name__ == '__main__':
do_walk()
mailmanclient-3.2.2/index.rst 0000664 0001750 0001750 00000000162 13427702377 017327 0 ustar maxking maxking 0000000 0000000 .. include:: README.rst
Contents
========
.. toctree::
:glob:
:maxdepth: 2
src/mailmanclient/docs/*
mailmanclient-3.2.2/mailman_test.cfg 0000664 0001750 0001750 00000000503 13413656045 020616 0 ustar maxking maxking 0000000 0000000 # Example Mailman config file suitable for testing
[devmode]
enabled: yes
testing: yes
recipient: you@yourdomain.com
[mta]
smtp_port: 9025
lmtp_port: 9024
incoming: mailman.testing.mta.FakeMTA
[webservice]
port: 9001
[archiver.mhonarc]
enable: yes
[archiver.mail_archive]
enable: yes
[archiver.prototype]
enable: yes
mailmanclient-3.2.2/pytest.ini 0000664 0001750 0001750 00000000104 13413656045 017506 0 ustar maxking maxking 0000000 0000000 [pytest]
addopts = --doctest-glob='*.rst' --tb=short --run-services
mailmanclient-3.2.2/setup.cfg 0000664 0001750 0001750 00000000163 13427703737 017311 0 ustar maxking maxking 0000000 0000000 [build_sphinx]
source_dir = .
[upload_docs]
upload_dir = build/sphinx/html
[egg_info]
tag_build =
tag_date = 0
mailmanclient-3.2.2/setup.py 0000664 0001750 0001750 00000003531 13427702377 017203 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailman.client.
#
# mailman.client is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, either version 3 of the License, or (at your
# option) any later version.
#
# mailman.client is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
# for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailman.client. If not, see .
from setup_helpers import get_version, require_python
from setuptools import setup, find_packages
require_python(0x30500f0)
__version__ = get_version('src/mailmanclient/constants.py')
def readme():
with open('README.rst') as fd:
return fd.read()
setup(
name='mailmanclient',
version=__version__,
packages=find_packages('src'),
description='mailmanclient -- Python bindings for Mailman REST API',
long_description=readme(),
long_description_content_type='text/x-rst',
package_dir={'': 'src'},
include_package_data=True,
maintainer='Barry Warsaw',
maintainer_email='barry@list.org',
license='LGPLv3',
url='http://www.list.org/',
classifiers=[
'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)', # noqa
'Operating System :: POSIX',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Topic :: Internet :: WWW/HTTP ',
],
install_requires=[
'httplib2',
'six',
],
)
mailmanclient-3.2.2/setup_helpers.py 0000664 0001750 0001750 00000011277 13413656572 020733 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2009-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailman.client
#
# mailman.client is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailman.client is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
# details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailman.client. If not, see .
"""setup.py helper functions."""
from __future__ import absolute_import, print_function, unicode_literals
import os
import re
import sys
import codecs
__metaclass__ = type
__all__ = [
'description',
'find_doctests',
'get_version',
'long_description',
'require_python',
]
DEFAULT_VERSION_RE = re.compile(r'(?P\d+\.\d(?:\.\w+)?)')
NL = '\n'
def require_python(minimum):
"""Require at least a minimum Python version.
The version number is expressed in terms of `sys.hexversion`. E.g. to
require a minimum of Python 2.6, use::
>>> require_python(0x206000f0)
:param minimum: Minimum Python version supported.
:type minimum: integer
"""
if sys.hexversion < minimum:
hversion = hex(minimum)[2:]
if len(hversion) % 2 != 0:
hversion = '0' + hversion
split = list(hversion)
parts = []
while split:
parts.append(int(''.join((split.pop(0), split.pop(0))), 16))
major, minor, micro, release = parts
if release == 0xf0:
print('Python {0}.{1}.{2} or better is required'.format(
major, minor, micro))
else:
print('Python {0}.{1}.{2} ({3}) or better is required'.format(
major, minor, micro, hex(release)[2:]))
sys.exit(1)
def get_version(filename, pattern=None):
"""Extract the __version__ from a file without importing it.
While you could get the __version__ by importing the module, the very act
of importing can cause unintended consequences. For example, Distribute's
automatic 2to3 support will break. Instead, this searches the file for a
line that starts with __version__, and extract the version number by
regular expression matching.
By default, two or three dot-separated digits are recognized, but by
passing a pattern parameter, you can recognize just about anything. Use
the `version` group name to specify the match group.
:param filename: The name of the file to search.
:type filename: string
:param pattern: Optional alternative regular expression pattern to use.
:type pattern: string
:return: The version that was extracted.
:rtype: string
"""
if pattern is None:
cre = DEFAULT_VERSION_RE
else:
cre = re.compile(pattern)
with open(filename) as fp:
for line in fp:
if line.startswith('__version__'):
mo = cre.search(line)
assert mo, 'No valid __version__ string found'
return mo.group('version')
raise AssertionError('No __version__ assignment found')
def find_doctests(start='.', extension='.txt'):
"""Find separate-file doctests in the package.
This is useful for Distribute's automatic 2to3 conversion support. The
`setup()` keyword argument `convert_2to3_doctests` requires file names,
which may be difficult to track automatically as you add new doctests.
:param start: Directory to start searching in (default is cwd)
:type start: string
:param extension: Doctest file extension (default is .txt)
:type extension: string
:return: The doctest files found.
:rtype: list
"""
doctests = []
for dirpath, dirnames, filenames in os.walk(start):
doctests.extend(os.path.join(dirpath, filename)
for filename in filenames
if filename.endswith(extension))
return doctests
def long_description(*filenames):
"""Provide a long description."""
res = []
for value in filenames:
base, ext = os.path.splitext(value)
if ext in ('.txt', '.rst'):
with codecs.open(value, 'r', encoding='utf-8') as fp:
value = fp.read()
res.append(value)
if not value.endswith(NL):
res.append('')
return NL.join(res)
def description(filename):
"""Provide a short description."""
with codecs.open(filename, 'r', encoding='utf-8') as fp:
for line in fp:
return line.strip()
mailmanclient-3.2.2/src/ 0000775 0001750 0001750 00000000000 13427703737 016257 5 ustar maxking maxking 0000000 0000000 mailmanclient-3.2.2/src/mailmanclient/ 0000775 0001750 0001750 00000000000 13427703737 021074 5 ustar maxking maxking 0000000 0000000 mailmanclient-3.2.2/src/mailmanclient/__init__.py 0000664 0001750 0001750 00000004410 13413656572 023203 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
# mailmanclient is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailmanclient is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailmanclient. If not, see .
#
# flake8: noqa
"""Package contents."""
from __future__ import absolute_import, print_function, unicode_literals
import six
from mailmanclient.client import Client
from mailmanclient.constants import __version__
from mailmanclient.restbase.connection import MailmanConnectionError
from mailmanclient.restobjects.address import Address, Addresses
from mailmanclient.restobjects.ban import Bans, BannedAddress
from mailmanclient.restobjects.configuration import Configuration
from mailmanclient.restobjects.domain import Domain
from mailmanclient.restobjects.header_match import HeaderMatch, HeaderMatches
from mailmanclient.restobjects.held_message import HeldMessage
from mailmanclient.restobjects.archivers import ListArchivers
from mailmanclient.restobjects.mailinglist import MailingList
from mailmanclient.restobjects.member import Member
from mailmanclient.restobjects.preferences import Preferences, PreferencesMixin
from mailmanclient.restobjects.queue import Queue
from mailmanclient.restobjects.settings import Settings
from mailmanclient.restobjects.user import User
__metaclass__ = type
__all__ = [
'Address',
'Addresses',
'Bans',
'BannedAddress',
'Client',
'Configuration',
'Domain'
'HeaderMatch',
'HeaderMatches',
'HeldMessage',
'ListArchivers',
'MailingList',
'MailmanConnectionError',
'Member',
'Preferences',
'PreferencesMixin',
'Queue',
'Settings',
'User',
'__version__',
]
if six.PY2:
__all__ = [str(x) for x in __all__]
elif six.PY3:
__all__ = [bytes(x, 'utf-8') for x in __all__]
mailmanclient-3.2.2/src/mailmanclient/_client.py 0000664 0001750 0001750 00000002155 13413656572 023065 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2017-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
# mailman.client is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailman.client is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailman.client. If not, see .
"""Old module for backwards compatibility"""
from __future__ import absolute_import, print_function, unicode_literals
from mailmanclient import * # noqa
__metaclass__ = type
# XXX: This module exists for backwards compatibility with older versions of
# MailmanClient which had all the API under this module. It will be removed in
# future after few cycles of deprecation.
mailmanclient-3.2.2/src/mailmanclient/client.py 0000664 0001750 0001750 00000036303 13413656572 022730 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
# mailmanclient is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailmanclient is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailmanclient. If not, see .
"""Client code."""
from __future__ import absolute_import, unicode_literals
import warnings
from operator import itemgetter
from mailmanclient.constants import (MISSING)
from mailmanclient.restobjects.address import Address
from mailmanclient.restobjects.ban import Bans, BannedAddress
from mailmanclient.restobjects.configuration import Configuration
from mailmanclient.restobjects.domain import Domain
from mailmanclient.restobjects.mailinglist import MailingList
from mailmanclient.restobjects.member import Member
from mailmanclient.restobjects.preferences import Preferences
from mailmanclient.restobjects.queue import Queue
from mailmanclient.restobjects.styles import Styles
from mailmanclient.restobjects.user import User
from mailmanclient.restobjects.templates import Template, TemplateList
from mailmanclient.restbase.connection import Connection
from mailmanclient.restbase.page import Page
__metaclass__ = type
__all__ = [
'Client'
]
#
# --- The following classes are part of the API
#
class Client:
"""Access the Mailman REST API root.
:param baseurl: The base url to access the Mailman 3 REST API.
:param name: The Basic Auth user name. If given, the `password` must
also be given.
:param password: The Basic Auth password. If given the `name` must
also be given.
"""
def __init__(self, baseurl, name=None, password=None):
"""Initialize client access to the REST API."""
self._connection = Connection(baseurl, name, password)
def __repr__(self):
return ''.format(
self._connection)
@property
def system(self):
"""Get the basic system information.
:returns: System information about Mailman Core
:rtype: Dict[str, str]
"""
return self._connection.call('system/versions')[1]
@property
def preferences(self):
"""Get all default system Preferences.
:returns: System preferences.
:rtype: :class:`Preferences`
"""
return Preferences(self._connection, 'system/preferences')
@property
def configuration(self):
"""Get the system configuration.
:returns: All the system configuration.
:rtype: Dict[str, :class:`Configuration`]
"""
response, content = self._connection.call('system/configuration')
return {section: Configuration(
self._connection, section) for section in content['sections']}
@property
def pipelines(self):
"""Get a list of all Pipelines.
:returns: A list of all the pipelines in Core.
:rtype: List
"""
response, content = self._connection.call('system/pipelines')
return content
@property
def chains(self):
"""Get a list of all the Chains.
:returns: A list of all the chains in Core.
:rtype: List
"""
response, content = self._connection.call('system/chains')
return content
@property
def queues(self):
"""Get a list of all Queues.
:returns: A list of all the queues in Core.
:rtype: List
"""
response, content = self._connection.call('queues')
queues = {}
for entry in content['entries']:
queues[entry['name']] = Queue(
self._connection, entry['self_link'], entry)
return queues
@property
def styles(self):
"""All the default styles in Mailman Core.
:returns: All the styles in Core.
:rtype: :class:`Styles`
"""
return Styles(self._connection, 'lists/styles')
@property
def lists(self):
"""Get a list of all MailingLists.
:returns: All the mailing lists.
:rtype: list(:class:`MailingList`)
"""
return self.get_lists()
def get_lists(self, advertised=False):
"""Get a list of all the MailingLists.
:param advertised: If marked True, returns all MailingLists including
the ones that aren't advertised.
:type advertised: bool
:returns: A list of mailing lists.
:rtype: List(:class:`MailingList`)
"""
url = 'lists'
if advertised:
url += '?advertised=true'
response, content = self._connection.call(url)
if 'entries' not in content:
return []
return [MailingList(self._connection, entry['self_link'], entry)
for entry in content['entries']]
def get_list_page(self, count=50, page=1, advertised=None):
"""Get a list of all MailingList with pagination.
:param count: Number of entries per-page (defaults to 50).
:param page: The page number to return (defaults to 1).
:param advertised: If marked True, returns all MailingLists including
the ones that aren't advertised.
"""
url = 'lists'
if advertised:
url += '?advertised=true'
return Page(self._connection, url, MailingList, count, page)
@property
def domains(self):
"""Get a list of all Domains.
:returns: All the domains on the system.
:rtype: List[:class:`Domain`]
"""
response, content = self._connection.call('domains')
if 'entries' not in content:
return []
return [Domain(self._connection, entry['self_link'])
for entry in sorted(content['entries'],
key=itemgetter('mail_host'))]
@property
def members(self):
"""Get a list of all the Members.
:returns: All the list memebrs.
:rtype: List[:class:`Member`]
"""
response, content = self._connection.call('members')
if 'entries' not in content:
return []
return [Member(self._connection, entry['self_link'], entry)
for entry in content['entries']]
def get_member(self, fqdn_listname, subscriber_address):
"""Get the Member object for a given MailingList and Subsciber's Email
Address.
:param str fqdn_listname: Fully qualified address for the MailingList.
:param str subscriber_address: Email Address for the subscriber.
:returns: A member of a list.
:rtype: :class:`Member`
"""
return self.get_list(fqdn_listname).get_member(subscriber_address)
def get_member_page(self, count=50, page=1):
"""Return a paginated list of Members.
:param int count: Number of items to return.
:param int page: The page number.
:returns: Paginated lists of members.
:rtype: :class:`Page` of :class:`Member`.
"""
return Page(self._connection, 'members', Member, count, page)
@property
def users(self):
"""Get all the users.
:returns: All the users in Mailman Core.
:rtype: List[:class:`User`]
"""
response, content = self._connection.call('users')
if 'entries' not in content:
return []
return [User(self._connection, entry['self_link'], entry)
for entry in sorted(content['entries'],
key=itemgetter('self_link'))]
def get_user_page(self, count=50, page=1):
"""Get all the users with pagination.
:param int count: Number of entries per-page (defaults to 50).
:param int page: The page number to return (defaults to 1).
:returns: Paginated list of users on Mailman.
:rtype: :class:`Page` of :class:`User`
"""
return Page(self._connection, 'users', User, count, page)
def create_domain(self, mail_host, base_url=MISSING,
description=None, owner=None, alias_domain=None):
"""Create a new Domain.
:param str mail_host: The Mail host for the new domain. If you want
foo@bar.com" as the address for your MailingList, use "bar.com"
here.
:param str description: A brief description for this Domain.
:param str owner: Email address for the owner of this list.
:param str alias_domain: Alias domain.
:returns: The created Domain.
:rtype: :class:`Domain`
"""
if base_url is not MISSING:
warnings.warn(
'The `base_url` parameter in the `create_domain()` method is '
'deprecated. It is not used any more and will be removed in '
'the future.', DeprecationWarning, stacklevel=2)
data = dict(mail_host=mail_host)
if description is not None:
data['description'] = description
if owner is not None:
data['owner'] = owner
if alias_domain is not None:
data['alias_domain'] = alias_domain
response, content = self._connection.call('domains', data)
return Domain(self._connection, response['location'])
def delete_domain(self, mail_host):
"""Delete a Domain.
:param str mail_host: The Mail host for the domain you want to delete.
"""
response, content = self._connection.call(
'domains/{0}'.format(mail_host), None, 'DELETE')
def get_domain(self, mail_host, web_host=MISSING):
"""Get Domain by its mail_host."""
if web_host is not MISSING:
warnings.warn(
'The `web_host` parameter in the `get_domain()` method is '
'deprecated. It is not used any more and will be removed in '
'the future.', DeprecationWarning, stacklevel=2)
response, content = self._connection.call(
'domains/{0}'.format(mail_host))
return Domain(self._connection, content['self_link'])
def create_user(self, email, password, display_name=''):
"""Create a new User.
:param str email: Email address for the new user.
:param str password: Password for the new user.
:param str display_name: An optional name for the new user.
:returns: The created user instance.
:rtype: :class:`User`
"""
response, content = self._connection.call(
'users', dict(email=email,
password=password,
display_name=display_name))
return User(self._connection, response['location'])
def get_user(self, address):
"""Given an Email Address, return the User it belongs to.
:param str address: Email Address of the User.
:returns: The user instance that owns the address.
:rtype: :class:`User`
"""
response, content = self._connection.call(
'users/{0}'.format(address))
return User(self._connection, content['self_link'], content)
def get_address(self, address):
"""Given an Email Address, return the Address object.
:param str address: Email address.
:returns: The Address object for given email address.
:rtype: :class:`Address`
"""
response, content = self._connection.call(
'addresses/{0}'.format(address))
return Address(self._connection, content['self_link'], content)
def get_list(self, fqdn_listname):
"""Get a MailingList object.
:param str fqdn_listname: Fully qualified name of the MailingList.
:returns: The mailing list object of the given fqdn_listname.
:rtype: :class:`MailingList`
"""
response, content = self._connection.call(
'lists/{0}'.format(fqdn_listname))
return MailingList(self._connection, content['self_link'], content)
def delete_list(self, fqdn_listname):
"""Delete a MailingList.
:param str fqdn_listname: Fully qualified name of the MailingList.
"""
response, content = self._connection.call(
'lists/{0}'.format(fqdn_listname), None, 'DELETE')
@property
def bans(self):
"""Get a list of all the bans.
:returns: A list of all the bans.
:rtype: :class:`Bans`
"""
return Bans(self._connection, 'bans', mlist=None)
def get_bans_page(self, count=50, page=1):
"""Get a list of all the bans with pagination.
:param int count: Number of entries per-page (defaults to 50).
:param int page: The page number to return (defaults to 1).
:returns: Paginated list of banned addresses.
:rtype: :class:`Page` of :class:`BannedAddress`
"""
return Page(self._connection, 'bans', BannedAddress, count, page)
@property
def templates(self):
"""Get all site-context templates.
:returns: List of templates for the site context.
:rtype: :class:`TemplateList`
"""
return TemplateList(self._connection, 'uris')
def get_templates_page(self, count=25, page=1):
"""Get paginated site-context templates.
:returns: Paginated list of templates of site context.
:rtype: :class:`Page` of :class:`Template`
"""
return Page(self._connection, 'uris', Template, count, page)
def set_template(self, template_name, url, username=None, password=None):
"""Set template in site-context.
:param str template_name: The template to set.
:param str url: The URL to fetch the template from.
:param str username: Username for access to the template.
:param str password: Password for the ``username`` to access templates.
"""
data = {template_name: url}
if username is not None and password is not None:
data['username'] = username
data['password'] = password
return self._connection.call('uris', data, 'PATCH')[1]
def find_lists(self, subscriber, role=None, count=50, page=1):
"""Given a subscriber and a role, return all the list they are subscribed
to with given role.
If no role is specified all the related mailing lists are returned
without duplicates, even though there can potentially be multiple
memberships of a user in a single mailing list.
:param str subscriber: The address of the subscriber.
:param str role: owner, moderator or subscriber
:returns: A filtered list of mailing lists with given filters.
:rtype: List[:class:`MailingList`]
"""
url = 'lists/find'
data = dict(subscriber=subscriber, count=count, page=page)
if role is not None:
data['role'] = role
response, content = self._connection.call(url, data)
if 'entries' not in content:
return []
return [MailingList(self._connection, entry['self_link'], entry)
for entry in content['entries']]
mailmanclient-3.2.2/src/mailmanclient/conftest.py 0000664 0001750 0001750 00000003066 13413656572 023277 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2017-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailman.client.
#
# mailman.client is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailman.client is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailman.client. If not, see .
"""Testing utilities."""
import pytest
import subprocess
import socket
from contextlib import closing
def check_core():
with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as sock:
if sock.connect_ex(('localhost', 9001)) == 0:
return True
else:
return False
@pytest.fixture(scope='module', autouse=True)
def mailman_core(request, watcher_getter):
"""Mailman Core instance which is ready to be used by the tests"""
def teardown_core():
print('Stopping Mailman Server')
subprocess.run(['mailman', 'stop'])
subprocess.run(['rm', '-rf', 'var/'])
request.addfinalizer(teardown_core)
print('Starting Mailman Server')
return watcher_getter(
name='master',
arguments=['-C', 'mailman_test.cfg'],
checker=check_core,
request=request,
)
mailmanclient-3.2.2/src/mailmanclient/constants.py 0000664 0001750 0001750 00000001425 13413671033 023450 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
# mailmanclient is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailmanclient is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailmanclient. If not, see .
__version__ = '3.2.2'
DEFAULT_PAGE_ITEM_COUNT = 50
MISSING = object()
mailmanclient-3.2.2/src/mailmanclient/docs/ 0000775 0001750 0001750 00000000000 13427703737 022024 5 ustar maxking maxking 0000000 0000000 mailmanclient-3.2.2/src/mailmanclient/docs/NEWS.rst 0000664 0001750 0001750 00000004655 13427702456 023341 0 ustar maxking maxking 0000000 0000000 =======================
NEWS for mailmanclient
=======================
3.2.2 (2019-02-09)
==================
3.2.1 (2019-01-04)
==================
* Add support for Python 3.7
* Add ``description`` as a property of ``MailingList``. Initially, this was a
part of ``Preferences`` object, which would mean an additional API call to get
the description of a Mailing List. (Closes #35)
* ``MailingList.get_members`` no longer requires ``address`` as a mandatory
argument which allows searching for all memberships of of a particular role.
Also, ``role`` no longer has a default argument, so that we can search for
all memberships of an address.
3.2.0 (2018-07-10)
==================
Changes
-------
* Add '.pc' (patch directory) to list of ignored patterns when building the
documentation with Sphinx.
* `Mailinglist.add_owner` and `Mailinglist.add_moderator` now accept an
additional `display_name` argument that allows associating display names with
these memberships.
* Add a new API ``Client.find_lists`` which allows filtering mailing lists
related to a subscriber. It optionally allows a role, which filters the lists
that the address is subscribed to with that role.
Backwards Incompatible Changes
-------------------------------
* `MailingList.owners` and `MailingList.moderators` now returns a list of
`Member` objects instead of a list of emails.
* `Domain.owners` now returns a list of `User` objects instead of just a dictionary of
JSON response. (!63)
* Python 2.7 is no longer supported.
3.1.1 (2017-10-07)
==================
* Python3 compatibility is fixed, mailmanclient is now compatible through Python2.7 - Python3.6
* Internal source code is now split into several class-specific modules as
compared to previously a single giant _client module.
* All the RestObjects, like MailingList, are now exposed from the top level import.
* Old `mailmanclient._client` module is added back for compatibility with
versions of Postorius that use some internal APIs.
3.1 (2017-05-25)
================
* Bug fixes.
* Align with Mailman 3.1 Core REST API.
* Python3 compatibility is broken because of a urllib bug.
1.0.1 (2015-11-14)
==================
* Bugfix release.
1.0.0 (2015-04-17)
==================
* Port to Python 3.4.
* Run test suite with `tox`.
* Use vcrpy for HTTP testing.
* Add list archiver access.
* Add subscription moderation
1.0.0a1 (2014-03-15)
====================
* Initial release.
mailmanclient-3.2.2/src/mailmanclient/docs/__init__.py 0000664 0001750 0001750 00000000000 13413656045 024115 0 ustar maxking maxking 0000000 0000000 mailmanclient-3.2.2/src/mailmanclient/docs/apiref.rst 0000664 0001750 0001750 00000002320 13413656045 024013 0 ustar maxking maxking 0000000 0000000 =============
API Reference
=============
.. autoclass:: mailmanclient.Client
:members:
:undoc-members:
:private-members:
:inherited-members:
.. autoclass:: mailmanclient.Domain
:members:
:undoc-members:
.. autoclass:: mailmanclient.MailingList
:members:
:undoc-members:
.. autoclass:: mailmanclient.ListArchivers
:members:
:undoc-members:
.. autoclass:: mailmanclient.Bans
:members:
:undoc-members:
.. autoclass:: mailmanclient.BannedAddress
:members:
:undoc-members:
.. autoclass:: mailmanclient.HeaderMatches
:members:
:undoc-members:
.. autoclass:: mailmanclient.HeaderMatch
:members:
:undoc-members:
.. autoclass:: mailmanclient.Member
:members:
:undoc-members:
.. autoclass:: mailmanclient.User
:members:
:undoc-members:
.. autoclass:: mailmanclient.Addresses
:members:
:undoc-members:
.. autoclass:: mailmanclient.Address
:members:
:undoc-members:
.. autoclass:: mailmanclient.HeldMessage
:members:
:undoc-members:
.. autoclass:: mailmanclient.Preferences
:members:
:undoc-members:
.. autoclass:: mailmanclient.Settings
:members:
:undoc-members:
.. autoclass:: mailmanclient.Queue
:members:
:undoc-members:
mailmanclient-3.2.2/src/mailmanclient/docs/conftest.py 0000664 0001750 0001750 00000002422 13413656572 024222 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2017-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
# mailmanclient is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailmanclient is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailmanclient. If not, see .
"""Wrappers for doctests to run with pytest"""
from __future__ import absolute_import, print_function, unicode_literals
import pytest
from mailmanclient.testing.documentation import dump
def pytest_collection_modifyitems(items):
for item in items:
item.add_marker(pytest.mark.vcr)
@pytest.fixture(autouse=True)
def import_stuff(doctest_namespace):
doctest_namespace['absolute_import'] = absolute_import
doctest_namespace['print_function'] = print_function
doctest_namespace['unicode_literals'] = unicode_literals
doctest_namespace['dump'] = dump
mailmanclient-3.2.2/src/mailmanclient/docs/testing.rst 0000664 0001750 0001750 00000001536 13413656045 024232 0 ustar maxking maxking 0000000 0000000 ========================
Developing MailmanClient
========================
Running Tests
=============
The test suite is run with the `tox`_ tool, which allows it to be run against
multiple versions of Python. The tests are discovered and run using `pytest`_.
To run the test suite, run::
$ tox
To run tests for only one version of Python, you can run::
$ tox -e py36
``pytest`` starts Mailman Core using ``pytest-services`` plugin and
automatically manages it's start and stop cycle for every module.
.. note:: Previously, we used ``vcrpy`` and ``pytest-vcr`` packages to manage
recorded tapes for interaction with Mailman Core. That was replaced
with ``pytest-services`` plugin, which instead start Core for every
test.
.. _`tox`: https://testrun.org/tox/latest/
.. _`pytest`: https://docs.pytest.org/en/latest/
mailmanclient-3.2.2/src/mailmanclient/docs/using.rst 0000644 0001750 0001750 00000104663 13413656045 023705 0 ustar maxking maxking 0000000 0000000 =============
Example Usage
=============
This is the official Python bindings for the GNU Mailman REST API. In order
to talk to Mailman, the engine's REST server must be running. You begin by
instantiating a client object to access the root of the REST hierarchy,
providing it the base URL, user name and password (for Basic Auth).
>>> from mailmanclient import Client
>>> client = Client('http://localhost:9001/3.1', 'restadmin', 'restpass')
.. note::
Please note that port '9001' is used above, since mailman's test server
runs on port *9001*. In production Mailman's REST API usually listens on
port *8001*.
We can retrieve basic information about the server.
>>> dump(client.system)
api_version: 3.1
http_etag: "..."
mailman_version: GNU Mailman ... (...)
python_version: ...
self_link: http://localhost:9001/3.1/system/versions
To start with, there are no known mailing lists.
>>> client.lists
[]
Domains
=======
Before new mailing lists can be added, the domain that the list will live in
must be added. By default, there are no known domains.
>>> client.domains
[]
It's easy to create a new domain; when you do, a proxy object for that domain
is returned.
>>> example_dot_com = client.create_domain('example.com')
>>> print(example_dot_com.description)
None
>>> print(example_dot_com.mail_host)
example.com
>>> print(example_dot_com.alias_domain)
None
A domain can have an alias_domain attribute to help with some unusual Postfix
configurations.
>>> example_dot_edu = client.create_domain('example.edu',
... alias_domain='x.example.edu')
>>> print(example_dot_edu.mail_host)
example.edu
>>> print(example_dot_edu.alias_domain)
x.example.edu
You can also get an existing domain independently using its mail host.
>>> example = client.get_domain('example.com')
>>> print(example.mail_host)
example.com
After creating a few more domains, we can print the list of all domains.
>>> example_net = client.create_domain('example.net')
>>> example_org = client.create_domain('example.org')
>>> print(example_org.mail_host)
example.org
>>> for domain in client.domains:
... print(domain.mail_host)
example.com
example.edu
example.net
example.org
Also, domain can be deleted.
>>> example_org.delete()
>>> for domain in client.domains:
... print(domain.mail_host)
example.com
example.edu
example.net
Mailing lists
=============
Once you have a domain, you can create mailing lists in that domain.
>>> test_one = example.create_list('test-1')
>>> print(test_one.fqdn_listname)
test-1@example.com
>>> print(test_one.mail_host)
example.com
>>> print(test_one.list_name)
test-1
>>> print(test_one.display_name)
Test-1
You can create a mailing list with a specific list style.
>>> test_two = example.create_list('test-announce', style_name='legacy-announce')
>>> print(test_two.fqdn_listname)
test-announce@example.com
You can retrieve a list of known mailing list styles along with the default
one.
>>> styles = client.styles
>>> from operator import itemgetter
>>> for style in sorted(styles['styles'], key=itemgetter('name')):
... print('{0}: {1}'.format(style['name'], style['description']))
legacy-announce: Announce only mailing list style.
legacy-default: Ordinary discussion mailing list style.
private-default: Discussion mailing list style with private archives.
>>> print(styles['default'])
legacy-default
You can also retrieve the mailing list after the fact.
>>> my_list = client.get_list('test-1@example.com')
>>> print(my_list.fqdn_listname)
test-1@example.com
And you can print all the known mailing lists.
::
>>> print(example.create_list('test-2').fqdn_listname)
test-2@example.com
>>> domain = client.get_domain('example.net')
>>> print(domain.create_list('test-3').fqdn_listname)
test-3@example.net
>>> print(example.create_list('test-3').fqdn_listname)
test-3@example.com
>>> for mlist in client.lists:
... print(mlist.fqdn_listname)
test-1@example.com
test-2@example.com
test-3@example.com
test-3@example.net
test-announce@example.com
You can also select advertised lists only.
::
>>> my_list.settings['advertised'] = False
>>> my_list.settings.save()
>>> for mlist in client.get_lists(advertised=True):
... print(mlist.fqdn_listname)
test-2@example.com
test-3@example.com
test-3@example.net
test-announce@example.com
List results can be retrieved as pages:
>>> page = client.get_list_page(count=2, page=1)
>>> page.nr
1
>>> len(page)
2
>>> page.total_size
5
>>> for m_list in page:
... print(m_list.fqdn_listname)
test-1@example.com
test-2@example.com
>>> page = page.next
>>> page.nr
2
>>> for m_list in page:
... print(m_list.fqdn_listname)
test-3@example.com
test-3@example.net
Pages can also use the advertised filter:
>>> page = client.get_list_page(count=2, page=1, advertised=True)
>>> for m_list in page:
... print(m_list.fqdn_listname)
test-2@example.com
test-3@example.com
If you only want to know all lists for a specific domain, use the domain
object.
>>> for mlist in example.lists:
... print(mlist.fqdn_listname)
test-1@example.com
test-2@example.com
test-3@example.com
test-announce@example.com
It is also possible to display only advertised lists when using the domain.
>>> for mlist in example.get_lists(advertised=True):
... print(mlist.fqdn_listname)
test-2@example.com
test-3@example.com
test-announce@example.com
>>> for mlist in example.get_list_page(count=2, page=1, advertised=True):
... print(mlist.fqdn_listname)
test-2@example.com
test-3@example.com
You can use a list instance to delete the list.
>>> test_three = client.get_list('test-3@example.net')
>>> test_three.delete()
You can also delete a list using the client instance's delete_list method.
>>> client.delete_list('test-3@example.com')
>>> for mlist in client.lists:
... print(mlist.fqdn_listname)
test-1@example.com
test-2@example.com
test-announce@example.com
Membership
==========
Email addresses can subscribe to existing mailing lists, becoming members of
that list. The address is a unique id for a specific user in the system, and
a member is a user that is subscribed to a mailing list. Email addresses need
not be pre-registered, though the auto-registered user will be unique for each
email address.
The system starts out with no members.
>>> client.members
[]
New members can be easily added; users are automatically registered.
::
>>> test_two = client.get_list('test-2@example.com')
>>> print(test_two.settings['subscription_policy'])
confirm
Email addresses need to be verified first, so if we try to subscribe a
user, we get a response with a token:
>>> data = test_one.subscribe('unverified@example.com', 'Unverified')
>>> data['token'] is not None
True
>>> print(data['token_owner'])
subscriber
If we know the email address to be valid, we can set the
``pre_verified`` flag. However, the list's subscription policy is
"confirm", so if we try to subscribe a user, we will also get a token
back:
>>> data = test_one.subscribe('unconfirmed@example.com',
... 'Unconfirmed',
... pre_verified=True)
>>> data['token'] is not None
True
>>> print(data['token_owner'])
subscriber
If we know the user originated the subscription (for example if she or
he has been authenticated elsewhere), we can set the ``pre_confirmed``
flag.
The ``pre_approved`` flag is used for lists that require moderator
approval and should only be used if the subscription is initiated by a
moderator or admin.
>>> print(test_one.subscribe('anna@example.com', 'Anna',
... pre_verified=True,
... pre_confirmed=True))
Member "anna@example.com" on "test-1.example.com"
>>> print(test_one.subscribe('bill@example.com', 'Bill',
... pre_verified=True,
... pre_confirmed=True))
Member "bill@example.com" on "test-1.example.com"
>>> print(test_two.subscribe('anna@example.com',
... pre_verified=True,
... pre_confirmed=True))
Member "anna@example.com" on "test-2.example.com"
>>> print(test_two.subscribe('cris@example.com', 'Cris',
... pre_verified=True,
... pre_confirmed=True))
Member "cris@example.com" on "test-2.example.com"
We can retrieve all known memberships. These are sorted first by mailing list
name, then by email address.
>>> for member in client.members:
... print(member)
Member "anna@example.com" on "test-1.example.com"
Member "bill@example.com" on "test-1.example.com"
Member "anna@example.com" on "test-2.example.com"
Member "cris@example.com" on "test-2.example.com"
We can also view the memberships for a single mailing list.
>>> for member in test_one.members:
... print(member)
Member "anna@example.com" on "test-1.example.com"
Member "bill@example.com" on "test-1.example.com"
Membership may have a name associated, this depends on whether the member ``Address``
or ``User`` has a ``display_name`` attribute.
>>> for member in test_one.members:
... print(member.display_name)
Anna
Bill
Membership lists can be paginated, to recieve only a part of the result.
>>> page = client.get_member_page(count=2, page=1)
>>> page.nr
1
>>> page.total_size
4
>>> for member in page:
... print(member)
Member "anna@example.com" on "test-1.example.com"
Member "bill@example.com" on "test-1.example.com"
>>> page = page.next
>>> page.nr
2
>>> for member in page:
... print(member)
Member "anna@example.com" on "test-2.example.com"
Member "cris@example.com" on "test-2.example.com"
>>> page = test_one.get_member_page(count=1, page=1)
>>> page.nr
1
>>> page.total_size
2
>>> for member in page:
... print(member)
Member "anna@example.com" on "test-1.example.com"
>>> page = page.next
>>> page.nr
2
>>> page.total_size
2
>>> for member in page:
... print(member)
Member "bill@example.com" on "test-1.example.com"
We can get a single membership too.
>>> cris_test_two = test_two.get_member('cris@example.com')
>>> print(cris_test_two)
Member "cris@example.com" on "test-2.example.com"
>>> print(cris_test_two.role)
member
>>> print(cris_test_two.display_name)
Cris
A membership can also be retrieved without instantiating the list object first:
>>> print(client.get_member('test-2@example.com', 'cris@example.com'))
Member "cris@example.com" on "test-2.example.com"
A membership has preferences.
>>> prefs = cris_test_two.preferences
>>> print(prefs['delivery_mode'])
None
>>> print(prefs['acknowledge_posts'])
None
>>> print(prefs['delivery_status'])
None
>>> print(prefs['hide_address'])
None
>>> print(prefs['preferred_language'])
None
>>> print(prefs['receive_list_copy'])
None
>>> print(prefs['receive_own_postings'])
None
The membership object's ``user`` attribute will return a User object:
>>> cris_u = cris_test_two.user
>>> print(cris_u.display_name, cris_u.user_id)
Cris ...
If you use an address which is not a member of test_two `ValueError` is raised:
>>> test_two.unsubscribe('nomember@example.com')
Traceback (most recent call last):
...
ValueError: nomember@example.com is not a member address of test-2@example.com
After a while, Anna decides to unsubscribe from the Test One mailing list,
though she keeps her Test Two membership active.
>>> import time
>>> time.sleep(2)
>>> test_one.unsubscribe('anna@example.com')
>>> for member in client.members:
... print(member)
Member "bill@example.com" on "test-1.example.com"
Member "anna@example.com" on "test-2.example.com"
Member "cris@example.com" on "test-2.example.com"
A little later, Cris decides to unsubscribe from the Test Two mailing list.
>>> cris_test_two.unsubscribe()
>>> for member in client.members:
... print(member)
Member "bill@example.com" on "test-1.example.com"
Member "anna@example.com" on "test-2.example.com"
If you try to unsubscribe an address which is not a member address
`ValueError` is raised:
>>> test_one.unsubscribe('nomember@example.com')
Traceback (most recent call last):
...
ValueError: nomember@example.com is not a member address of test-1@example.com
Non-Members
===========
When someone attempts to post to a list but is not a member, then they are
listed as a "non-member" of that list so that a moderator can choose how to
handle their messages going forward. In some cases, one might wish to
accept or reject their future messages automatically. Just like with regular
members, they are given a unique id.
The list starts out with no nonmembers.
>>> test_one.nonmembers
[]
When someone tries to send a message to the list and they are not a
subscriber, they get added to the nonmember list.
Users
=====
Users are people with one or more list memberships. To get a list of all users,
access the clients user property.
>>> for user in client.users:
... print(user.display_name)
Unverified
Unconfirmed
Anna
Bill
Cris
The list of users can also be paginated:
>>> page = client.get_user_page(count=4, page=1)
>>> page.nr
1
>>> page.total_size
5
>>> for user in page:
... print(user.display_name)
Unverified
Unconfirmed
Anna
Bill
You can get the next or previous pages without calling ``get_userpage`` again.
>>> page = page.next
>>> page.nr
2
>>> for user in page:
... print(user.display_name)
Cris
>>> page = page.previous
>>> page.nr
1
>>> for user in page:
... print(user.display_name)
Unverified
Unconfirmed
Anna
Bill
A single user can be retrieved using their email address.
>>> cris = client.get_user('cris@example.com')
>>> print(cris.display_name)
Cris
Every user has a list of one or more addresses.
>>> for address in cris.addresses:
... print(address)
... print(address.display_name)
... print(address.registered_on)
cris@example.com
Cris
...
Multiple addresses can be assigned to a user record:
>>> print(cris.add_address('cris.person@example.org'))
cris.person@example.org
>>> print(client.get_address('cris.person@example.org'))
cris.person@example.org
>>> for address in cris.addresses:
... print(address)
cris.person@example.org
cris@example.com
Trying to add an existing address will raise an error:
>>> dana = client.create_user(email='dana@example.org',
... password='somepass',
... display_name='Dana')
>>> print(dana.display_name)
Dana
>>> cris.add_address('dana@example.org') # doctest: +IGNORE_EXCEPTION_DETAIL
Traceback (most recent call last):
...
HTTPError: HTTP Error 400: Address already exists
This can be overridden by using the ``absorb_existing`` flag:
>>> print(cris.add_address('dana@example.org', absorb_existing=True))
dana@example.org
The user Chris will then be merged with Dana, acquiring all its subscriptions
and preferences. In case of conflict, Chris' original preferences will prevail.
>>> for address in cris.addresses:
... print(address)
cris.person@example.org
cris@example.com
dana@example.org
Addresses
=========
Addresses can be accessed directly:
>>> address = client.get_address('dana@example.org')
>>> print(address)
dana@example.org
>>> print(address.display_name)
Dana
The address has not been verified:
>>> print(address.verified)
False
But that can be done via the address object:
>>> address.verify()
>>> print(address.verified)
True
It can also be unverified:
>>> address.unverify()
>>> print(address.verified)
False
Addresses can be deleted by calling their ``delete()`` method or by removing
them from their user's ``addresses`` list:
>>> cris.addresses.remove('dana@example.org')
>>> for address in cris.addresses:
... print(address)
cris.person@example.org
cris@example.com
Users can be added using ``create_user``. The display_name is optional:
>>> ler = client.create_user(email='ler@primus.org',
... password='somepass',
... display_name='Ler')
>>> print(ler.display_name)
Ler
>>> ler = client.get_user('ler@primus.org')
>>> print(ler.password)
$...
>>> print(ler.display_name)
Ler
User attributes can be changed through assignment, but you need to call the
object's ``save`` method to store the changes in the mailman core database.
>>> ler.display_name = 'Sir Ler'
>>> ler.save()
>>> ler = client.get_user('ler@primus.org')
>>> print(ler.display_name)
Sir Ler
Passwords can be changed as well:
>>> old_pwd = ler.password
>>> ler.password = 'easy'
>>> old_pwd == ler.password
True
>>> ler.save()
>>> old_pwd == ler.password
False
User Subscriptions
------------------
A User's subscriptions can be access through their ``subscriptions`` property.
>>> bill = client.get_user('bill@example.com')
>>> for subscription in bill.subscriptions:
... print(subscription)
Member "bill@example.com" on "test-1.example.com"
If all you need are the list ids of all mailing lists a user is subscribed to,
you can use the ``subscription_list_ids`` property.
>>> for list_id in bill.subscription_list_ids:
... print(list_id)
test-1.example.com
List Settings
=============
We can get all list settings via a lists settings attribute. A proxy object
for the settings is returned which behaves much like a dictionary.
>>> settings = test_one.settings
>>> len(settings)
59
>>> for attr in sorted(settings):
... print(attr + ': ' + str(settings[attr]))
acceptable_aliases: []
...
volume: 1
>>> print(settings['display_name'])
Test-1
We can access all valid list settings as attributes.
>>> print(settings['fqdn_listname'])
test-1@example.com
>>> print(settings['description'])
>>> settings['description'] = 'A very meaningful description.'
>>> settings['display_name'] = 'Test Numero Uno'
>>> settings.save()
>>> settings_new = test_one.settings
>>> print(settings_new['description'])
A very meaningful description.
>>> print(settings_new['display_name'])
Test Numero Uno
The settings object also supports the `get` method of usual Python
dictionaries:
>>> print(settings_new.get('OhNoIForgotTheKey',
... 'HowGoodIPlacedOneUnderTheDoormat'))
HowGoodIPlacedOneUnderTheDoormat
Preferences
===========
Preferences can be accessed and set for users, members and addresses.
By default, preferences are not set and fall back to the global system
preferences. They're read-only and can be accessed through the client object.
>>> global_prefs = client.preferences
>>> print(global_prefs['acknowledge_posts'])
False
>>> print(global_prefs['delivery_mode'])
regular
>>> print(global_prefs['delivery_status'])
enabled
>>> print(global_prefs['hide_address'])
True
>>> print(global_prefs['preferred_language'])
en
>>> print(global_prefs['receive_list_copy'])
True
>>> print(global_prefs['receive_own_postings'])
True
Preferences can be set, but you have to call ``save`` to make your changes
permanent.
>>> prefs = test_two.get_member('anna@example.com').preferences
>>> prefs['delivery_status'] = 'by_user'
>>> prefs.save()
>>> prefs = test_two.get_member('anna@example.com').preferences
>>> print(prefs['delivery_status'])
by_user
Pipelines and Chains
====================
The available pipelines and chains can also be retrieved:
>>> pipelines = client.pipelines['pipelines']
>>> for pipeline in pipelines:
... print(pipeline)
default-owner-pipeline
default-posting-pipeline
virgin
>>> chains = client.chains['chains']
>>> for chain in chains:
... print(chain)
accept
default-owner-chain
default-posting-chain
discard
dmarc
header-match
hold
moderation
reject
Owners and Moderators
=====================
Owners and moderators are properties of the list object.
>>> test_one.owners
[]
>>> test_one.moderators
[]
Owners can be added via the ``add_owner`` method and they can have an optional
``display_name`` associated like other ``members``:
>>> test_one.add_owner('foo@example.com', display_name='Foo')
>>> for owner in test_one.owners:
... print(owner.email)
foo@example.com
The owner of the list not automatically added as a member:
>>> for m in test_one.members:
... print(m)
Member "bill@example.com" on "test-1.example.com"
Moderators can be added similarly:
>>> test_one.add_moderator('bar@example.com', display_name='Bar')
>>> for moderator in test_one.moderators:
... print(moderator.email)
bar@example.com
Moderators are also not automatically added as members:
>>> for m in test_one.members:
... print(m)
Member "bill@example.com" on "test-1.example.com"
Members and owners/moderators are separate entries in in the general members
list:
>>> print(test_one.subscribe('bar@example.com', 'Bar',
... pre_verified=True,
... pre_confirmed=True))
Member "bar@example.com" on "test-1.example.com"
>>> for member in client.members:
... print('%s: %s' % (member, member.role))
Member "foo@example.com" on "test-1.example.com": owner
Member "bar@example.com" on "test-1.example.com": moderator
Member "bar@example.com" on "test-1.example.com": member
Member "bill@example.com" on "test-1.example.com": member
Member "anna@example.com" on "test-2.example.com": member
Both owners and moderators can be removed:
>>> test_one.remove_owner('foo@example.com')
>>> test_one.owners
[]
test_one.remove_moderator('bar@example.com')
test_one.moderators
[]
Moderation
==========
Subscription Moderation
-----------------------
Subscription requests can be accessed through the list object's
`request` property. So let's create a non-open list first.
>>> confirm_first = example_dot_com.create_list('confirm-first')
>>> settings = confirm_first.settings
>>> settings['subscription_policy'] = 'moderate'
>>> settings.save()
>>> confirm_first = client.get_list('confirm-first.example.com')
>>> print(confirm_first.settings['subscription_policy'])
moderate
Initially there are no requests, so let's to subscribe someone to the
list. We'll get a token back.
>>> confirm_first.requests
[]
>>> data = confirm_first.subscribe('groucho@example.com',
... pre_verified=True,
... pre_confirmed=True)
>>> print(data['token_owner'])
moderator
Now the request shows up in the list of requests:
>>> import time; time.sleep(5)
>>> len(confirm_first.requests)
1
>>> request_1 = confirm_first.requests[0]
>>> print(request_1['email'])
groucho@example.com
>>> print (request_1['token'] is not None)
True
>>> print(request_1['token_owner'])
moderator
>>> print(request_1['request_date'] is not None)
True
>>> print(request_1['list_id'])
confirm-first.example.com
Subscription requests can be accepted, deferred, rejected or
discarded using the request token.
>>> data = confirm_first.subscribe('harpo@example.com',
... pre_verified=True,
... pre_confirmed=True)
>>> data = confirm_first.subscribe('zeppo@example.com',
... pre_verified=True,
... pre_confirmed=True)
>>> len(confirm_first.requests)
3
Let's accept Groucho:
>>> response = confirm_first.moderate_request(request_1['token'], 'accept')
>>> len(confirm_first.requests)
2
>>> request_2 = confirm_first.requests[0]
>>> print(request_2['email'])
harpo@example.com
>>> request_3 = confirm_first.requests[1]
>>> print(request_3['email'])
zeppo@example.com
Let's reject Harpo:
>>> response = confirm_first.moderate_request(request_2['token'], 'reject')
>>> len(confirm_first.requests)
1
Let's discard Zeppo's request:
>>> response = confirm_first.moderate_request(request_3['token'], 'discard')
>>> len(confirm_first.requests)
0
Message Moderation
------------------
By injecting a message by a non-member into the incoming queue, we can
simulate a message being held for moderator approval.
>>> msg = """From: nomember@example.com
... To: test-1@example.com
... Subject: Something
... Message-ID:
...
... Some text.
...
... """
>>> inq = client.queues['in']
>>> inq.inject('test-1.example.com', msg)
Now wait until the message has been processed.
>>> while True:
... if len(inq.files) == 0:
... break
... time.sleep(0.1)
It might take a few moments for the message to show up in the moderation
queue.
>>> while True:
... all_held = test_one.held
... if len(all_held) > 0:
... break
... time.sleep(0.1)
Messages held for moderation can be listed on a per list basis.
>>> print(all_held[0].request_id)
1
A held message can be retrieved by ID, and have attributes:
>>> heldmsg = test_one.get_held_message(1)
>>> print(heldmsg.subject)
Something
>>> print(heldmsg.reason)
The message is not from a list member
>>> print(heldmsg.sender)
nomember@example.com
>>> 'Message-ID: ' in heldmsg.msg
True
A moderation action can be taken on them using the list methods or the held
message's methods.
>>> print(test_one.defer_message(heldmsg.request_id)['status'])
204
>>> len(test_one.held)
1
>>> print(heldmsg.discard()['status'])
204
>>> len(test_one.held)
0
Member moderation
-----------------
Each member or non-member can have a specific moderation action. It is set
using the 'moderation_action' property:
>>> bill_member = test_one.get_member('bill@example.com')
>>> print(bill_member.moderation_action)
None
>>> bill_member.moderation_action = 'hold'
>>> bill_member.save()
>>> print(test_one.get_member('bill@example.com').moderation_action)
hold
Banning addresses
-----------------
A ban list is a list of email addresses that are not allowed to subscribe to a
mailing-list. There are two types of ban lists: each mailing-list has its ban
list, and there is a site-wide list. Addresses on the site-wide list are
prevented from subscribing to every mailing-list on the server.
To view the site-wide ban list, use the `bans` property::
>>> list(client.bans)
[]
You can use the `add` method on the ban list to ban an email address::
>>> banned_anna = client.bans.add('anna@example.com')
>>> print(banned_anna)
anna@example.com
>>> 'anna@example.com' in client.bans
True
>>> print(client.bans.add('bill@example.com'))
bill@example.com
>>> for addr in list(client.bans):
... print(addr)
anna@example.com
bill@example.com
The list of banned addresses can be paginated using the ``get_bans_page()``
method::
>>> for addr in list(client.get_bans_page(count=1, page=1)):
... print(addr)
anna@example.com
>>> for addr in list(client.get_bans_page(count=1, page=2)):
... print(addr)
bill@example.com
You can use the ``delete()`` method on a banned address to unban it, or the
``remove()`` method on the ban list::
>>> banned_anna.delete()
>>> 'anna@example.com' in client.bans
False
>>> for addr in list(client.bans):
... print(addr)
bill@example.com
>>> client.bans.remove('bill@example.com')
>>> 'bill@example.com' in client.bans
False
>>> print(list(client.bans))
[]
The mailing-list-specific ban lists work in the same way::
>>> print(list(test_one.bans))
[]
>>> banned_anna = test_one.bans.add('anna@example.com')
>>> 'anna@example.com' in test_one.bans
True
>>> print(test_one.bans.add('bill@example.com'))
bill@example.com
>>> for addr in list(test_one.bans):
... print(addr)
anna@example.com
bill@example.com
>>> for addr in list(test_one.get_bans_page(count=1, page=1)):
... print(addr)
anna@example.com
>>> for addr in list(test_one.get_bans_page(count=1, page=2)):
... print(addr)
bill@example.com
>>> banned_anna.delete()
>>> 'anna@example.com' in test_one.bans
False
>>> test_one.bans.remove('bill@example.com')
>>> print(list(test_one.bans))
[]
Archivers
=========
Each list object has an ``archivers`` attribute.
>>> archivers = test_one.archivers
>>> print(archivers)
Archivers on test-1.example.com
The activation status of each available archiver can be accessed like a
key in a dictionary.
>>> archivers = test_one.archivers
>>> for archiver in sorted(archivers.keys()):
... print('{0}: {1}'.format(archiver, archivers[archiver]))
mail-archive: True
mhonarc: True
prototype: True
>>> archivers['mail-archive']
True
>>> archivers['mhonarc']
True
They can also be set like items in dictionary.
>>> archivers['mail-archive'] = False
>>> archivers['mhonarc'] = False
So if we get a new ``archivers`` object from the API (by accessing the
list's archiver attribute again), we can see that the archiver stati
have now been set.
>>> archivers = test_one.archivers
>>> archivers['mail-archive']
False
>>> archivers['mhonarc']
False
Header matches
==============
Header matches are filtering rules that apply to messages sent to a mailing
list. They match a header to a pattern using a regular expression, and matching
patterns can trigger specific moderation actions. They are accessible via the
mailing list's ``header_matches`` attribute, which behaves like a list.
>>> header_matches = test_one.header_matches
>>> print(header_matches)
Header matches for "test-1.example.com"
>>> len(header_matches)
0
Header matches can be added using the ``add()`` method. The arguments are:
- the header to consider (``str``). Il will be lower-cased.
- the regular expression to use for filtering (``str``)
- the action to take when the header matches the pattern. This can be
``'accept'``, ``'discard'``, ``'reject'``, or ``'hold'``.
>>> print(header_matches.add('Subject', '^test: ', 'discard'))
Header match on "subject"
>>> print(header_matches)
Header matches for "test-1.example.com"
>>> len(header_matches)
1
>>> for hm in list(header_matches):
... print(hm)
Header match on "subject"
You can delete a header match by deleting it from the ``header_matches``
collection.
>>> del header_matches[0]
>>> len(header_matches)
0
You can also delete a header match using its ``delete()`` method, but be aware
that the collection will not automatically be updated. Get a new collection
from the list's ``header_matches`` attribute to see the change.
>>> print(header_matches.add('Subject', '^test: ', 'discard'))
Header match on "subject"
>>> header_matches[0].delete()
>>> len(header_matches) # not automatically updated
1
>>> len(test_one.header_matches)
0
Configuration
=============
Mailman Core exposes all its configuration through REST API. All these
configuration options are read-only.
>>> cfg = client.configuration
>>> for key in sorted(cfg):
... print(cfg[key].name)
antispam
archiver.mail_archive
archiver.master
archiver.mhonarc
archiver.prototype
bounces
database
devmode
digests
dmarc
language.ar
language.ast
language.ca
language.cs
language.da
language.de
language.el
language.en
language.es
language.et
language.eu
language.fi
language.fr
language.gl
language.he
language.hr
language.hu
language.ia
language.it
language.ja
language.ko
language.lt
language.nl
language.no
language.pl
language.pt
language.pt_BR
language.ro
language.ru
language.sk
language.sl
language.sr
language.sv
language.tr
language.uk
language.vi
language.zh_CN
language.zh_TW
logging.archiver
logging.bounce
logging.config
logging.database
logging.debug
logging.error
logging.fromusenet
logging.http
logging.locks
logging.mischief
logging.plugins
logging.root
logging.runner
logging.smtp
logging.subscribe
logging.vette
mailman
mta
nntp
passwords
paths.dev
paths.fhs
paths.here
paths.local
plugin.master
runner.archive
runner.bad
runner.bounces
runner.command
runner.digest
runner.in
runner.lmtp
runner.nntp
runner.out
runner.pipeline
runner.rest
runner.retry
runner.shunt
runner.virgin
shell
styles
webservice
Each configuration object is a dictionary and you can iterate over them:
>>> for key in sorted(cfg['mailman']):
... print('{} : {}'.format(key, cfg['mailman'][key]))
cache_life : 7d
default_language : en
email_commands_max_lines : 10
filtered_messages_are_preservable : no
html_to_plain_text_command : /usr/bin/lynx -dump $filename
layout : here
listname_chars : [-_.0-9a-z]
noreply_address : noreply
pending_request_life : 3d
post_hook :
pre_hook :
self_link : http://localhost:9001/3.1/system/configuration/mailman
sender_headers : from from_ reply-to sender
site_owner : changeme@example.com
.. >>> for domain in client.domains:
... domain.delete()
>>> for user in client.users:
... user.delete()
mailmanclient-3.2.2/src/mailmanclient/restbase/ 0000775 0001750 0001750 00000000000 13427703737 022704 5 ustar maxking maxking 0000000 0000000 mailmanclient-3.2.2/src/mailmanclient/restbase/__init__.py 0000664 0001750 0001750 00000000000 13413656045 024775 0 ustar maxking maxking 0000000 0000000 mailmanclient-3.2.2/src/mailmanclient/restbase/base.py 0000664 0001750 0001750 00000016202 13413656572 024170 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
# mailmanclient is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailmanclient is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailmanclient. If not, see .
import six
from collections import MutableMapping, Sequence
__metaclass__ = type
__all__ = [
'RESTBase',
'RESTDict',
'RESTList',
'RESTObject'
]
class RESTBase:
"""
Base class for data coming from the REST API.
Subclasses can (and sometimes must) define some attributes to handle a
particular entity.
:cvar _properties: the list of expected entity properties. This is required
for API elements that behave like an object, with REST data accessed
through attributes. If this value is None, the REST data is used to
list available properties.
:cvar _writable_properties: list of properties that can be written to using
a `PATCH` request. If this value is `None`, all properties are
writable.
:cvar _read_only_properties: list of properties that cannot be written to
(defaults to `self_link` only).
:cvar _autosave: automatically send a `PATCH` request to the API when a
value is changed. Otherwise, the `save()` method must be called.
"""
_properties = None
_writable_properties = None
_read_only_properties = ['self_link']
_autosave = False
def __init__(self, connection, url, data=None):
"""
:param connection: An API connection object.
:type connection: Connection.
:param url: The url of the API endpoint.
:type url: str.
:param data: The initial data to use.
:type data: dict.
"""
self._connection = connection
self._url = url
self._rest_data = data
self._changed_rest_data = {}
def __repr__(self):
return '<{0} at {1}>'.format(self.__class__.__name__, self._url)
@property
def rest_data(self):
"""Get data from API and cache it (only once per instance)."""
if self._rest_data is None:
response, content = self._connection.call(self._url)
if isinstance(content, dict) and 'http_etag' in content:
del content['http_etag'] # We don't care about etags.
self._rest_data = content
return self._rest_data
def _get(self, key):
if self._properties is not None:
# Some REST key/values may not be returned by Mailman if the value
# is None.
if key in self._properties:
return self.rest_data.get(key)
raise KeyError(key)
else:
return self.rest_data[key]
def _set(self, key, value):
if (key in self._read_only_properties or (
self._writable_properties is not None
and key not in self._writable_properties)):
raise ValueError('value is read-only')
# Don't check that the key is in _properties, the accepted values for
# write may be different from the returned values (eg: User.password
# and User.cleartext_password).
if key in self.rest_data and self.rest_data[key] == value:
return # Nothing to do
self._changed_rest_data[key] = value
if self._autosave:
self.save()
def _reset_cache(self):
self._changed_rest_data = {}
self._rest_data = None
def save(self):
response, content = self._connection.call(
self._url, self._changed_rest_data, method='PATCH')
self._reset_cache()
class RESTObject(RESTBase):
"""Base class for REST data that behaves like an object with attributes."""
def __getattr__(self, name):
try:
return self._get(name)
except KeyError:
# Transform the KeyError into the more appropriate AttributeError
raise AttributeError(
"'{0}' object has no attribute '{1}'".format(
self.__class__.__name__, name))
def __setattr__(self, name, value):
# RESTObject must list REST-specific properties or we won't be able to
# store the _connection, _url, etc.
assert self._properties is not None
if name not in self._properties:
return super(RESTObject, self).__setattr__(name, value)
return self._set(name, value)
def delete(self):
self._connection.call(self._url, method='DELETE')
self._reset_cache()
class RESTDict(RESTBase, MutableMapping):
"""Base class for REST data that behaves like a dictionary."""
def __repr__(self):
return repr(self.rest_data)
def __unicode__(self):
return six.text_type(self.rest_data)
def __getitem__(self, key):
return self._get(key)
def __setitem__(self, key, value):
self._set(key, value)
def __delitem__(self, key):
raise NotImplementedError("REST dictionnary keys can't be deleted.")
def __iter__(self):
for key in self.rest_data:
if self._properties is not None and key not in self._properties:
continue
yield key
def __len__(self):
return len(self.rest_data)
def get(self, key, default=None):
return self.rest_data.get(key, default)
def keys(self):
return list(self)
def update(self, other):
# Optimize the update to call save() only once
_old_autosave = self._autosave
self._autosave = False
super(RESTDict, self).update(other)
self._autosave = _old_autosave
if self._autosave:
self.save()
class RESTList(RESTBase, Sequence):
"""
Base class for REST data that behaves like a list.
The `_factory` attribute is a callable that will be applied on each
returned member of the list.
"""
_factory = lambda x: x # noqa: E731
@property
def rest_data(self):
if self._rest_data is None:
response, content = self._connection.call(self._url)
if 'entries' not in content:
self._rest_data = []
else:
self._rest_data = content['entries']
return self._rest_data
def __repr__(self):
return repr(self.rest_data)
def __unicode__(self):
return six.text_type(self.rest_data)
def __getitem__(self, key):
return self._factory(self.rest_data[key])
def __delitem__(self, key):
self[key].delete()
self._reset_cache()
def __len__(self):
return len(self.rest_data)
def __iter__(self):
for entry in self.rest_data:
yield self._factory(entry)
def clear(self):
self._connection.call(self._url, method='DELETE')
self._reset_cache()
mailmanclient-3.2.2/src/mailmanclient/restbase/connection.py 0000664 0001750 0001750 00000010176 13413656572 025421 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
# mailmanclient is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailmanclient is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailmanclient. If not, see .
import json
from base64 import b64encode
from urllib.error import HTTPError
from urllib.parse import urljoin, urlencode
from httplib2 import Http
from mailmanclient.constants import __version__
__metaclass__ = type
__all__ = [
'MailmanConnectionError',
'Connection'
]
class MailmanConnectionError(Exception):
"""Custom Exception to catch connection errors."""
class Connection:
"""A connection to the REST client."""
def __init__(self, baseurl, name=None, password=None):
"""Initialize a connection to the REST API.
:param baseurl: The base url to access the Mailman 3 REST API.
:param name: The Basic Auth user name. If given, the `password` must
also be given.
:param password: The Basic Auth password. If given the `name` must
also be given.
"""
if baseurl[-1] != '/':
baseurl += '/'
self.baseurl = baseurl
self.name = name
self.password = password
if name is not None and password is None:
raise TypeError('`password` is required when `name` is given')
if name is None and password is not None:
raise TypeError('`name` is required when `password` is given')
if name is None:
self.basic_auth = None
else:
auth = '{0}:{1}'.format(name, password)
self.basic_auth = b64encode(auth.encode('utf-8')).decode('utf-8')
def call(self, path, data=None, method=None):
"""Make a call to the Mailman REST API.
:param path: The url path to the resource.
:type path: str
:param data: Data to send, implies POST (default) or PUT.
:type data: dict
:param method: The HTTP method to call. Defaults to GET when `data`
is None or POST if `data` is given.
:type method: str
:return: The response content, which will be None, a dictionary, or a
list depending on the actual JSON type returned.
:rtype: None, list, dict
:raises HTTPError: when a non-2xx status code is returned.
"""
headers = {
'User-Agent': 'GNU Mailman REST client v{0}'.format(__version__),
}
data_str = None
if data is not None:
data_str = urlencode(data, doseq=True, encoding='utf-8')
headers['Content-Type'] = 'application/x-www-form-urlencoded'
if method is None:
if data_str is None:
method = 'GET'
else:
method = 'POST'
method = method.upper()
if self.basic_auth:
headers['Authorization'] = 'Basic ' + self.basic_auth
url = urljoin(self.baseurl, path)
try:
response, content = Http().request(url, method, data_str, headers)
# If we did not get a 2xx status code, make this look like a
# urllib2 exception, for backward compatibility.
if response.status // 100 != 2:
raise HTTPError(url, response.status, content, response, None)
if len(content) == 0:
return response, None
# XXX Work around for http://bugs.python.org/issue10038
if isinstance(content, bytes):
content = content.decode('utf-8')
return response, json.loads(content)
except HTTPError:
raise
except IOError:
raise MailmanConnectionError('Could not connect to Mailman API')
mailmanclient-3.2.2/src/mailmanclient/restbase/page.py 0000664 0001750 0001750 00000005275 13413656572 024202 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
# mailmanclient is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailmanclient is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailmanclient. If not, see .
from six.moves.urllib_parse import urlencode, urlsplit, parse_qs, urlunsplit
from mailmanclient.constants import DEFAULT_PAGE_ITEM_COUNT
__metaclass__ = type
__all__ = [
'Page'
]
class Page:
def __init__(self, connection, path, model, count=DEFAULT_PAGE_ITEM_COUNT,
page=1):
self._connection = connection
self._path = path
self._count = count
self._page = page
self._model = model
self._entries = []
self.total_size = 0
self._create_page()
def __getitem__(self, key):
return self._entries[key]
def __iter__(self):
for entry in self._entries:
yield entry
def __repr__(self):
return ' 1
@property
def has_next(self):
return self._count * self._page < self.total_size
mailmanclient-3.2.2/src/mailmanclient/restobjects/ 0000775 0001750 0001750 00000000000 13427703737 023423 5 ustar maxking maxking 0000000 0000000 mailmanclient-3.2.2/src/mailmanclient/restobjects/__init__.py 0000664 0001750 0001750 00000000000 13413656045 025514 0 ustar maxking maxking 0000000 0000000 mailmanclient-3.2.2/src/mailmanclient/restobjects/address.py 0000664 0001750 0001750 00000004675 13413656572 025435 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
# mailmanclient is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailmanclient is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailmanclient. If not, see .
from mailmanclient.restobjects.preferences import PreferencesMixin
from mailmanclient.restbase.base import RESTList, RESTObject
__metaclass__ = type
__all__ = [
'Address',
'Addresses'
]
class Addresses(RESTList):
def __init__(self, connection, url, data=None):
super(Addresses, self).__init__(connection, url, data)
self._factory = lambda data: Address(
self._connection, data['self_link'], data)
def find_by_email(self, email):
for address in self:
if address.email == email:
return address
return None
def remove(self, email):
address = self.find_by_email(email)
if address is not None:
address.delete()
self._reset_cache()
else:
raise ValueError('The address {} does not exist'.format(email))
class Address(RESTObject, PreferencesMixin):
_properties = ('display_name', 'email', 'original_email', 'registered_on',
'self_link', 'verified_on')
def __repr__(self):
return ''.format(self.email)
def __str__(self):
return self.email
@property
def user(self):
from mailmanclient.restobjects.user import User
if 'user' in self.rest_data:
return User(self._connection, self.rest_data['user'])
else:
return None
@property
def verified(self):
return self.verified_on is not None
def verify(self):
self._connection.call(
'addresses/{0}/verify'.format(self.email), method='POST')
self._reset_cache()
def unverify(self):
self._connection.call(
'addresses/{0}/unverify'.format(self.email), method='POST')
self._reset_cache()
mailmanclient-3.2.2/src/mailmanclient/restobjects/archivers.py 0000664 0001750 0001750 00000003072 13413656572 025764 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
# mailmanclient is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailmanclient is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailmanclient. If not, see .
from mailmanclient.restbase.base import RESTDict
__metaclass__ = type
__all__ = [
'ListArchivers'
]
class ListArchivers(RESTDict):
"""
Represents the activation status for each site-wide available archiver
for a given list.
"""
_autosave = True
def __init__(self, connection, url, mlist):
"""
:param connection: An API connection object.
:type connection: Connection.
:param url: The API url of the list's archiver endpoint.
:type url: str.
:param mlist: The corresponding list object.
:type mlist: MailingList.
"""
super(ListArchivers, self).__init__(connection, url)
self._mlist = mlist
def __repr__(self):
return ''.format(self._mlist.list_id)
def __str__(self):
return 'Archivers on {}'.format(self._mlist.list_id)
mailmanclient-3.2.2/src/mailmanclient/restobjects/ban.py 0000664 0001750 0001750 00000006404 13413656572 024540 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
# mailmanclient is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailmanclient is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailmanclient. If not, see .
from six.moves.urllib_error import HTTPError
from mailmanclient.restobjects.mailinglist import MailingList
from mailmanclient.restbase.base import RESTList, RESTObject
__metaclass__ = type
__all__ = [
'Bans',
'BannedAddress'
]
class Bans(RESTList):
"""
The list of banned addresses from a mailing-list or from the whole site.
"""
def __init__(self, connection, url, data=None, mlist=None):
"""
:param mlist: The corresponding list object, or None if it is a global
ban list.
:type mlist: MailingList or None.
"""
super(Bans, self).__init__(connection, url, data)
self._mlist = mlist
self._factory = lambda data: BannedAddress(
self._connection, data['self_link'], data)
def __repr__(self):
if self._mlist is None:
return ''
else:
return ''.format(self._mlist.list_id)
def __contains__(self, item):
# Accept email addresses and BannedAddress restobjects
if isinstance(item, BannedAddress):
item = item.email
if self._rest_data is not None:
return item in [data['email'] for data in self._rest_data]
else:
# Avoid getting the whole list just to check membership
try:
response, content = self._connection.call(
'{}/{}'.format(self._url, item))
except HTTPError as e:
if e.code == 404:
return False
else:
raise
else:
return True
def add(self, email):
response, content = self._connection.call(self._url, dict(email=email))
self._reset_cache()
return BannedAddress(self._connection, response['location'])
def find_by_email(self, email):
for ban in self:
if ban.email == email:
return ban
return None
def remove(self, email):
ban = self.find_by_email(email)
if ban is not None:
ban.delete()
self._reset_cache()
else:
raise ValueError('The address {} is not banned'.format(email))
class BannedAddress(RESTObject):
_properties = ('email', 'list_id', 'self_link')
_writable_properties = []
def __repr__(self):
return ''.format(self.email)
def __str__(self):
return self.email
@property
def mailinglist(self):
return MailingList(
self._connection, 'lists/{0}'.format(self.list_id))
mailmanclient-3.2.2/src/mailmanclient/restobjects/configuration.py 0000664 0001750 0001750 00000002170 13413656572 026643 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
# mailmanclient is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailmanclient is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailmanclient. If not, see .
from mailmanclient.restbase.base import RESTDict
__metaclass__ = type
__all__ = [
'Configuration'
]
class Configuration(RESTDict):
_writable_properties = ()
def __init__(self, connection, name):
super(Configuration, self).__init__(
connection, 'system/configuration/{}'.format(name))
self.name = name
def __repr__(self):
return ''.format(self.name)
mailmanclient-3.2.2/src/mailmanclient/restobjects/domain.py 0000664 0001750 0001750 00000010437 13413656572 025250 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
# mailmanclient is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailmanclient is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailmanclient. If not, see .
import warnings
from mailmanclient.restobjects.mailinglist import MailingList
from mailmanclient.restobjects.templates import TemplateList
from mailmanclient.restobjects.user import User
from mailmanclient.restbase.base import RESTObject
from mailmanclient.restbase.page import Page
__metaclass__ = type
__all__ = [
'Domain'
]
class Domain(RESTObject):
_properties = ('alias_domain', 'description', 'mail_host', 'self_link')
def __repr__(self):
return ''.format(self.mail_host)
def __str__(self):
return self.mail_host
@property
def web_host(self):
warnings.warn(
'The `Domain.web_host` attribute is deprecated. It is not used '
'any more and will be removed in the future.',
DeprecationWarning, stacklevel=2)
return 'http://{}'.format(self.mail_host)
@property
def base_url(self):
warnings.warn(
'The `Domain.base_url` attribute is deprecated. It is not used '
'any more and will be removed in the future.',
DeprecationWarning, stacklevel=2)
return 'http://{}'.format(self.mail_host)
@property
def owners(self):
url = self._url + '/owners'
response, content = self._connection.call(url)
if 'entries' not in content:
return []
else:
return [User(self._connection, entry['self_link'], entry)
for entry in content['entries']]
@property
def lists(self):
return self.get_lists()
def get_lists(self, advertised=None):
url = 'domains/{0}/lists'.format(self.mail_host)
if advertised:
url += '?advertised=true'
response, content = self._connection.call(url)
if 'entries' not in content:
return []
return [MailingList(self._connection, entry['self_link'], entry)
for entry in content['entries']]
def get_list_page(self, count=50, page=1, advertised=None):
url = 'domains/{0}/lists'.format(self.mail_host)
if advertised:
url += '?advertised=true'
return Page(self._connection, url, MailingList, count, page)
def create_list(self, list_name, style_name=None):
fqdn_listname = '{0}@{1}'.format(list_name, self.mail_host)
data = dict(fqdn_listname=fqdn_listname)
if style_name is not None:
data['style_name'] = style_name
response, content = self._connection.call('lists', data)
return MailingList(self._connection, response['location'])
# TODO: Add this when the API supports removing a single owner.
# def remove_owner(self, owner):
# url = self._url + '/owners/{}'.format(owner)
# response, content = self._connection.call(
# url, method='DELETE')
# return response
def remove_all_owners(self):
url = self._url + '/owners'
response, content = self._connection.call(
url, method='DELETE')
return response
def add_owner(self, owner):
url = self._url + '/owners'
response, content = self._connection.call(
url, {'owner': owner})
@property
def templates(self):
url = self._url + '/uris'
return TemplateList(self._connection, url)
def set_template(self, template_name, uri, username=None, password=None):
url = self._url + '/uris'
data = {template_name: uri}
if username is not None and password is not None:
data['username'] = username
data['password'] = password
return self._connection.call(url, data, 'PATCH')[1]
mailmanclient-3.2.2/src/mailmanclient/restobjects/header_match.py 0000664 0001750 0001750 00000004754 13413656572 026412 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
# mailmanclient is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailmanclient is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailmanclient. If not, see .
from mailmanclient.restbase.base import RESTList, RESTObject
__metaclass__ = type
__all__ = [
'HeaderMatch',
'HeaderMatches'
]
class HeaderMatches(RESTList):
"""
The list of header matches for a mailing-list.
"""
def __init__(self, connection, url, mlist):
"""
:param mlist: The corresponding list object.
:type mlist: MailingList.
"""
super(HeaderMatches, self).__init__(connection, url)
self._mlist = mlist
self._factory = lambda data: HeaderMatch(
self._connection, data['self_link'], data)
def __repr__(self):
return ''.format(self._mlist.list_id)
def __str__(self):
return 'Header matches for "{}"'.format(self._mlist.list_id)
def add(self, header, pattern, action=None):
"""
:param header: The header to consider.
:type header: str
:param pattern: The regular expression to use for filtering.
:type pattern: str
:param action: The action to take when the header matches the pattern.
This can be 'accept', 'discard', 'reject', or 'hold'.
:type action: str
"""
data = dict(header=header, pattern=pattern)
if action is not None:
data['action'] = action
response, content = self._connection.call(self._url, data)
self._reset_cache()
return HeaderMatch(self._connection, response['location'])
class HeaderMatch(RESTObject):
_properties = ('header', 'pattern', 'position', 'action', 'self_link')
_writable_properties = ('header', 'pattern', 'position', 'action')
def __repr__(self):
return ''.format(self.header)
def __str__(self):
return 'Header match on "{}"'.format(self.header)
mailmanclient-3.2.2/src/mailmanclient/restobjects/held_message.py 0000664 0001750 0001750 00000003542 13413656572 026420 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
# mailmanclient is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailmanclient is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailmanclient. If not, see .
import six
from mailmanclient.restbase.base import RESTObject
__metaclass__ = type
__all__ = [
'HeldMessage'
]
class HeldMessage(RESTObject):
_properties = ('hold_date', 'message_id', 'msg', 'reason', 'request_id',
'self_link', 'sender', 'subject', 'type')
def __repr__(self):
return ''.format(
self.request_id, self.sender)
def __unicode__(self):
return six.text_type(self.rest_data)
def moderate(self, action):
"""Moderate a held message.
:param action: Action to perform on held message.
:type action: String.
"""
response, content = self._connection.call(
self._url, dict(action=action), 'POST')
return response
def discard(self):
"""Shortcut for moderate."""
return self.moderate('discard')
def reject(self):
"""Shortcut for moderate."""
return self.moderate('reject')
def defer(self):
"""Shortcut for moderate."""
return self.moderate('defer')
def accept(self):
"""Shortcut for moderate."""
return self.moderate('accept')
mailmanclient-3.2.2/src/mailmanclient/restobjects/mailinglist.py 0000664 0001750 0001750 00000036276 13413656572 026326 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
# mailmanclient is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailmanclient is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailmanclient. If not, see .
import warnings
from operator import itemgetter
from six.moves.urllib_error import HTTPError
from six.moves.urllib_parse import urlencode
from mailmanclient.restobjects.header_match import HeaderMatches
from mailmanclient.restobjects.archivers import ListArchivers
from mailmanclient.restobjects.member import Member
from mailmanclient.restobjects.settings import Settings
from mailmanclient.restobjects.held_message import HeldMessage
from mailmanclient.restobjects.templates import TemplateList
from mailmanclient.restbase.base import RESTObject
from mailmanclient.restbase.page import Page
__metaclass__ = type
__all__ = [
'MailingList'
]
class MailingList(RESTObject):
_properties = ('display_name', 'fqdn_listname', 'list_id', 'list_name',
'mail_host', 'member_count', 'volume', 'self_link',
'description')
def __init__(self, connection, url, data=None):
super(MailingList, self).__init__(connection, url, data)
self._settings = None
def __repr__(self):
return ''.format(self.fqdn_listname)
@property
def owners(self):
url = self._url + '/roster/owner'
response, content = self._connection.call(url)
if 'entries' not in content:
return []
else:
return [Member(self._connection, entry['self_link'], entry)
for entry in sorted(content['entries'],
key=itemgetter('address'))]
@property
def moderators(self):
url = self._url + '/roster/moderator'
response, content = self._connection.call(url)
if 'entries' not in content:
return []
else:
return [Member(self._connection, entry['self_link'], entry)
for entry in sorted(content['entries'],
key=itemgetter('address'))]
@property
def members(self):
url = 'lists/{0}/roster/member'.format(self.fqdn_listname)
response, content = self._connection.call(url)
if 'entries' not in content:
return []
return [Member(self._connection, entry['self_link'], entry)
for entry in sorted(content['entries'],
key=itemgetter('address'))]
@property
def nonmembers(self):
url = 'members/find'
data = {'role': 'nonmember',
'list_id': self.list_id}
response, content = self._connection.call(url, data)
if 'entries' not in content:
return []
return [Member(self._connection, entry['self_link'], entry)
for entry in sorted(content['entries'],
key=itemgetter('address'))]
def get_member_page(self, count=50, page=1):
url = 'lists/{0}/roster/member'.format(self.fqdn_listname)
return Page(self._connection, url, Member, count, page)
def find_members(self, address=None, role=None, page=None, count=50):
data = {'list_id': self.list_id}
if address:
data['subscriber'] = address
if role:
data['role'] = role
url = 'members/find?{}'.format(urlencode(data, doseq=True))
if page is None:
response, content = self._connection.call(url, data)
if 'entries' not in content:
return []
return [Member(self._connection, entry['self_link'], entry)
for entry in content['entries']]
else:
return Page(self._connection, url, Member, count, page)
@property
def settings(self):
if self._settings is None:
self._settings = Settings(
self._connection,
'lists/{0}/config'.format(self.fqdn_listname))
return self._settings
@property
def held(self):
"""Return a list of dicts with held message information."""
response, content = self._connection.call(
'lists/{0}/held'.format(self.fqdn_listname), None, 'GET')
if 'entries' not in content:
return []
return [HeldMessage(self._connection, entry['self_link'], entry)
for entry in content['entries']]
def get_held_page(self, count=50, page=1):
url = 'lists/{0}/held'.format(self.fqdn_listname)
return Page(self._connection, url, HeldMessage, count, page)
def get_held_message(self, held_id):
url = 'lists/{0}/held/{1}'.format(self.fqdn_listname, held_id)
return HeldMessage(self._connection, url)
@property
def requests(self):
"""Return a list of dicts with subscription requests."""
response, content = self._connection.call(
'lists/{0}/requests'.format(self.fqdn_listname), None, 'GET')
if 'entries' not in content:
return []
else:
entries = []
for entry in content['entries']:
request = dict(email=entry['email'],
token=entry['token'],
token_owner=entry['token_owner'],
list_id=entry['list_id'],
request_date=entry['when'])
entries.append(request)
return entries
@property
def archivers(self):
url = 'lists/{0}/archivers'.format(self.list_id)
return ListArchivers(self._connection, url, self)
@archivers.setter
def archivers(self, new_value):
url = 'lists/{0}/archivers'.format(self.list_id)
archivers = ListArchivers(self._connection, url, self)
archivers.update(new_value)
archivers.save()
def add_owner(self, address, display_name=None):
self.add_role('owner', address, display_name)
def add_moderator(self, address, display_name=None):
self.add_role('moderator', address, display_name)
def add_role(self, role, address, display_name=None):
data = dict(list_id=self.list_id,
subscriber=address,
display_name=display_name,
role=role)
self._connection.call('members', data)
def remove_owner(self, address):
self.remove_role('owner', address)
def remove_moderator(self, address):
self.remove_role('moderator', address)
def remove_role(self, role, address):
url = 'lists/%s/%s/%s' % (self.fqdn_listname, role, address)
self._connection.call(url, method='DELETE')
def moderate_message(self, request_id, action):
"""Moderate a held message.
:param request_id: Id of the held message.
:type request_id: Int.
:param action: Action to perform on held message.
:type action: String.
"""
path = 'lists/{0}/held/{1}'.format(
self.fqdn_listname, str(request_id))
response, content = self._connection.call(
path, dict(action=action), 'POST')
return response
def discard_message(self, request_id):
"""Shortcut for moderate_message."""
return self.moderate_message(request_id, 'discard')
def reject_message(self, request_id):
"""Shortcut for moderate_message."""
return self.moderate_message(request_id, 'reject')
def defer_message(self, request_id):
"""Shortcut for moderate_message."""
return self.moderate_message(request_id, 'defer')
def accept_message(self, request_id):
"""Shortcut for moderate_message."""
return self.moderate_message(request_id, 'accept')
def moderate_request(self, request_id, action):
"""
Moderate a subscription request.
:param action: accept|reject|discard|defer
:type action: str.
"""
path = 'lists/{0}/requests/{1}'.format(self.list_id, request_id)
response, content = self._connection.call(path, {'action': action})
return response
def manage_request(self, token, action):
"""Alias for moderate_request, kept for compatibility"""
warnings.warn(
'The `manage_request()` method has been replaced by '
'`moderate_request()` and will be removed in the future.',
DeprecationWarning, stacklevel=2)
return self.moderate_request(token, action)
def accept_request(self, request_id):
"""Shortcut to accept a subscription request."""
return self.moderate_request(request_id, 'accept')
def reject_request(self, request_id):
"""Shortcut to reject a subscription request."""
return self.moderate_request(request_id, 'reject')
def discard_request(self, request_id):
"""Shortcut to discard a subscription request."""
return self.moderate_request(request_id, 'discard')
def defer_request(self, request_id):
"""Shortcut to defer a subscription request."""
return self.moderate_request(request_id, 'defer')
def get_member(self, email):
"""Get a membership.
:param address: The email address of the member for this list.
:return: A member proxy object.
"""
# In order to get the member object we query the REST API for
# the member. Incase there is no matching subscription, an
# HTTPError is returned instead.
try:
path = 'lists/{0}/member/{1}'.format(self.list_id, email)
response, content = self._connection.call(path)
return Member(self._connection, content['self_link'], content)
except HTTPError:
raise ValueError('%s is not a member address of %s' %
(email, self.fqdn_listname))
def subscribe(self, address, display_name=None, pre_verified=False,
pre_confirmed=False, pre_approved=False):
"""Subscribe an email address to a mailing list.
:param address: Email address to subscribe to the list.
:type address: str
:param display_name: The real name of the new member.
:param pre_verified: True if the address has been verified.
:type pre_verified: bool
:param pre_confirmed: True if membership has been approved by the user.
:type pre_confirmed: bool
:param pre_approved: True if membership is moderator-approved.
:type pre_approved: bool
:type display_name: str
:return: A member proxy object.
"""
data = dict(
list_id=self.list_id,
subscriber=address,
display_name=display_name,
)
if pre_verified:
data['pre_verified'] = True
if pre_confirmed:
data['pre_confirmed'] = True
if pre_approved:
data['pre_approved'] = True
response, content = self._connection.call('members', data)
# If a member is not immediately subscribed (i.e. verificatoin,
# confirmation or approval need), the response content is returned.
if response.status == 202:
return content
# I the subscription is executed immediately, a member object
# is returned.
return Member(self._connection, response['location'])
def unsubscribe(self, email):
"""Unsubscribe an email address from a mailing list.
:param address: The address to unsubscribe.
"""
# In order to get the member object we need to
# iterate over the existing member list
try:
path = 'lists/{0}/member/{1}'.format(self.list_id, email)
self._connection.call(path, method='DELETE')
except HTTPError:
# The member link does not exist, i.e. he is not a member
raise ValueError('%s is not a member address of %s' %
(email, self.fqdn_listname))
@property
def bans(self):
from mailmanclient.restobjects.ban import Bans
url = 'lists/{0}/bans'.format(self.list_id)
return Bans(self._connection, url, mlist=self)
def get_bans_page(self, count=50, page=1):
from mailmanclient.restobjects.ban import BannedAddress
url = 'lists/{0}/bans'.format(self.list_id)
return Page(self._connection, url, BannedAddress, count, page)
@property
def header_matches(self):
url = 'lists/{0}/header-matches'.format(self.list_id)
return HeaderMatches(self._connection, url, self)
@property
def templates(self):
url = self._url + '/uris'
return TemplateList(self._connection, url)
def set_template(self, template_name, uri, username=None, password=None):
url = self._url + '/uris'
data = {template_name: uri}
if username is not None and password is not None:
data['username'] = username
data['password'] = password
return self._connection.call(url, data, 'PATCH')[1]
def _check_membership(self, address, allowed_roles):
"""
Given an address and role, check if there is a membership record that
matches the given address with a given role for this Mailing List.
"""
url = 'members/find'
data = {'subscriber': address,
'list_id': self.list_id}
response, content = self._connection.call(url, data=data)
if 'entries' not in content:
return False
for membership in content['entries']:
# We check for all the returned roles for this User and MailingList
if membership['role'] in allowed_roles:
return True
return False
def is_owner(self, address):
"""
Given an address, checks if the given address is an owner of this
mailing list.
"""
return self._check_membership(address=address,
allowed_roles=('owner',))
def is_moderator(self, address):
"""
Given an address, checks if the given address is a moderator of this
mailing list.
"""
return self._check_membership(address=address,
allowed_roles=('moderator',))
def is_member(self, address):
"""
Given an address, checks if the given address is subscribed to this
mailing list.
"""
return self._check_membership(address=address,
allowed_roles=('member',))
def is_owner_or_mod(self, address):
"""
Given an address, checks if the given address is either a owner or
a moderator of this list.
It is possible for them to be both owner and moderator.
"""
return self._check_membership(address=address,
allowed_roles=('owner', 'moderator'))
mailmanclient-3.2.2/src/mailmanclient/restobjects/member.py 0000664 0001750 0001750 00000003643 13413656572 025251 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
# mailmanclient is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailmanclient is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailmanclient. If not, see .
from mailmanclient.restobjects.preferences import PreferencesMixin
from mailmanclient.restbase.base import RESTObject
__metaclass__ = type
__all__ = [
'Member'
]
class Member(RESTObject, PreferencesMixin):
_properties = ('delivery_mode', 'email', 'list_id', 'moderation_action',
'display_name', 'role', 'self_link')
_writable_properties = ('address', 'delivery_mode', 'moderation_action')
def __repr__(self):
return ''.format(self.email, self.list_id)
def __str__(self):
return 'Member "{0}" on "{1}"'.format(self.email, self.list_id)
def __unicode__(self):
return u'Member "{0}" on "{1}"'.format(self.email, self.list_id)
@property
def address(self):
from mailmanclient.restobjects.address import Address
return Address(self._connection, self.rest_data['address'])
@property
def user(self):
from mailmanclient.restobjects.user import User
return User(self._connection, self.rest_data['user'])
def unsubscribe(self):
"""Unsubscribe the member from a mailing list.
"""
# TODO: call .delete() instead?
self._connection.call(self.self_link, method='DELETE')
mailmanclient-3.2.2/src/mailmanclient/restobjects/preferences.py 0000664 0001750 0001750 00000002746 13413656572 026306 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
# mailmanclient is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailmanclient is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailmanclient. If not, see .
from mailmanclient.restbase.base import RESTDict
__metaclass__ = type
__all__ = [
'Preferences',
'PreferencesMixin'
]
class Preferences(RESTDict):
_properties = (
'acknowledge_posts', 'delivery_mode', 'delivery_status',
'hide_address', 'preferred_language', 'receive_list_copy',
'receive_own_postings',
)
def delete(self):
response, content = self._connection.call(self._url, method='DELETE')
class PreferencesMixin:
"""Mixin for restobjects that have preferences."""
@property
def preferences(self):
if getattr(self, '_preferences', None) is None:
path = '{0}/preferences'.format(self.self_link)
self._preferences = Preferences(self._connection, path)
return self._preferences
mailmanclient-3.2.2/src/mailmanclient/restobjects/queue.py 0000664 0001750 0001750 00000002316 13413656572 025122 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
# mailmanclient is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailmanclient is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailmanclient. If not, see .
from mailmanclient.restbase.base import RESTObject
__metaclass__ = type
__all__ = [
'Queue'
]
class Queue(RESTObject):
_properties = ('name', 'directory', 'files')
def __repr__(self):
return ''.format(self.name)
def inject(self, list_id, text):
self._connection.call(self._url, dict(list_id=list_id, text=text))
@property
def files(self):
# No caching.
response, content = self._connection.call(self._url)
return content['files']
mailmanclient-3.2.2/src/mailmanclient/restobjects/settings.py 0000664 0001750 0001750 00000002515 13413656572 025637 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
# mailmanclient is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailmanclient is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailmanclient. If not, see .
from mailmanclient.restbase.base import RESTDict
__metaclass__ = type
__all__ = [
'Settings'
]
class Settings(RESTDict):
_read_only_properties = (
'bounces_address',
'created_at',
'digest_last_sent_at',
'fqdn_listname',
'join_address',
'last_post_at',
'leave_address',
'list_id',
'list_name',
'mail_host',
'next_digest_number',
'no_reply_address',
'owner_address',
'post_id',
'posting_address',
'request_address',
'scheme',
'self_link',
'volume',
'web_host',
)
mailmanclient-3.2.2/src/mailmanclient/restobjects/styles.py 0000664 0001750 0001750 00000001566 13413656572 025327 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2018-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
# mailmanclient is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailmanclient is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailmanclient. If not, see .
from mailmanclient.restbase.base import RESTDict
class Styles(RESTDict):
_read_only_properties = (
'style_names',
'styles',
'default'
)
mailmanclient-3.2.2/src/mailmanclient/restobjects/templates.py 0000664 0001750 0001750 00000002626 13413656572 026000 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2017-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailman.client.
#
# mailman.client is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailman.client is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailman.client. If not, see .
"""Template objects."""
from __future__ import absolute_import, print_function, unicode_literals
from mailmanclient.restbase.base import RESTList, RESTObject
__all__ = [
'Template',
'TemplateList'
]
class TemplateList(RESTList):
def __init__(self, connection, url, data=None, context=None):
super(RESTList, self).__init__(connection, url, data)
self._factory = lambda data: Template(
self._connection, data['self_link'], data)
class Template(RESTObject):
_properties = ('self_link', 'name', 'uri', 'username', 'password')
_writable_properties = ['uri', 'username', 'password']
def __repr__(self):
return ''.format(self.name)
mailmanclient-3.2.2/src/mailmanclient/restobjects/user.py 0000664 0001750 0001750 00000007422 13413656572 024757 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
# mailmanclient is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailmanclient is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailmanclient. If not, see .
from mailmanclient.restobjects.preferences import PreferencesMixin
from mailmanclient.restobjects.address import Addresses, Address
from mailmanclient.restbase.base import RESTObject
__metaclass__ = type
__all__ = [
'User'
]
class User(RESTObject, PreferencesMixin):
_properties = ('created_on', 'display_name', 'is_server_owner',
'password', 'self_link', 'user_id')
_writable_properties = ('cleartext_password', 'display_name',
'is_server_owner')
def __init__(self, connection, url, data=None):
super(User, self).__init__(connection, url, data)
self._subscriptions = None
self._subscription_list_ids = None
def __repr__(self):
return ''.format(self.display_name, self.user_id)
@property
def addresses(self):
return Addresses(
self._connection, 'users/{0}/addresses'.format(self.user_id))
def __setattr__(self, name, value):
"""Special case for the password"""
if name == 'password':
self._changed_rest_data['cleartext_password'] = value
if self._autosave:
self.save()
else:
super(User, self).__setattr__(name, value)
@property
def subscriptions(self):
from mailmanclient.restobjects.member import Member
if self._subscriptions is None:
subscriptions = []
for address in self.addresses:
response, content = self._connection.call(
'members/find', data={'subscriber': address})
try:
for entry in content['entries']:
subscriptions.append(Member(
self._connection, entry['self_link'], entry))
except KeyError:
pass
self._subscriptions = subscriptions
return self._subscriptions
@property
def subscription_list_ids(self):
if self._subscription_list_ids is None:
list_ids = []
for sub in self.subscriptions:
list_ids.append(sub.list_id)
self._subscription_list_ids = list_ids
return self._subscription_list_ids
def add_address(self, email, absorb_existing=False):
"""
Adds another email adress to the user record and returns an
_Address object.
:param email: The address to add
:type email: str.
:param absorb_existing: set this to True if you want to add the address
even if it already exists. It will import the existing user into
the current one, not overwriting any previously set value.
:type absorb_existing: bool.
"""
url = '{0}/addresses'.format(self._url)
data = {'email': email}
if absorb_existing:
data['absorb_existing'] = 1
response, content = self._connection.call(url, data)
address = {
'email': email,
'self_link': response['location'],
}
return Address(self._connection, address['self_link'], address)
mailmanclient-3.2.2/src/mailmanclient/testing/ 0000775 0001750 0001750 00000000000 13427703737 022551 5 ustar maxking maxking 0000000 0000000 mailmanclient-3.2.2/src/mailmanclient/testing/__init__.py 0000664 0001750 0001750 00000000000 13413656045 024642 0 ustar maxking maxking 0000000 0000000 mailmanclient-3.2.2/src/mailmanclient/testing/documentation.py 0000664 0001750 0001750 00000002547 13413656572 026003 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2007-2019 by the Free Software Foundation, Inc.
#
# This file is part of GNU Mailman.
#
# GNU Mailman is free software: you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option)
# any later version.
#
# GNU Mailman is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
#
# You should have received a copy of the GNU General Public License along with
# GNU Mailman. If not, see .
"""Harness for testing Mailman's documentation."""
from __future__ import absolute_import, print_function, unicode_literals
__metaclass__ = type
__all__ = [
'dump',
]
def dump(results):
if results is None:
print(None)
return
for key in sorted(results):
if key == 'entries':
for i, entry in enumerate(results[key]):
# entry is a dictionary.
print('entry %d:' % i)
for entry_key in sorted(entry):
print(' {0}: {1}'.format(entry_key, entry[entry_key]))
else:
print('{0}: {1}'.format(key, results[key]))
mailmanclient-3.2.2/src/mailmanclient/testing/vcr_helpers.py 0000664 0001750 0001750 00000007120 13413656572 025436 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2015-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
# GNU Mailman is free software: you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option)
# any later version.
#
# GNU Mailman is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
#
# You should have received a copy of the GNU General Public License along with
# GNU Mailman. If not, see .
"""Helpers for VCR"""
import vcr
from functools import update_wrapper
from six import binary_type, text_type
from six.moves.urllib.parse import urlparse, urlunparse, parse_qsl, urlencode
__all__ = [
'get_vcr',
]
# XXX: This module exists to maintain compatibility with some parts of
# Postorius' test suite which use this internal API. This is duplicated in new
# versions of Postorius (for >1.1 releases).
def filter_response_headers(response):
for header in ('Date', 'Server', 'date', 'server'):
# The headers are lowercase on Python 2 and capitalized on Python 3
if header in response['headers']:
del response['headers'][header]
return response
def reorder_request_params(request):
def reorder_params(params):
parsed = parse_qsl(params)
if parsed:
return urlencode(sorted(parsed, key=lambda kv: kv[0]))
else:
# Parsing failed, it may be a simple string.
return params
# sort the URL query-string by key names.
uri_parts = urlparse(request.uri)
if uri_parts.query:
request.uri = urlunparse((
uri_parts.scheme, uri_parts.netloc, uri_parts.path,
uri_parts.params, reorder_params(uri_parts.query),
uri_parts.fragment,
))
# convert the request body to text and sort the parameters.
if isinstance(request.body, binary_type):
try:
request._body = request._body.decode('utf-8')
except UnicodeDecodeError:
pass
if isinstance(request.body, text_type):
request._body = reorder_params(request._body.encode('utf-8'))
return request
def get_vcr(**kwargs):
return vcr.VCR(
filter_headers=['authorization', 'user-agent', 'date'],
before_record=reorder_request_params,
before_record_response=filter_response_headers,
**kwargs
)
class vcr_testcase:
"""
Decorator for TestCases that use VCR.
It automatically sets up a different cassette for each test function.
"""
def __init__(self, vcr_instance):
self.vcr = vcr_instance
def __call__(self, testcase):
return self.decorate_class(testcase)
def decorate_class(self, testcase):
"""Create a subclass that will add setUp instructions."""
vcr_instance = self.vcr
class VCRTestCase(testcase):
vcr = vcr_instance
def setUp(self):
cm = self.vcr.use_cassette('.'.join([
# testcase.__module__.rpartition('.')[2],
testcase.__name__, self._testMethodName, 'yaml']))
self.cassette = cm.__enter__()
self.addCleanup(cm.__exit__, None, None, None)
super(VCRTestCase, self).setUp()
return update_wrapper(
VCRTestCase, testcase,
assigned=('__module__', '__name__'), updated=[])
mailmanclient-3.2.2/src/mailmanclient/tests/ 0000775 0001750 0001750 00000000000 13427703737 022236 5 ustar maxking maxking 0000000 0000000 mailmanclient-3.2.2/src/mailmanclient/tests/__init__.py 0000664 0001750 0001750 00000000000 13413656045 024327 0 ustar maxking maxking 0000000 0000000 mailmanclient-3.2.2/src/mailmanclient/tests/data/ 0000775 0001750 0001750 00000000000 13427703737 023147 5 ustar maxking maxking 0000000 0000000 mailmanclient-3.2.2/src/mailmanclient/tests/data/TestDomains.test_no_domain.yaml 0000664 0001750 0001750 00000020630 13413656045 031261 0 ustar maxking maxking 0000000 0000000 interactions:
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.1.2a1]
method: GET
uri: http://localhost:9001/3.0/domains/example.org
response:
body: {string: 404 Not Found}
headers:
content-length: ['13']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 25 Feb 2018 03:57:24 GMT']
server: [WSGIServer/0.2 CPython/3.5.2]
status: {code: 404, message: Not Found}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.0/domains/example.org
response:
body: {string: 404 Not Found}
headers:
content-length: ['13']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:12:30 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 404, message: Not Found}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.0/domains/example.org
response:
body: {string: 404 Not Found}
headers:
content-length: ['13']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:13:00 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 404, message: Not Found}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.0/domains/example.org
response:
body: {string: 404 Not Found}
headers:
content-length: ['13']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:13:34 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 404, message: Not Found}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.0/domains/example.org
response:
body: {string: 404 Not Found}
headers:
content-length: ['13']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:14:08 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 404, message: Not Found}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.0/domains/example.org
response:
body: {string: 404 Not Found}
headers:
content-length: ['13']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:15:56 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 404, message: Not Found}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.0/domains/example.org
response:
body: {string: 404 Not Found}
headers:
content-length: ['13']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:17:50 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 404, message: Not Found}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.0/domains/example.org
response:
body: {string: 404 Not Found}
headers:
content-length: ['13']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:18:54 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 404, message: Not Found}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.0/domains/example.org
response:
body: {string: 404 Not Found}
headers:
content-length: ['13']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:19:53 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 404, message: Not Found}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.0/domains/example.org
response:
body: {string: 404 Not Found}
headers:
content-length: ['13']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:20:29 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 404, message: Not Found}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.0/domains/example.org
response:
body: {string: 404 Not Found}
headers:
content-length: ['13']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:22:08 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 404, message: Not Found}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.0/domains/example.org
response:
body: {string: 404 Not Found}
headers:
content-length: ['13']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:28:12 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 404, message: Not Found}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.0/domains/example.org
response:
body: {string: 404 Not Found}
headers:
content-length: ['13']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:20 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 404, message: Not Found}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.0/domains/example.org
response:
body: {string: 404 Not Found}
headers:
content-length: ['13']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:04 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 404, message: Not Found}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.0/domains/example.org
response:
body: {string: 404 Not Found}
headers:
content-length: ['13']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:11 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 404, message: Not Found}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.0/domains/example.org
response:
body: {string: 404 Not Found}
headers:
Date: ['Wed, 16 May 2018 00:50:21 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['13']
content-type: [application/json; charset=UTF-8]
status: {code: 404, message: Not Found}
version: 1
././@LongLink 0000000 0000000 0000000 00000000151 00000000000 011212 L ustar 0000000 0000000 mailmanclient-3.2.2/src/mailmanclient/tests/data/TestMailingListMembershipTests.test_list_is_member.yaml mailmanclient-3.2.2/src/mailmanclient/tests/data/TestMailingListMembershipTests.test_list_is_member.0000664 0001750 0001750 00000024556 13413656045 035324 0 ustar maxking maxking 0000000 0000000 interactions:
- request:
body: mail_host=example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/domains
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 01:05:58 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/domains/example.com']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.com
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"0955c4a2fe5c37a019be0fef3abbb952cdc328a4\"",
"mail_host": "example.com", "self_link": "http://localhost:9001/3.1/domains/example.com"}'}
headers:
Date: ['Wed, 16 May 2018 01:05:58 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['194']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=foo%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 01:05:58 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/lists/foo.example.com']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/foo.example.com
response:
body: {string: '{"display_name": "Foo", "fqdn_listname": "foo@example.com", "http_etag":
"\"4fb667c3d533cf6b2b6faa284a0d5d1302536524\"", "list_id": "foo.example.com",
"list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
"http://localhost:9001/3.1/lists/foo.example.com", "volume": 1}'}
headers:
Date: ['Wed, 16 May 2018 01:05:58 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['294']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: list_id=foo.example.com&subscriber=subscriber%40example.com&display_name=None&pre_verified=True&pre_confirmed=True&pre_approved=True
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 01:05:58 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/members/00000000000000000000000000000091']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/foo@example.com/roster/member
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/subscriber@example.com",
"delivery_mode": "regular", "display_name": "None", "email": "subscriber@example.com",
"http_etag": "\"867bd5aee7b8bd5b4c39ac846038298f5cb6ba0e\"", "list_id": "foo.example.com",
"member_id": "00000000000000000000000000000091", "role": "member", "self_link":
"http://localhost:9001/3.1/members/00000000000000000000000000000091", "user":
"http://localhost:9001/3.1/users/0000000000000000000000000000007f"}], "http_etag":
"\"a107c39e2e70d8e15fc82eeec2c1e38eb221e4c6\"", "start": 0, "total_size":
1}'}
headers:
Date: ['Wed, 16 May 2018 01:05:58 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['582']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: subscriber=subscriber%40example.com&list_id=foo.example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members/find
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/subscriber@example.com",
"delivery_mode": "regular", "display_name": "None", "email": "subscriber@example.com",
"http_etag": "\"867bd5aee7b8bd5b4c39ac846038298f5cb6ba0e\"", "list_id": "foo.example.com",
"member_id": "00000000000000000000000000000091", "role": "member", "self_link":
"http://localhost:9001/3.1/members/00000000000000000000000000000091", "user":
"http://localhost:9001/3.1/users/0000000000000000000000000000007f"}], "http_etag":
"\"a107c39e2e70d8e15fc82eeec2c1e38eb221e4c6\"", "start": 0, "total_size":
1}'}
headers:
Date: ['Wed, 16 May 2018 01:05:58 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['582']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: list_id=foo.example.com&subscriber=owner%40example.com&display_name=None&role=owner
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 01:05:58 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/members/00000000000000000000000000000092']
status: {code: 201, message: Created}
- request:
body: subscriber=owner%40example.com&list_id=foo.example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members/find
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/owner@example.com",
"delivery_mode": "regular", "display_name": "None", "email": "owner@example.com",
"http_etag": "\"a6098b2e14ec529c8b8ea0988d5d5a566c892f6e\"", "list_id": "foo.example.com",
"member_id": "00000000000000000000000000000092", "moderation_action": "accept",
"role": "owner", "self_link": "http://localhost:9001/3.1/members/00000000000000000000000000000092",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000080"}],
"http_etag": "\"b1bed076bdc62b712eebdb72636a8a7f692979cb\"", "start": 0, "total_size":
1}'}
headers:
Date: ['Wed, 16 May 2018 01:05:58 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['602']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: list_id=foo.example.com&subscriber=mod%40example.com&display_name=None&role=moderator
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 01:05:58 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/members/00000000000000000000000000000093']
status: {code: 201, message: Created}
- request:
body: subscriber=mod%40example.com&list_id=foo.example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members/find
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/mod@example.com",
"delivery_mode": "regular", "display_name": "None", "email": "mod@example.com",
"http_etag": "\"144d3ce57887d151f7d5e7b8a17c8eb93d5b6139\"", "list_id": "foo.example.com",
"member_id": "00000000000000000000000000000093", "moderation_action": "accept",
"role": "moderator", "self_link": "http://localhost:9001/3.1/members/00000000000000000000000000000093",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000081"}],
"http_etag": "\"591732bac3c73f957e3d56aa2a03d1e2636e97bd\"", "start": 0, "total_size":
1}'}
headers:
Date: ['Wed, 16 May 2018 01:05:58 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['602']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.com
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 01:05:58 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
version: 1
././@LongLink 0000000 0000000 0000000 00000000154 00000000000 011215 L ustar 0000000 0000000 mailmanclient-3.2.2/src/mailmanclient/tests/data/TestMailingListMembershipTests.test_list_is_moderator.yaml mailmanclient-3.2.2/src/mailmanclient/tests/data/TestMailingListMembershipTests.test_list_is_moderat0000664 0001750 0001750 00000023564 13413656045 035430 0 ustar maxking maxking 0000000 0000000 interactions:
- request:
body: mail_host=example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/domains
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 01:05:58 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/domains/example.com']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.com
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"0955c4a2fe5c37a019be0fef3abbb952cdc328a4\"",
"mail_host": "example.com", "self_link": "http://localhost:9001/3.1/domains/example.com"}'}
headers:
Date: ['Wed, 16 May 2018 01:05:58 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['194']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=foo%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 01:05:58 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/lists/foo.example.com']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/foo.example.com
response:
body: {string: '{"display_name": "Foo", "fqdn_listname": "foo@example.com", "http_etag":
"\"4fb667c3d533cf6b2b6faa284a0d5d1302536524\"", "list_id": "foo.example.com",
"list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
"http://localhost:9001/3.1/lists/foo.example.com", "volume": 1}'}
headers:
Date: ['Wed, 16 May 2018 01:05:58 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['294']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: list_id=foo.example.com&subscriber=mod%40example.com&display_name=None&role=moderator
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 01:05:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/members/00000000000000000000000000000094']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/foo.example.com/roster/moderator
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/mod@example.com",
"delivery_mode": "regular", "display_name": "None", "email": "mod@example.com",
"http_etag": "\"26c8225a1c49654cc9de7377e561f261ff979f4d\"", "list_id": "foo.example.com",
"member_id": "00000000000000000000000000000094", "moderation_action": "accept",
"role": "moderator", "self_link": "http://localhost:9001/3.1/members/00000000000000000000000000000094",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000081"}],
"http_etag": "\"027ad6e0ebed5f1dee954b5477203055ef58ab50\"", "start": 0, "total_size":
1}'}
headers:
Date: ['Wed, 16 May 2018 01:05:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['602']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: subscriber=mod%40example.com&list_id=foo.example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members/find
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/mod@example.com",
"delivery_mode": "regular", "display_name": "None", "email": "mod@example.com",
"http_etag": "\"26c8225a1c49654cc9de7377e561f261ff979f4d\"", "list_id": "foo.example.com",
"member_id": "00000000000000000000000000000094", "moderation_action": "accept",
"role": "moderator", "self_link": "http://localhost:9001/3.1/members/00000000000000000000000000000094",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000081"}],
"http_etag": "\"027ad6e0ebed5f1dee954b5477203055ef58ab50\"", "start": 0, "total_size":
1}'}
headers:
Date: ['Wed, 16 May 2018 01:05:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['602']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: list_id=foo.example.com&subscriber=owner%40example.com&display_name=None&role=owner
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 01:05:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/members/00000000000000000000000000000095']
status: {code: 201, message: Created}
- request:
body: subscriber=owner%40example.com&list_id=foo.example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members/find
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/owner@example.com",
"delivery_mode": "regular", "display_name": "None", "email": "owner@example.com",
"http_etag": "\"6393945e09004f60634740074128c14eed4ac183\"", "list_id": "foo.example.com",
"member_id": "00000000000000000000000000000095", "moderation_action": "accept",
"role": "owner", "self_link": "http://localhost:9001/3.1/members/00000000000000000000000000000095",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000080"}],
"http_etag": "\"78d56c5a1cc980c71f532328a42367931b35827e\"", "start": 0, "total_size":
1}'}
headers:
Date: ['Wed, 16 May 2018 01:05:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['602']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: list_id=foo.example.com&subscriber=subscriber%40example.com&display_name=None
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members
response:
body: {string: '{"http_etag": "\"987f49f8ced74a8ab06183fa99bd7047a1eb005d\"",
"token": "0000000000000000000000000000000000000072", "token_owner": "subscriber"}'}
headers:
Date: ['Wed, 16 May 2018 01:05:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['143']
content-type: [application/json; charset=UTF-8]
status: {code: 202, message: Accepted}
- request:
body: subscriber=subscriber%40example.com&list_id=foo.example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members/find
response:
body: {string: '{"http_etag": "\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\"",
"start": 0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 01:05:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['90']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.com
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 01:05:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
version: 1
././@LongLink 0000000 0000000 0000000 00000000150 00000000000 011211 L ustar 0000000 0000000 mailmanclient-3.2.2/src/mailmanclient/tests/data/TestMailingListMembershipTests.test_list_is_owner.yaml mailmanclient-3.2.2/src/mailmanclient/tests/data/TestMailingListMembershipTests.test_list_is_owner.y0000664 0001750 0001750 00000025045 13413656045 035372 0 ustar maxking maxking 0000000 0000000 interactions:
- request:
body: mail_host=example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/domains
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 01:05:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/domains/example.com']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.com
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"0955c4a2fe5c37a019be0fef3abbb952cdc328a4\"",
"mail_host": "example.com", "self_link": "http://localhost:9001/3.1/domains/example.com"}'}
headers:
Date: ['Wed, 16 May 2018 01:05:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['194']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=foo%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 01:05:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/lists/foo.example.com']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/foo.example.com
response:
body: {string: '{"display_name": "Foo", "fqdn_listname": "foo@example.com", "http_etag":
"\"4fb667c3d533cf6b2b6faa284a0d5d1302536524\"", "list_id": "foo.example.com",
"list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
"http://localhost:9001/3.1/lists/foo.example.com", "volume": 1}'}
headers:
Date: ['Wed, 16 May 2018 01:05:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['294']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: list_id=foo.example.com&subscriber=ann%40example.com&display_name=None&role=owner
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 01:05:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/members/00000000000000000000000000000096']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/foo.example.com/roster/owner
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/ann@example.com",
"delivery_mode": "regular", "display_name": "None", "email": "ann@example.com",
"http_etag": "\"47b2d3bc61d1c679641c6f4c0a5d8e70bae66cb8\"", "list_id": "foo.example.com",
"member_id": "00000000000000000000000000000096", "moderation_action": "accept",
"role": "owner", "self_link": "http://localhost:9001/3.1/members/00000000000000000000000000000096",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000082"}],
"http_etag": "\"d5eedb8061f1f394bbd045e41e5a147cc52373b7\"", "start": 0, "total_size":
1}'}
headers:
Date: ['Wed, 16 May 2018 01:05:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['598']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: subscriber=ann%40example.com&list_id=foo.example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members/find
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/ann@example.com",
"delivery_mode": "regular", "display_name": "None", "email": "ann@example.com",
"http_etag": "\"47b2d3bc61d1c679641c6f4c0a5d8e70bae66cb8\"", "list_id": "foo.example.com",
"member_id": "00000000000000000000000000000096", "moderation_action": "accept",
"role": "owner", "self_link": "http://localhost:9001/3.1/members/00000000000000000000000000000096",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000082"}],
"http_etag": "\"d5eedb8061f1f394bbd045e41e5a147cc52373b7\"", "start": 0, "total_size":
1}'}
headers:
Date: ['Wed, 16 May 2018 01:05:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['598']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: subscriber=random%40example.com&list_id=foo.example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members/find
response:
body: {string: '{"http_etag": "\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\"",
"start": 0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 01:05:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['90']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: list_id=foo.example.com&subscriber=bart%40example.com&display_name=None
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members
response:
body: {string: '{"http_etag": "\"1a1f5d9e41b526ccc79d2159569064376ab4d8c6\"",
"token": "0000000000000000000000000000000000000073", "token_owner": "subscriber"}'}
headers:
Date: ['Wed, 16 May 2018 01:05:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['143']
content-type: [application/json; charset=UTF-8]
status: {code: 202, message: Accepted}
- request:
body: subscriber=bart%40example.com&list_id=foo.example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members/find
response:
body: {string: '{"http_etag": "\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\"",
"start": 0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 01:05:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['90']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: list_id=foo.example.com&subscriber=mod%40example.com&display_name=None&role=moderator
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 01:05:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/members/00000000000000000000000000000097']
status: {code: 201, message: Created}
- request:
body: subscriber=mod%40example.com&list_id=foo.example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members/find
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/mod@example.com",
"delivery_mode": "regular", "display_name": "None", "email": "mod@example.com",
"http_etag": "\"1124e4d8b4d6b30aacc5f50453d185fba8f9ddc8\"", "list_id": "foo.example.com",
"member_id": "00000000000000000000000000000097", "moderation_action": "accept",
"role": "moderator", "self_link": "http://localhost:9001/3.1/members/00000000000000000000000000000097",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000081"}],
"http_etag": "\"d1062745f1c758e8aacb6d9cb35c7c852763132f\"", "start": 0, "total_size":
1}'}
headers:
Date: ['Wed, 16 May 2018 01:05:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['602']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.com
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 01:05:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
version: 1
././@LongLink 0000000 0000000 0000000 00000000157 00000000000 011220 L ustar 0000000 0000000 mailmanclient-3.2.2/src/mailmanclient/tests/data/TestMailingListMembershipTests.test_list_is_owner_or_mod.yaml mailmanclient-3.2.2/src/mailmanclient/tests/data/TestMailingListMembershipTests.test_list_is_owner_o0000664 0001750 0001750 00000026034 13413656045 035440 0 ustar maxking maxking 0000000 0000000 interactions:
- request:
body: mail_host=example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/domains
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 01:05:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/domains/example.com']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.com
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"0955c4a2fe5c37a019be0fef3abbb952cdc328a4\"",
"mail_host": "example.com", "self_link": "http://localhost:9001/3.1/domains/example.com"}'}
headers:
Date: ['Wed, 16 May 2018 01:05:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['194']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=foo%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 01:05:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/lists/foo.example.com']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/foo.example.com
response:
body: {string: '{"display_name": "Foo", "fqdn_listname": "foo@example.com", "http_etag":
"\"4fb667c3d533cf6b2b6faa284a0d5d1302536524\"", "list_id": "foo.example.com",
"list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
"http://localhost:9001/3.1/lists/foo.example.com", "volume": 1}'}
headers:
Date: ['Wed, 16 May 2018 01:05:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['294']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: list_id=foo.example.com&subscriber=mod%40example.com&display_name=None&role=moderator
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 01:06:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/members/00000000000000000000000000000098']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/foo.example.com/roster/moderator
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/mod@example.com",
"delivery_mode": "regular", "display_name": "None", "email": "mod@example.com",
"http_etag": "\"ee5eb2399c19ea5540d9790eb15078df160f3b57\"", "list_id": "foo.example.com",
"member_id": "00000000000000000000000000000098", "moderation_action": "accept",
"role": "moderator", "self_link": "http://localhost:9001/3.1/members/00000000000000000000000000000098",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000081"}],
"http_etag": "\"c3fdb4f80521df1c09dab41ddc95baccba9882db\"", "start": 0, "total_size":
1}'}
headers:
Date: ['Wed, 16 May 2018 01:06:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['602']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: subscriber=mod%40example.com&list_id=foo.example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members/find
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/mod@example.com",
"delivery_mode": "regular", "display_name": "None", "email": "mod@example.com",
"http_etag": "\"ee5eb2399c19ea5540d9790eb15078df160f3b57\"", "list_id": "foo.example.com",
"member_id": "00000000000000000000000000000098", "moderation_action": "accept",
"role": "moderator", "self_link": "http://localhost:9001/3.1/members/00000000000000000000000000000098",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000081"}],
"http_etag": "\"c3fdb4f80521df1c09dab41ddc95baccba9882db\"", "start": 0, "total_size":
1}'}
headers:
Date: ['Wed, 16 May 2018 01:06:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['602']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: list_id=foo.example.com&subscriber=owner%40example.com&display_name=None&role=owner
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 01:06:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/members/00000000000000000000000000000099']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/foo.example.com/roster/owner
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/owner@example.com",
"delivery_mode": "regular", "display_name": "None", "email": "owner@example.com",
"http_etag": "\"84cff6cebf07beb5762804370bf0d093e4c920d3\"", "list_id": "foo.example.com",
"member_id": "00000000000000000000000000000099", "moderation_action": "accept",
"role": "owner", "self_link": "http://localhost:9001/3.1/members/00000000000000000000000000000099",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000080"}],
"http_etag": "\"369aaeed3e388c76acea5fa18925b1c61e979e47\"", "start": 0, "total_size":
1}'}
headers:
Date: ['Wed, 16 May 2018 01:06:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['602']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: subscriber=owner%40example.com&list_id=foo.example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members/find
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/owner@example.com",
"delivery_mode": "regular", "display_name": "None", "email": "owner@example.com",
"http_etag": "\"84cff6cebf07beb5762804370bf0d093e4c920d3\"", "list_id": "foo.example.com",
"member_id": "00000000000000000000000000000099", "moderation_action": "accept",
"role": "owner", "self_link": "http://localhost:9001/3.1/members/00000000000000000000000000000099",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000080"}],
"http_etag": "\"369aaeed3e388c76acea5fa18925b1c61e979e47\"", "start": 0, "total_size":
1}'}
headers:
Date: ['Wed, 16 May 2018 01:06:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['602']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: list_id=foo.example.com&subscriber=subscriber%40example.com&display_name=None
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members
response:
body: {string: '{"http_etag": "\"29fd1aab1b3c94fab0fbadf52079f98db19c7c24\"",
"token": "0000000000000000000000000000000000000074", "token_owner": "subscriber"}'}
headers:
Date: ['Wed, 16 May 2018 01:06:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['143']
content-type: [application/json; charset=UTF-8]
status: {code: 202, message: Accepted}
- request:
body: subscriber=subscriber%40example.com&list_id=foo.example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members/find
response:
body: {string: '{"http_etag": "\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\"",
"start": 0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 01:06:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['90']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.com
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 01:06:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
version: 1
././@LongLink 0000000 0000000 0000000 00000000150 00000000000 011211 L ustar 0000000 0000000 mailmanclient-3.2.2/src/mailmanclient/tests/data/TestTemplates.test_domain_templates_with_password.yaml mailmanclient-3.2.2/src/mailmanclient/tests/data/TestTemplates.test_domain_templates_with_password.y0000664 0001750 0001750 00000113264 13413656045 035500 0 ustar maxking maxking 0000000 0000000 interactions:
- request:
body: mail_host=example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: POST
uri: http://localhost:9001/3.1/domains
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:39 GMT']
location: ['http://localhost:9001/3.1/domains/example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: GET
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"9ad7bd03ca7a1143b70757e61f22802a69b7717d\"",
"mail_host": "example.net", "self_link": "http://localhost:9001/3.1/domains/example.net"}'}
headers:
content-length: ['194']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:39 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=test1%40example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:39 GMT']
location: ['http://localhost:9001/3.1/lists/test1.example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"http_etag": "\"e0c0ecafcd369732f0875101b3258cdfcdd3de58\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['157']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:39 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: username=testuser&list%3Auser%3Anotice%3Agoodbye=http%3A%2F%2Fexample.com%2Fgoodbye.txt&password=testpass
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: PATCH
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Sun, 18 Mar 2018 17:58:39 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"f69cb57badc81447e057e52f524d50e722eeaf7b\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"e93ba7a856b1a73160cddf87cf69c8106129682b\"", "self_link": "http://localhost:9001/3.1/domains/example.net/uris",
"start": 0, "total_size": 1}'}
headers:
content-length: ['450']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:39 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"http_etag": "\"182f8246c4dc954b7c72c99d75026397fa065ee9\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['161']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:39 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"f69cb57badc81447e057e52f524d50e722eeaf7b\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"e93ba7a856b1a73160cddf87cf69c8106129682b\"", "self_link": "http://localhost:9001/3.1/domains/example.net/uris",
"start": 0, "total_size": 1}'}
headers:
content-length: ['450']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:39 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:goodbye
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Sun, 18 Mar 2018 17:58:39 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Sun, 18 Mar 2018 17:58:39 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"http_etag": "\"2b2b25eb596eb91faa52b59c9bbde7b25879266e\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 0}'}
headers:
content-length: ['137']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:39 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: mail_host=example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/domains
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:21 GMT']
location: ['http://localhost:9001/3.1/domains/example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"9ad7bd03ca7a1143b70757e61f22802a69b7717d\"",
"mail_host": "example.net", "self_link": "http://localhost:9001/3.1/domains/example.net"}'}
headers:
content-length: ['194']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=test1%40example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:21 GMT']
location: ['http://localhost:9001/3.1/lists/test1.example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"http_etag": "\"e0c0ecafcd369732f0875101b3258cdfcdd3de58\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['157']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: list%3Auser%3Anotice%3Agoodbye=http%3A%2F%2Fexample.com%2Fgoodbye.txt&username=testuser&password=testpass
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"f69cb57badc81447e057e52f524d50e722eeaf7b\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"e93ba7a856b1a73160cddf87cf69c8106129682b\"", "self_link": "http://localhost:9001/3.1/domains/example.net/uris",
"start": 0, "total_size": 1}'}
headers:
content-length: ['450']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"http_etag": "\"182f8246c4dc954b7c72c99d75026397fa065ee9\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['161']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"f69cb57badc81447e057e52f524d50e722eeaf7b\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"e93ba7a856b1a73160cddf87cf69c8106129682b\"", "self_link": "http://localhost:9001/3.1/domains/example.net/uris",
"start": 0, "total_size": 1}'}
headers:
content-length: ['450']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:goodbye
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"http_etag": "\"2b2b25eb596eb91faa52b59c9bbde7b25879266e\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 0}'}
headers:
content-length: ['137']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: mail_host=example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/domains
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:04 GMT']
location: ['http://localhost:9001/3.1/domains/example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"9ad7bd03ca7a1143b70757e61f22802a69b7717d\"",
"mail_host": "example.net", "self_link": "http://localhost:9001/3.1/domains/example.net"}'}
headers:
content-length: ['194']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:04 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=test1%40example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:04 GMT']
location: ['http://localhost:9001/3.1/lists/test1.example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"http_etag": "\"e0c0ecafcd369732f0875101b3258cdfcdd3de58\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['157']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:04 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: list%3Auser%3Anotice%3Agoodbye=http%3A%2F%2Fexample.com%2Fgoodbye.txt&username=testuser&password=testpass
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:47:04 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"f69cb57badc81447e057e52f524d50e722eeaf7b\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"e93ba7a856b1a73160cddf87cf69c8106129682b\"", "self_link": "http://localhost:9001/3.1/domains/example.net/uris",
"start": 0, "total_size": 1}'}
headers:
content-length: ['450']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:04 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"http_etag": "\"182f8246c4dc954b7c72c99d75026397fa065ee9\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['161']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:04 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"f69cb57badc81447e057e52f524d50e722eeaf7b\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"e93ba7a856b1a73160cddf87cf69c8106129682b\"", "self_link": "http://localhost:9001/3.1/domains/example.net/uris",
"start": 0, "total_size": 1}'}
headers:
content-length: ['450']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:04 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:goodbye
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:47:04 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:47:04 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"http_etag": "\"2b2b25eb596eb91faa52b59c9bbde7b25879266e\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 0}'}
headers:
content-length: ['137']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:04 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: mail_host=example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/domains
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:11 GMT']
location: ['http://localhost:9001/3.1/domains/example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"9ad7bd03ca7a1143b70757e61f22802a69b7717d\"",
"mail_host": "example.net", "self_link": "http://localhost:9001/3.1/domains/example.net"}'}
headers:
content-length: ['194']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:11 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=test1%40example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:11 GMT']
location: ['http://localhost:9001/3.1/lists/test1.example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"http_etag": "\"e0c0ecafcd369732f0875101b3258cdfcdd3de58\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['157']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:11 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: list%3Auser%3Anotice%3Agoodbye=http%3A%2F%2Fexample.com%2Fgoodbye.txt&username=testuser&password=testpass
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:48:11 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"f69cb57badc81447e057e52f524d50e722eeaf7b\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"e93ba7a856b1a73160cddf87cf69c8106129682b\"", "self_link": "http://localhost:9001/3.1/domains/example.net/uris",
"start": 0, "total_size": 1}'}
headers:
content-length: ['450']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:11 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"http_etag": "\"182f8246c4dc954b7c72c99d75026397fa065ee9\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['161']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:11 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"f69cb57badc81447e057e52f524d50e722eeaf7b\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"e93ba7a856b1a73160cddf87cf69c8106129682b\"", "self_link": "http://localhost:9001/3.1/domains/example.net/uris",
"start": 0, "total_size": 1}'}
headers:
content-length: ['450']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:11 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:goodbye
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:48:11 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:48:11 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"http_etag": "\"2b2b25eb596eb91faa52b59c9bbde7b25879266e\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 0}'}
headers:
content-length: ['137']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:11 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: mail_host=example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/domains
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:50:23 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/domains/example.net']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"9ad7bd03ca7a1143b70757e61f22802a69b7717d\"",
"mail_host": "example.net", "self_link": "http://localhost:9001/3.1/domains/example.net"}'}
headers:
Date: ['Wed, 16 May 2018 00:50:23 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['194']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=test1%40example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:50:23 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/lists/test1.example.net']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"http_etag": "\"e0c0ecafcd369732f0875101b3258cdfcdd3de58\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:50:23 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['157']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: list%3Auser%3Anotice%3Agoodbye=http%3A%2F%2Fexample.com%2Fgoodbye.txt&username=testuser&password=testpass
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:50:23 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"f69cb57badc81447e057e52f524d50e722eeaf7b\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"e93ba7a856b1a73160cddf87cf69c8106129682b\"", "self_link": "http://localhost:9001/3.1/domains/example.net/uris",
"start": 0, "total_size": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:50:24 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['450']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"http_etag": "\"182f8246c4dc954b7c72c99d75026397fa065ee9\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:50:24 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['161']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"f69cb57badc81447e057e52f524d50e722eeaf7b\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"e93ba7a856b1a73160cddf87cf69c8106129682b\"", "self_link": "http://localhost:9001/3.1/domains/example.net/uris",
"start": 0, "total_size": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:50:24 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['450']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:goodbye
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:50:24 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:50:24 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"http_etag": "\"2b2b25eb596eb91faa52b59c9bbde7b25879266e\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:50:24 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['137']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
version: 1
././@LongLink 0000000 0000000 0000000 00000000146 00000000000 011216 L ustar 0000000 0000000 mailmanclient-3.2.2/src/mailmanclient/tests/data/TestTemplates.test_list_templates_with_password.yaml mailmanclient-3.2.2/src/mailmanclient/tests/data/TestTemplates.test_list_templates_with_password.yam0000664 0001750 0001750 00000113524 13413656045 035521 0 ustar maxking maxking 0000000 0000000 interactions:
- request:
body: mail_host=example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: POST
uri: http://localhost:9001/3.1/domains
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:39 GMT']
location: ['http://localhost:9001/3.1/domains/example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: GET
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"9ad7bd03ca7a1143b70757e61f22802a69b7717d\"",
"mail_host": "example.net", "self_link": "http://localhost:9001/3.1/domains/example.net"}'}
headers:
content-length: ['194']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:39 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=test1%40example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:39 GMT']
location: ['http://localhost:9001/3.1/lists/test1.example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"http_etag": "\"182f8246c4dc954b7c72c99d75026397fa065ee9\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['161']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:39 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: username=testuser&list%3Auser%3Anotice%3Agoodbye=http%3A%2F%2Fexample.com%2Fgoodbye.txt&password=testpass
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: PATCH
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Sun, 18 Mar 2018 17:58:39 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"a5cf8db07e800e0fa9cf2555c292a3438724f6be\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"64ea786068df044929d327e68fabe2e36f1c7a1a\"", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris",
"start": 0, "total_size": 1}'}
headers:
content-length: ['458']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:39 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"a5cf8db07e800e0fa9cf2555c292a3438724f6be\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"64ea786068df044929d327e68fabe2e36f1c7a1a\"", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris",
"start": 0, "total_size": 1}'}
headers:
content-length: ['458']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:39 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: DELETE
uri: http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:goodbye
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"http_etag": "\"e0c0ecafcd369732f0875101b3258cdfcdd3de58\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['157']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"http_etag": "\"2b2b25eb596eb91faa52b59c9bbde7b25879266e\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 0}'}
headers:
content-length: ['137']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: mail_host=example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/domains
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:21 GMT']
location: ['http://localhost:9001/3.1/domains/example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"9ad7bd03ca7a1143b70757e61f22802a69b7717d\"",
"mail_host": "example.net", "self_link": "http://localhost:9001/3.1/domains/example.net"}'}
headers:
content-length: ['194']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=test1%40example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:21 GMT']
location: ['http://localhost:9001/3.1/lists/test1.example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"http_etag": "\"182f8246c4dc954b7c72c99d75026397fa065ee9\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['161']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: list%3Auser%3Anotice%3Agoodbye=http%3A%2F%2Fexample.com%2Fgoodbye.txt&username=testuser&password=testpass
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"a5cf8db07e800e0fa9cf2555c292a3438724f6be\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"64ea786068df044929d327e68fabe2e36f1c7a1a\"", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris",
"start": 0, "total_size": 1}'}
headers:
content-length: ['458']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"a5cf8db07e800e0fa9cf2555c292a3438724f6be\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"64ea786068df044929d327e68fabe2e36f1c7a1a\"", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris",
"start": 0, "total_size": 1}'}
headers:
content-length: ['458']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:goodbye
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"http_etag": "\"e0c0ecafcd369732f0875101b3258cdfcdd3de58\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['157']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"http_etag": "\"2b2b25eb596eb91faa52b59c9bbde7b25879266e\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 0}'}
headers:
content-length: ['137']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: mail_host=example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/domains
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:05 GMT']
location: ['http://localhost:9001/3.1/domains/example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"9ad7bd03ca7a1143b70757e61f22802a69b7717d\"",
"mail_host": "example.net", "self_link": "http://localhost:9001/3.1/domains/example.net"}'}
headers:
content-length: ['194']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:05 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=test1%40example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:05 GMT']
location: ['http://localhost:9001/3.1/lists/test1.example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"http_etag": "\"182f8246c4dc954b7c72c99d75026397fa065ee9\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['161']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:05 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: list%3Auser%3Anotice%3Agoodbye=http%3A%2F%2Fexample.com%2Fgoodbye.txt&username=testuser&password=testpass
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:47:05 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"a5cf8db07e800e0fa9cf2555c292a3438724f6be\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"64ea786068df044929d327e68fabe2e36f1c7a1a\"", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris",
"start": 0, "total_size": 1}'}
headers:
content-length: ['458']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:05 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"a5cf8db07e800e0fa9cf2555c292a3438724f6be\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"64ea786068df044929d327e68fabe2e36f1c7a1a\"", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris",
"start": 0, "total_size": 1}'}
headers:
content-length: ['458']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:05 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:goodbye
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:47:05 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"http_etag": "\"e0c0ecafcd369732f0875101b3258cdfcdd3de58\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['157']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:05 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:47:05 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"http_etag": "\"2b2b25eb596eb91faa52b59c9bbde7b25879266e\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 0}'}
headers:
content-length: ['137']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:05 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: mail_host=example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/domains
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:11 GMT']
location: ['http://localhost:9001/3.1/domains/example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"9ad7bd03ca7a1143b70757e61f22802a69b7717d\"",
"mail_host": "example.net", "self_link": "http://localhost:9001/3.1/domains/example.net"}'}
headers:
content-length: ['194']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:11 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=test1%40example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:11 GMT']
location: ['http://localhost:9001/3.1/lists/test1.example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"http_etag": "\"182f8246c4dc954b7c72c99d75026397fa065ee9\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['161']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:11 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: list%3Auser%3Anotice%3Agoodbye=http%3A%2F%2Fexample.com%2Fgoodbye.txt&username=testuser&password=testpass
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:48:11 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"a5cf8db07e800e0fa9cf2555c292a3438724f6be\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"64ea786068df044929d327e68fabe2e36f1c7a1a\"", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris",
"start": 0, "total_size": 1}'}
headers:
content-length: ['458']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:11 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"a5cf8db07e800e0fa9cf2555c292a3438724f6be\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"64ea786068df044929d327e68fabe2e36f1c7a1a\"", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris",
"start": 0, "total_size": 1}'}
headers:
content-length: ['458']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:11 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:goodbye
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:48:11 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"http_etag": "\"e0c0ecafcd369732f0875101b3258cdfcdd3de58\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['157']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:11 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:48:11 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"http_etag": "\"2b2b25eb596eb91faa52b59c9bbde7b25879266e\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 0}'}
headers:
content-length: ['137']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:11 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: mail_host=example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/domains
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:50:24 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/domains/example.net']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"9ad7bd03ca7a1143b70757e61f22802a69b7717d\"",
"mail_host": "example.net", "self_link": "http://localhost:9001/3.1/domains/example.net"}'}
headers:
Date: ['Wed, 16 May 2018 00:50:24 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['194']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=test1%40example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:50:24 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/lists/test1.example.net']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"http_etag": "\"182f8246c4dc954b7c72c99d75026397fa065ee9\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:50:24 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['161']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: list%3Auser%3Anotice%3Agoodbye=http%3A%2F%2Fexample.com%2Fgoodbye.txt&username=testuser&password=testpass
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:50:24 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"a5cf8db07e800e0fa9cf2555c292a3438724f6be\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"64ea786068df044929d327e68fabe2e36f1c7a1a\"", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris",
"start": 0, "total_size": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:50:24 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['458']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"a5cf8db07e800e0fa9cf2555c292a3438724f6be\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"64ea786068df044929d327e68fabe2e36f1c7a1a\"", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris",
"start": 0, "total_size": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:50:24 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['458']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:goodbye
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:50:24 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"http_etag": "\"e0c0ecafcd369732f0875101b3258cdfcdd3de58\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:50:24 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['157']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:50:24 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"http_etag": "\"2b2b25eb596eb91faa52b59c9bbde7b25879266e\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:50:24 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['137']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
version: 1
mailmanclient-3.2.2/src/mailmanclient/tests/data/TestTemplates.test_set_template.yaml 0000664 0001750 0001750 00000203534 13413656045 032356 0 ustar maxking maxking 0000000 0000000 interactions:
- request:
body: mail_host=example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: POST
uri: http://localhost:9001/3.1/domains
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
location: ['http://localhost:9001/3.1/domains/example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: GET
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"9ad7bd03ca7a1143b70757e61f22802a69b7717d\"",
"mail_host": "example.net", "self_link": "http://localhost:9001/3.1/domains/example.net"}'}
headers:
content-length: ['194']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=test1%40example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
location: ['http://localhost:9001/3.1/lists/test1.example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"http_etag": "\"2b2b25eb596eb91faa52b59c9bbde7b25879266e\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 0}'}
headers:
content-length: ['137']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"http_etag": "\"e0c0ecafcd369732f0875101b3258cdfcdd3de58\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['157']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"http_etag": "\"182f8246c4dc954b7c72c99d75026397fa065ee9\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['161']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: list%3Auser%3Anotice%3Awelcome=http%3A%2F%2Fexample.com%2Fwelcome.txt
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: PATCH
uri: http://localhost:9001/3.1/uris
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: list%3Auser%3Anotice%3Awelcome=http%3A%2F%2Fexample.com%2Fwelcome2.txt
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: PATCH
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: list%3Auser%3Anotice%3Awelcome=http%3A%2F%2Fexample.com%2Fwelcome3.txt
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: PATCH
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"entries": [{"http_etag": "\"89348928afbe12df486494075a35ce101301de7b\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome.txt"}], "http_etag": "\"acba6466e8c15c4adb075493e5827acf619e8039\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 1}'}
headers:
content-length: ['362']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"0f8f86d405741dec2d20dbaba8e22d11aa20622e\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome2.txt"}], "http_etag": "\"c8ac720340a53a890ca12c72be5dd2a309b54d10\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 1}'}
headers:
content-length: ['403']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"0529daf7b182e1d618021bc5fb88b556edb69654\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome3.txt"}], "http_etag": "\"80e4312b71f6c94f809d334151d413dcf7ba94b5\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 1}'}
headers:
content-length: ['411']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"0529daf7b182e1d618021bc5fb88b556edb69654\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome3.txt"}], "http_etag": "\"80e4312b71f6c94f809d334151d413dcf7ba94b5\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 1}'}
headers:
content-length: ['411']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: DELETE
uri: http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:welcome
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"0f8f86d405741dec2d20dbaba8e22d11aa20622e\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome2.txt"}], "http_etag": "\"c8ac720340a53a890ca12c72be5dd2a309b54d10\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 1}'}
headers:
content-length: ['403']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:welcome
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"entries": [{"http_etag": "\"89348928afbe12df486494075a35ce101301de7b\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome.txt"}], "http_etag": "\"acba6466e8c15c4adb075493e5827acf619e8039\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 1}'}
headers:
content-length: ['362']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: DELETE
uri: http://localhost:9001/3.1/uris/list:user:notice:welcome
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: mail_host=example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/domains
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:21 GMT']
location: ['http://localhost:9001/3.1/domains/example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"9ad7bd03ca7a1143b70757e61f22802a69b7717d\"",
"mail_host": "example.net", "self_link": "http://localhost:9001/3.1/domains/example.net"}'}
headers:
content-length: ['194']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=test1%40example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:21 GMT']
location: ['http://localhost:9001/3.1/lists/test1.example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"http_etag": "\"2b2b25eb596eb91faa52b59c9bbde7b25879266e\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 0}'}
headers:
content-length: ['137']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"http_etag": "\"e0c0ecafcd369732f0875101b3258cdfcdd3de58\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['157']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"http_etag": "\"182f8246c4dc954b7c72c99d75026397fa065ee9\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['161']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: list%3Auser%3Anotice%3Awelcome=http%3A%2F%2Fexample.com%2Fwelcome.txt
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/uris
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: list%3Auser%3Anotice%3Awelcome=http%3A%2F%2Fexample.com%2Fwelcome2.txt
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: list%3Auser%3Anotice%3Awelcome=http%3A%2F%2Fexample.com%2Fwelcome3.txt
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"entries": [{"http_etag": "\"89348928afbe12df486494075a35ce101301de7b\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome.txt"}], "http_etag": "\"acba6466e8c15c4adb075493e5827acf619e8039\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 1}'}
headers:
content-length: ['362']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"0f8f86d405741dec2d20dbaba8e22d11aa20622e\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome2.txt"}], "http_etag": "\"c8ac720340a53a890ca12c72be5dd2a309b54d10\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 1}'}
headers:
content-length: ['403']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"0529daf7b182e1d618021bc5fb88b556edb69654\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome3.txt"}], "http_etag": "\"80e4312b71f6c94f809d334151d413dcf7ba94b5\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 1}'}
headers:
content-length: ['411']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"0529daf7b182e1d618021bc5fb88b556edb69654\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome3.txt"}], "http_etag": "\"80e4312b71f6c94f809d334151d413dcf7ba94b5\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 1}'}
headers:
content-length: ['411']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:welcome
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:46:21 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"0f8f86d405741dec2d20dbaba8e22d11aa20622e\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome2.txt"}], "http_etag": "\"c8ac720340a53a890ca12c72be5dd2a309b54d10\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 1}'}
headers:
content-length: ['403']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:22 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:welcome
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:46:22 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:46:22 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"entries": [{"http_etag": "\"89348928afbe12df486494075a35ce101301de7b\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome.txt"}], "http_etag": "\"acba6466e8c15c4adb075493e5827acf619e8039\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 1}'}
headers:
content-length: ['362']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:22 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/uris/list:user:notice:welcome
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:46:22 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: mail_host=example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/domains
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:05 GMT']
location: ['http://localhost:9001/3.1/domains/example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"9ad7bd03ca7a1143b70757e61f22802a69b7717d\"",
"mail_host": "example.net", "self_link": "http://localhost:9001/3.1/domains/example.net"}'}
headers:
content-length: ['194']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:05 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=test1%40example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:05 GMT']
location: ['http://localhost:9001/3.1/lists/test1.example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"http_etag": "\"2b2b25eb596eb91faa52b59c9bbde7b25879266e\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 0}'}
headers:
content-length: ['137']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:05 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"http_etag": "\"e0c0ecafcd369732f0875101b3258cdfcdd3de58\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['157']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:05 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"http_etag": "\"182f8246c4dc954b7c72c99d75026397fa065ee9\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['161']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:05 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: list%3Auser%3Anotice%3Awelcome=http%3A%2F%2Fexample.com%2Fwelcome.txt
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/uris
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:47:05 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: list%3Auser%3Anotice%3Awelcome=http%3A%2F%2Fexample.com%2Fwelcome2.txt
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:47:05 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: list%3Auser%3Anotice%3Awelcome=http%3A%2F%2Fexample.com%2Fwelcome3.txt
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:47:05 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"entries": [{"http_etag": "\"89348928afbe12df486494075a35ce101301de7b\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome.txt"}], "http_etag": "\"acba6466e8c15c4adb075493e5827acf619e8039\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 1}'}
headers:
content-length: ['362']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:05 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"0f8f86d405741dec2d20dbaba8e22d11aa20622e\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome2.txt"}], "http_etag": "\"c8ac720340a53a890ca12c72be5dd2a309b54d10\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 1}'}
headers:
content-length: ['403']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:05 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"0529daf7b182e1d618021bc5fb88b556edb69654\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome3.txt"}], "http_etag": "\"80e4312b71f6c94f809d334151d413dcf7ba94b5\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 1}'}
headers:
content-length: ['411']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:05 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"0529daf7b182e1d618021bc5fb88b556edb69654\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome3.txt"}], "http_etag": "\"80e4312b71f6c94f809d334151d413dcf7ba94b5\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 1}'}
headers:
content-length: ['411']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:05 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:welcome
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:47:05 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"0f8f86d405741dec2d20dbaba8e22d11aa20622e\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome2.txt"}], "http_etag": "\"c8ac720340a53a890ca12c72be5dd2a309b54d10\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 1}'}
headers:
content-length: ['403']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:05 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:welcome
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:47:05 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:47:05 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"entries": [{"http_etag": "\"89348928afbe12df486494075a35ce101301de7b\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome.txt"}], "http_etag": "\"acba6466e8c15c4adb075493e5827acf619e8039\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 1}'}
headers:
content-length: ['362']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:05 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/uris/list:user:notice:welcome
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:47:05 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: mail_host=example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/domains
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:12 GMT']
location: ['http://localhost:9001/3.1/domains/example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"9ad7bd03ca7a1143b70757e61f22802a69b7717d\"",
"mail_host": "example.net", "self_link": "http://localhost:9001/3.1/domains/example.net"}'}
headers:
content-length: ['194']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:12 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=test1%40example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:12 GMT']
location: ['http://localhost:9001/3.1/lists/test1.example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"http_etag": "\"2b2b25eb596eb91faa52b59c9bbde7b25879266e\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 0}'}
headers:
content-length: ['137']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:12 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"http_etag": "\"e0c0ecafcd369732f0875101b3258cdfcdd3de58\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['157']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:12 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"http_etag": "\"182f8246c4dc954b7c72c99d75026397fa065ee9\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['161']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:12 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: list%3Auser%3Anotice%3Awelcome=http%3A%2F%2Fexample.com%2Fwelcome.txt
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/uris
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:48:12 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: list%3Auser%3Anotice%3Awelcome=http%3A%2F%2Fexample.com%2Fwelcome2.txt
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:48:12 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: list%3Auser%3Anotice%3Awelcome=http%3A%2F%2Fexample.com%2Fwelcome3.txt
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:48:12 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"entries": [{"http_etag": "\"89348928afbe12df486494075a35ce101301de7b\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome.txt"}], "http_etag": "\"acba6466e8c15c4adb075493e5827acf619e8039\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 1}'}
headers:
content-length: ['362']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:12 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"0f8f86d405741dec2d20dbaba8e22d11aa20622e\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome2.txt"}], "http_etag": "\"c8ac720340a53a890ca12c72be5dd2a309b54d10\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 1}'}
headers:
content-length: ['403']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:12 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"0529daf7b182e1d618021bc5fb88b556edb69654\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome3.txt"}], "http_etag": "\"80e4312b71f6c94f809d334151d413dcf7ba94b5\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 1}'}
headers:
content-length: ['411']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:12 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"0529daf7b182e1d618021bc5fb88b556edb69654\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome3.txt"}], "http_etag": "\"80e4312b71f6c94f809d334151d413dcf7ba94b5\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 1}'}
headers:
content-length: ['411']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:12 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:welcome
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:48:12 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"0f8f86d405741dec2d20dbaba8e22d11aa20622e\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome2.txt"}], "http_etag": "\"c8ac720340a53a890ca12c72be5dd2a309b54d10\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 1}'}
headers:
content-length: ['403']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:12 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:welcome
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:48:12 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:48:12 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"entries": [{"http_etag": "\"89348928afbe12df486494075a35ce101301de7b\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome.txt"}], "http_etag": "\"acba6466e8c15c4adb075493e5827acf619e8039\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 1}'}
headers:
content-length: ['362']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:12 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/uris/list:user:notice:welcome
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:48:12 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: mail_host=example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/domains
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:50:25 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/domains/example.net']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"9ad7bd03ca7a1143b70757e61f22802a69b7717d\"",
"mail_host": "example.net", "self_link": "http://localhost:9001/3.1/domains/example.net"}'}
headers:
Date: ['Wed, 16 May 2018 00:50:25 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['194']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=test1%40example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:50:25 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/lists/test1.example.net']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"http_etag": "\"2b2b25eb596eb91faa52b59c9bbde7b25879266e\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:50:25 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['137']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"http_etag": "\"e0c0ecafcd369732f0875101b3258cdfcdd3de58\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:50:25 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['157']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"http_etag": "\"182f8246c4dc954b7c72c99d75026397fa065ee9\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:50:25 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['161']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: list%3Auser%3Anotice%3Awelcome=http%3A%2F%2Fexample.com%2Fwelcome.txt
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/uris
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:50:25 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: list%3Auser%3Anotice%3Awelcome=http%3A%2F%2Fexample.com%2Fwelcome2.txt
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:50:25 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: list%3Auser%3Anotice%3Awelcome=http%3A%2F%2Fexample.com%2Fwelcome3.txt
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:50:25 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"entries": [{"http_etag": "\"89348928afbe12df486494075a35ce101301de7b\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome.txt"}], "http_etag": "\"acba6466e8c15c4adb075493e5827acf619e8039\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:50:25 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['362']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"0f8f86d405741dec2d20dbaba8e22d11aa20622e\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome2.txt"}], "http_etag": "\"c8ac720340a53a890ca12c72be5dd2a309b54d10\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:50:25 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['403']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"0529daf7b182e1d618021bc5fb88b556edb69654\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome3.txt"}], "http_etag": "\"80e4312b71f6c94f809d334151d413dcf7ba94b5\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:50:25 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['411']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"0529daf7b182e1d618021bc5fb88b556edb69654\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome3.txt"}], "http_etag": "\"80e4312b71f6c94f809d334151d413dcf7ba94b5\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:50:25 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['411']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/lists/test1.example.net/uris/list:user:notice:welcome
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:50:25 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"entries": [{"http_etag": "\"0f8f86d405741dec2d20dbaba8e22d11aa20622e\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome2.txt"}], "http_etag": "\"c8ac720340a53a890ca12c72be5dd2a309b54d10\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:50:25 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['403']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net/uris/list:user:notice:welcome
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:50:25 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:50:25 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"entries": [{"http_etag": "\"89348928afbe12df486494075a35ce101301de7b\"",
"name": "list:user:notice:welcome", "self_link": "http://localhost:9001/3.1/uris/list:user:notice:welcome",
"uri": "http://example.com/welcome.txt"}], "http_etag": "\"acba6466e8c15c4adb075493e5827acf619e8039\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:50:25 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['362']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/uris/list:user:notice:welcome
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:50:25 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
version: 1
././@LongLink 0000000 0000000 0000000 00000000146 00000000000 011216 L ustar 0000000 0000000 mailmanclient-3.2.2/src/mailmanclient/tests/data/TestTemplates.test_site_templates_with_password.yaml mailmanclient-3.2.2/src/mailmanclient/tests/data/TestTemplates.test_site_templates_with_password.yam0000664 0001750 0001750 00000111624 13413656045 035511 0 ustar maxking maxking 0000000 0000000 interactions:
- request:
body: mail_host=example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: POST
uri: http://localhost:9001/3.1/domains
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
location: ['http://localhost:9001/3.1/domains/example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: GET
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"9ad7bd03ca7a1143b70757e61f22802a69b7717d\"",
"mail_host": "example.net", "self_link": "http://localhost:9001/3.1/domains/example.net"}'}
headers:
content-length: ['194']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=test1%40example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
location: ['http://localhost:9001/3.1/lists/test1.example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"http_etag": "\"2b2b25eb596eb91faa52b59c9bbde7b25879266e\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 0}'}
headers:
content-length: ['137']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: username=testuser&list%3Auser%3Anotice%3Agoodbye=http%3A%2F%2Fexample.com%2Fgoodbye.txt&password=testpass
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: PATCH
uri: http://localhost:9001/3.1/uris
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"entries": [{"http_etag": "\"729705404c688278f42c95629538775386779637\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"3ca2f1a7f60bf8b2d2ec8f1e8bf57b44292ccad6\"", "self_link": "http://localhost:9001/3.1/uris",
"start": 0, "total_size": 1}'}
headers:
content-length: ['410']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"http_etag": "\"182f8246c4dc954b7c72c99d75026397fa065ee9\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['161']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"http_etag": "\"e0c0ecafcd369732f0875101b3258cdfcdd3de58\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['157']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"entries": [{"http_etag": "\"729705404c688278f42c95629538775386779637\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"3ca2f1a7f60bf8b2d2ec8f1e8bf57b44292ccad6\"", "self_link": "http://localhost:9001/3.1/uris",
"start": 0, "total_size": 1}'}
headers:
content-length: ['410']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0a1]
method: DELETE
uri: http://localhost:9001/3.1/uris/list:user:notice:goodbye
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Sun, 18 Mar 2018 17:58:40 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: mail_host=example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/domains
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:22 GMT']
location: ['http://localhost:9001/3.1/domains/example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"9ad7bd03ca7a1143b70757e61f22802a69b7717d\"",
"mail_host": "example.net", "self_link": "http://localhost:9001/3.1/domains/example.net"}'}
headers:
content-length: ['194']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:22 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=test1%40example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:22 GMT']
location: ['http://localhost:9001/3.1/lists/test1.example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"http_etag": "\"2b2b25eb596eb91faa52b59c9bbde7b25879266e\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 0}'}
headers:
content-length: ['137']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:22 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: list%3Auser%3Anotice%3Agoodbye=http%3A%2F%2Fexample.com%2Fgoodbye.txt&username=testuser&password=testpass
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/uris
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:46:22 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"entries": [{"http_etag": "\"729705404c688278f42c95629538775386779637\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"3ca2f1a7f60bf8b2d2ec8f1e8bf57b44292ccad6\"", "self_link": "http://localhost:9001/3.1/uris",
"start": 0, "total_size": 1}'}
headers:
content-length: ['410']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:22 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"http_etag": "\"182f8246c4dc954b7c72c99d75026397fa065ee9\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['161']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:22 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"http_etag": "\"e0c0ecafcd369732f0875101b3258cdfcdd3de58\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['157']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:22 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:46:22 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"entries": [{"http_etag": "\"729705404c688278f42c95629538775386779637\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"3ca2f1a7f60bf8b2d2ec8f1e8bf57b44292ccad6\"", "self_link": "http://localhost:9001/3.1/uris",
"start": 0, "total_size": 1}'}
headers:
content-length: ['410']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:22 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/uris/list:user:notice:goodbye
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:46:22 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: mail_host=example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/domains
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:06 GMT']
location: ['http://localhost:9001/3.1/domains/example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"9ad7bd03ca7a1143b70757e61f22802a69b7717d\"",
"mail_host": "example.net", "self_link": "http://localhost:9001/3.1/domains/example.net"}'}
headers:
content-length: ['194']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:06 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=test1%40example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:06 GMT']
location: ['http://localhost:9001/3.1/lists/test1.example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"http_etag": "\"2b2b25eb596eb91faa52b59c9bbde7b25879266e\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 0}'}
headers:
content-length: ['137']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:06 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: list%3Auser%3Anotice%3Agoodbye=http%3A%2F%2Fexample.com%2Fgoodbye.txt&username=testuser&password=testpass
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/uris
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:47:06 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"entries": [{"http_etag": "\"729705404c688278f42c95629538775386779637\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"3ca2f1a7f60bf8b2d2ec8f1e8bf57b44292ccad6\"", "self_link": "http://localhost:9001/3.1/uris",
"start": 0, "total_size": 1}'}
headers:
content-length: ['410']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:06 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"http_etag": "\"182f8246c4dc954b7c72c99d75026397fa065ee9\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['161']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:06 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"http_etag": "\"e0c0ecafcd369732f0875101b3258cdfcdd3de58\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['157']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:06 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:47:06 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"entries": [{"http_etag": "\"729705404c688278f42c95629538775386779637\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"3ca2f1a7f60bf8b2d2ec8f1e8bf57b44292ccad6\"", "self_link": "http://localhost:9001/3.1/uris",
"start": 0, "total_size": 1}'}
headers:
content-length: ['410']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:06 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/uris/list:user:notice:goodbye
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:47:06 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: mail_host=example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/domains
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:12 GMT']
location: ['http://localhost:9001/3.1/domains/example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"9ad7bd03ca7a1143b70757e61f22802a69b7717d\"",
"mail_host": "example.net", "self_link": "http://localhost:9001/3.1/domains/example.net"}'}
headers:
content-length: ['194']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:12 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=test1%40example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:12 GMT']
location: ['http://localhost:9001/3.1/lists/test1.example.net']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"http_etag": "\"2b2b25eb596eb91faa52b59c9bbde7b25879266e\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 0}'}
headers:
content-length: ['137']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:12 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: list%3Auser%3Anotice%3Agoodbye=http%3A%2F%2Fexample.com%2Fgoodbye.txt&username=testuser&password=testpass
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/uris
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:48:12 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"entries": [{"http_etag": "\"729705404c688278f42c95629538775386779637\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"3ca2f1a7f60bf8b2d2ec8f1e8bf57b44292ccad6\"", "self_link": "http://localhost:9001/3.1/uris",
"start": 0, "total_size": 1}'}
headers:
content-length: ['410']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:12 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"http_etag": "\"182f8246c4dc954b7c72c99d75026397fa065ee9\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['161']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:13 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"http_etag": "\"e0c0ecafcd369732f0875101b3258cdfcdd3de58\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 0}'}
headers:
content-length: ['157']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:13 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:48:13 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"entries": [{"http_etag": "\"729705404c688278f42c95629538775386779637\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"3ca2f1a7f60bf8b2d2ec8f1e8bf57b44292ccad6\"", "self_link": "http://localhost:9001/3.1/uris",
"start": 0, "total_size": 1}'}
headers:
content-length: ['410']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:13 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/uris/list:user:notice:goodbye
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:48:13 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: mail_host=example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/domains
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:50:25 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/domains/example.net']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"9ad7bd03ca7a1143b70757e61f22802a69b7717d\"",
"mail_host": "example.net", "self_link": "http://localhost:9001/3.1/domains/example.net"}'}
headers:
Date: ['Wed, 16 May 2018 00:50:25 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['194']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=test1%40example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:50:25 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/lists/test1.example.net']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"http_etag": "\"2b2b25eb596eb91faa52b59c9bbde7b25879266e\"",
"self_link": "http://localhost:9001/3.1/uris", "start": 0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:50:25 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['137']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: list%3Auser%3Anotice%3Agoodbye=http%3A%2F%2Fexample.com%2Fgoodbye.txt&username=testuser&password=testpass
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/uris
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:50:25 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"entries": [{"http_etag": "\"729705404c688278f42c95629538775386779637\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"3ca2f1a7f60bf8b2d2ec8f1e8bf57b44292ccad6\"", "self_link": "http://localhost:9001/3.1/uris",
"start": 0, "total_size": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:50:26 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['410']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test1.example.net/uris
response:
body: {string: '{"http_etag": "\"182f8246c4dc954b7c72c99d75026397fa065ee9\"",
"self_link": "http://localhost:9001/3.1/lists/test1.example.net/uris", "start":
0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:50:26 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['161']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net/uris
response:
body: {string: '{"http_etag": "\"e0c0ecafcd369732f0875101b3258cdfcdd3de58\"",
"self_link": "http://localhost:9001/3.1/domains/example.net/uris", "start":
0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:50:26 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['157']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:50:26 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/uris
response:
body: {string: '{"entries": [{"http_etag": "\"729705404c688278f42c95629538775386779637\"",
"name": "list:user:notice:goodbye", "password": "testpass", "self_link": "http://localhost:9001/3.1/uris/list:user:notice:goodbye",
"uri": "http://example.com/goodbye.txt", "username": "testuser"}], "http_etag":
"\"3ca2f1a7f60bf8b2d2ec8f1e8bf57b44292ccad6\"", "self_link": "http://localhost:9001/3.1/uris",
"start": 0, "total_size": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:50:26 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['410']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/uris/list:user:notice:goodbye
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:50:26 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
version: 1
mailmanclient-3.2.2/src/mailmanclient/tests/data/TestUnicode.test_create_user.yaml 0000664 0001750 0001750 00000143405 13413656045 031621 0 ustar maxking maxking 0000000 0000000 interactions:
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.1.2a1]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 25 Feb 2018 03:57:25 GMT']
location: ['http://localhost:9001/3.1/users/00000000000000000000000000000031']
server: [WSGIServer/0.2 CPython/3.5.2]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.1.2a1]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000031
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"1ac9d69fe4daa044fdaf497d109418d76d887427\"", "is_server_owner":
false, "password": "$6$rounds=656000$35RkPXZXZC1DdVEJ$Y3lrLT8wqiUuGSod2llvqV2QhRKR90v.I0KuK7u8iK69SofOR5AgmrR6MFxvRN6xvWGOuADZL6OvSHq0iVwiB.",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000031",
"user_id": "00000000000000000000000000000031"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 25 Feb 2018 03:57:25 GMT']
server: [WSGIServer/0.2 CPython/3.5.2]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.1.2a1]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"1ac9d69fe4daa044fdaf497d109418d76d887427\"", "is_server_owner":
false, "password": "$6$rounds=656000$35RkPXZXZC1DdVEJ$Y3lrLT8wqiUuGSod2llvqV2QhRKR90v.I0KuK7u8iK69SofOR5AgmrR6MFxvRN6xvWGOuADZL6OvSHq0iVwiB.",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000031",
"user_id": "00000000000000000000000000000031"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 25 Feb 2018 03:57:25 GMT']
server: [WSGIServer/0.2 CPython/3.5.2]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.1.2a1]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000031
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Sun, 25 Feb 2018 03:57:25 GMT']
server: [WSGIServer/0.2 CPython/3.5.2]
status: {code: 204, message: No Content}
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:12:32 GMT']
location: ['http://localhost:9001/3.1/users/00000000000000000000000000000010']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000010
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"f46bf77282d8453096558b0c02c5add3a51238e2\"", "is_server_owner":
false, "password": "$6$rounds=656000$LtTCCRDdSTQ7QlUV$8tqE5SbDBYCua1oSvmDE0xflTrq4FnGeWthUgUSwHeA3dFegHotJ6cDDbhxAzKGx3YrXj3nO2kLa.Jbddh8wa.",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000010",
"user_id": "00000000000000000000000000000010"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:12:32 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"f46bf77282d8453096558b0c02c5add3a51238e2\"", "is_server_owner":
false, "password": "$6$rounds=656000$LtTCCRDdSTQ7QlUV$8tqE5SbDBYCua1oSvmDE0xflTrq4FnGeWthUgUSwHeA3dFegHotJ6cDDbhxAzKGx3YrXj3nO2kLa.Jbddh8wa.",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000010",
"user_id": "00000000000000000000000000000010"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:12:32 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000010
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:12:32 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:13:02 GMT']
location: ['http://localhost:9001/3.1/users/00000000000000000000000000000015']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000015
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"6f0656e4375f8b429d212305d06df86e977d3d5f\"", "is_server_owner":
false, "password": "$6$rounds=656000$lH9qStiLmUR3tHpr$zV1gfYkXekuIsXX5OPdUx38NpFgUXJCfEmxLx60mUQbw4Iaun4ChiPLxBm3lsVkL3TdCPpy9GI.GtPd5dGhh1.",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000015",
"user_id": "00000000000000000000000000000015"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:13:02 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"6f0656e4375f8b429d212305d06df86e977d3d5f\"", "is_server_owner":
false, "password": "$6$rounds=656000$lH9qStiLmUR3tHpr$zV1gfYkXekuIsXX5OPdUx38NpFgUXJCfEmxLx60mUQbw4Iaun4ChiPLxBm3lsVkL3TdCPpy9GI.GtPd5dGhh1.",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000015",
"user_id": "00000000000000000000000000000015"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:13:02 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000015
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:13:02 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:13:35 GMT']
location: ['http://localhost:9001/3.1/users/00000000000000000000000000000017']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000017
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"1635b6065052f01ab528bfecc72e9cb946fe2838\"", "is_server_owner":
false, "password": "$6$rounds=656000$ndqCbeuIEHGq5bz4$aiwIDcgF3oU9xFFL7FBZnGTfULMlQeuMcRDVDwt8fIHZmUXZ2qhwkRVZE0GMGsrfmJQLQNY9NiqkfLIKDGWxb1",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000017",
"user_id": "00000000000000000000000000000017"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:13:35 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"1635b6065052f01ab528bfecc72e9cb946fe2838\"", "is_server_owner":
false, "password": "$6$rounds=656000$ndqCbeuIEHGq5bz4$aiwIDcgF3oU9xFFL7FBZnGTfULMlQeuMcRDVDwt8fIHZmUXZ2qhwkRVZE0GMGsrfmJQLQNY9NiqkfLIKDGWxb1",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000017",
"user_id": "00000000000000000000000000000017"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:13:35 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000017
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:13:35 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:14:10 GMT']
location: ['http://localhost:9001/3.1/users/0000000000000000000000000000001e']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/0000000000000000000000000000001e
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"375bbf6350ff8fb6a2aaed3f99e6f9f81cf1b41c\"", "is_server_owner":
false, "password": "$6$rounds=656000$rlzsnBjYSKK1Drpb$F/luCmyVwTCfvEJRaQb.3SFdFU0l.gnOkL3tG2J3EWDVo50srGTUUrv9QoMf.GS4SYQ6atzG8e4kkAbw4omMA.",
"self_link": "http://localhost:9001/3.1/users/0000000000000000000000000000001e",
"user_id": "0000000000000000000000000000001e"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:14:10 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"375bbf6350ff8fb6a2aaed3f99e6f9f81cf1b41c\"", "is_server_owner":
false, "password": "$6$rounds=656000$rlzsnBjYSKK1Drpb$F/luCmyVwTCfvEJRaQb.3SFdFU0l.gnOkL3tG2J3EWDVo50srGTUUrv9QoMf.GS4SYQ6atzG8e4kkAbw4omMA.",
"self_link": "http://localhost:9001/3.1/users/0000000000000000000000000000001e",
"user_id": "0000000000000000000000000000001e"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:14:11 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/0000000000000000000000000000001e
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:14:11 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:15:58 GMT']
location: ['http://localhost:9001/3.1/users/00000000000000000000000000000020']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000020
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"063475168bd1d6b3466310faa5a847b86e41e293\"", "is_server_owner":
false, "password": "$6$rounds=656000$uRZMFi4HOAVBPuJJ$mOcDfMdfW0IHW.dn.xWkZd0TDSxbJLBq.98jRJBizrS4f9wX4bZlGus8IIjEHPInvv1sXifG6p39YDn960sxx0",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000020",
"user_id": "00000000000000000000000000000020"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:15:58 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"063475168bd1d6b3466310faa5a847b86e41e293\"", "is_server_owner":
false, "password": "$6$rounds=656000$uRZMFi4HOAVBPuJJ$mOcDfMdfW0IHW.dn.xWkZd0TDSxbJLBq.98jRJBizrS4f9wX4bZlGus8IIjEHPInvv1sXifG6p39YDn960sxx0",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000020",
"user_id": "00000000000000000000000000000020"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:15:58 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000020
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:15:58 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:17:52 GMT']
location: ['http://localhost:9001/3.1/users/00000000000000000000000000000022']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000022
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"2b04a02a43fc0169f73b654354127d4235246069\"", "is_server_owner":
false, "password": "$6$rounds=656000$taIhTIEd4.6V.5ec$xZj/Fh9qzXtwGNKgW78kD6ZlRo6uDWLzWsm7KWuQAhgBS394MjEAIqGf3h672y8VdYMEKSxTUIHVzxKj4ltkG/",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000022",
"user_id": "00000000000000000000000000000022"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:17:53 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"2b04a02a43fc0169f73b654354127d4235246069\"", "is_server_owner":
false, "password": "$6$rounds=656000$taIhTIEd4.6V.5ec$xZj/Fh9qzXtwGNKgW78kD6ZlRo6uDWLzWsm7KWuQAhgBS394MjEAIqGf3h672y8VdYMEKSxTUIHVzxKj4ltkG/",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000022",
"user_id": "00000000000000000000000000000022"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:17:53 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000022
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:17:53 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:18:57 GMT']
location: ['http://localhost:9001/3.1/users/00000000000000000000000000000024']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000024
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"b89cbb92a9eee2fda6e545d1cfb5ecba32b94bc3\"", "is_server_owner":
false, "password": "$6$rounds=656000$i7Bo30koYfeTzCQW$fCv2WBm/g0V.CPsD1/pLG1sBfRTC497tt0th9vAA0Km.PzT4iIBpaFgCt/gO9lCl3zy6hkR3Oi/RJvtTkHDCa0",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000024",
"user_id": "00000000000000000000000000000024"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:18:57 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"b89cbb92a9eee2fda6e545d1cfb5ecba32b94bc3\"", "is_server_owner":
false, "password": "$6$rounds=656000$i7Bo30koYfeTzCQW$fCv2WBm/g0V.CPsD1/pLG1sBfRTC497tt0th9vAA0Km.PzT4iIBpaFgCt/gO9lCl3zy6hkR3Oi/RJvtTkHDCa0",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000024",
"user_id": "00000000000000000000000000000024"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:18:57 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000024
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:18:57 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:19:56 GMT']
location: ['http://localhost:9001/3.1/users/00000000000000000000000000000026']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000026
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"b5cc668fc02891c747e2f7c1fc603bb12dc6780d\"", "is_server_owner":
false, "password": "$6$rounds=656000$jHpMfOJV0nv3OSGj$SHbyplaaEarO5HkKrWllVo8S072KbDnYrtXbf0A/NNAGdIscqIK0vQ6vVDCbBTabsOoom7v2h1FVbStRCuYu0/",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000026",
"user_id": "00000000000000000000000000000026"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:19:56 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"b5cc668fc02891c747e2f7c1fc603bb12dc6780d\"", "is_server_owner":
false, "password": "$6$rounds=656000$jHpMfOJV0nv3OSGj$SHbyplaaEarO5HkKrWllVo8S072KbDnYrtXbf0A/NNAGdIscqIK0vQ6vVDCbBTabsOoom7v2h1FVbStRCuYu0/",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000026",
"user_id": "00000000000000000000000000000026"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:19:56 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000026
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:19:56 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:20:32 GMT']
location: ['http://localhost:9001/3.1/users/00000000000000000000000000000028']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000028
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"c064302a6a131ea60688b9328dad0e9ec8a363bc\"", "is_server_owner":
false, "password": "$6$rounds=656000$.4PqSy79eRRNTc3m$PHRzTPBykyJZGscFyKb3n4SejZxphszsAwZAI8HScMJGgMNw6D8X6z3FZDrMC1TLDoiC3C8mSjvvFCa2PVoKc0",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000028",
"user_id": "00000000000000000000000000000028"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:20:32 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"c064302a6a131ea60688b9328dad0e9ec8a363bc\"", "is_server_owner":
false, "password": "$6$rounds=656000$.4PqSy79eRRNTc3m$PHRzTPBykyJZGscFyKb3n4SejZxphszsAwZAI8HScMJGgMNw6D8X6z3FZDrMC1TLDoiC3C8mSjvvFCa2PVoKc0",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000028",
"user_id": "00000000000000000000000000000028"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:20:32 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000028
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:20:32 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:22:11 GMT']
location: ['http://localhost:9001/3.1/users/0000000000000000000000000000002a']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/0000000000000000000000000000002a
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"dbf2b86cdb0b75d2d8ad2ebb647e2e6bcdca7ee1\"", "is_server_owner":
false, "password": "$6$rounds=656000$vuYv0nHTQ4KjYEJ9$.DyQxE3FhHT9AqZFThWmK6ZbkFkA/qRfLMaNE1qbOyD6ohBr3mZPBFyUxLR0hXdu3zjh79Os6S8wEOGCzmZCz.",
"self_link": "http://localhost:9001/3.1/users/0000000000000000000000000000002a",
"user_id": "0000000000000000000000000000002a"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:22:11 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"dbf2b86cdb0b75d2d8ad2ebb647e2e6bcdca7ee1\"", "is_server_owner":
false, "password": "$6$rounds=656000$vuYv0nHTQ4KjYEJ9$.DyQxE3FhHT9AqZFThWmK6ZbkFkA/qRfLMaNE1qbOyD6ohBr3mZPBFyUxLR0hXdu3zjh79Os6S8wEOGCzmZCz.",
"self_link": "http://localhost:9001/3.1/users/0000000000000000000000000000002a",
"user_id": "0000000000000000000000000000002a"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:22:11 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/0000000000000000000000000000002a
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:22:11 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:28:15 GMT']
location: ['http://localhost:9001/3.1/users/0000000000000000000000000000002c']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/0000000000000000000000000000002c
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"3d6251772757b4852283f7bf9a97ec3b33702115\"", "is_server_owner":
false, "password": "$6$rounds=656000$WSQHka4Mp8qWDV9N$C7kROnYNDV5Uxt6tRsyJyHHqaE7Wr7JUnf.bxtx.8hc0kkPKh8rt3rpOR31wWohyzvBJDbWwNC2r/Kwmdefa5.",
"self_link": "http://localhost:9001/3.1/users/0000000000000000000000000000002c",
"user_id": "0000000000000000000000000000002c"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:28:15 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"3d6251772757b4852283f7bf9a97ec3b33702115\"", "is_server_owner":
false, "password": "$6$rounds=656000$WSQHka4Mp8qWDV9N$C7kROnYNDV5Uxt6tRsyJyHHqaE7Wr7JUnf.bxtx.8hc0kkPKh8rt3rpOR31wWohyzvBJDbWwNC2r/Kwmdefa5.",
"self_link": "http://localhost:9001/3.1/users/0000000000000000000000000000002c",
"user_id": "0000000000000000000000000000002c"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:28:15 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/0000000000000000000000000000002c
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:28:15 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:22 GMT']
location: ['http://localhost:9001/3.1/users/00000000000000000000000000000050']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000050
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"b782dc8b94adfb65f4a5382449d69b42cdee47af\"", "is_server_owner":
false, "password": "$6$rounds=656000$8YYU15XoZK02vx46$HeuMfkWwfcyGyv40wganDizbu8D.3o8NkSQpiZmujRgvUtFU4lNtxnUL9.RX.zqIJEF07/5EDTCXnelI2ZEvJ.",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000050",
"user_id": "00000000000000000000000000000050"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:22 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"b782dc8b94adfb65f4a5382449d69b42cdee47af\"", "is_server_owner":
false, "password": "$6$rounds=656000$8YYU15XoZK02vx46$HeuMfkWwfcyGyv40wganDizbu8D.3o8NkSQpiZmujRgvUtFU4lNtxnUL9.RX.zqIJEF07/5EDTCXnelI2ZEvJ.",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000050",
"user_id": "00000000000000000000000000000050"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:22 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000050
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:46:22 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:06 GMT']
location: ['http://localhost:9001/3.1/users/00000000000000000000000000000052']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000052
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"0339b5fff74ba09d794915bb9f38ca65347f4bca\"", "is_server_owner":
false, "password": "$6$rounds=656000$hdsw7pKJAV3abtiE$3X0mB7KmGxO1DKtF4bgkcIlwoaFDYpSj0QztYhvApGQJ7yFr2RUduJ1jOj.V8IeQHtEDwdF84c5Ge70e5Qryz/",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000052",
"user_id": "00000000000000000000000000000052"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:06 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"0339b5fff74ba09d794915bb9f38ca65347f4bca\"", "is_server_owner":
false, "password": "$6$rounds=656000$hdsw7pKJAV3abtiE$3X0mB7KmGxO1DKtF4bgkcIlwoaFDYpSj0QztYhvApGQJ7yFr2RUduJ1jOj.V8IeQHtEDwdF84c5Ge70e5Qryz/",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000052",
"user_id": "00000000000000000000000000000052"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:06 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000052
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:47:06 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:13 GMT']
location: ['http://localhost:9001/3.1/users/00000000000000000000000000000054']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000054
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"572e4bbdb1a0be5bf30b78f339cb11de5ec9a40c\"", "is_server_owner":
false, "password": "$6$rounds=656000$bFScZjA4ccEUnkBR$LOtxQUUf3Oxpyzpm.4tbxrPm6Ez.UFQ0TETUxWmPyM8Y7qmU4exyUKprYom5BblyKl2mBrAg.tFwgeZ0X1SI8/",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000054",
"user_id": "00000000000000000000000000000054"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:13 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"572e4bbdb1a0be5bf30b78f339cb11de5ec9a40c\"", "is_server_owner":
false, "password": "$6$rounds=656000$bFScZjA4ccEUnkBR$LOtxQUUf3Oxpyzpm.4tbxrPm6Ez.UFQ0TETUxWmPyM8Y7qmU4exyUKprYom5BblyKl2mBrAg.tFwgeZ0X1SI8/",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000054",
"user_id": "00000000000000000000000000000054"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:13 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000054
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:48:13 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: email=jeremy%40example.com&password=1234&display_name=J%C3%A9r%C3%B4me
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:50:26 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/users/0000000000000000000000000000005b']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/0000000000000000000000000000005b
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"b7d247436165af2e198a6b5c1fb323d3a8fabff7\"", "is_server_owner":
false, "password": "$6$rounds=656000$J5NuG4sUumbrFEcq$ac3W9nvnm7eIkqTMKvQc6aBk8Q/rAVvr.2xlGVMq9U3IBmwiBSdADr4xba34lVJVy/gWENiz.GP1hPKDBbkeD0",
"self_link": "http://localhost:9001/3.1/users/0000000000000000000000000000005b",
"user_id": "0000000000000000000000000000005b"}'}
headers:
Date: ['Wed, 16 May 2018 00:50:26 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['424']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"b7d247436165af2e198a6b5c1fb323d3a8fabff7\"", "is_server_owner":
false, "password": "$6$rounds=656000$J5NuG4sUumbrFEcq$ac3W9nvnm7eIkqTMKvQc6aBk8Q/rAVvr.2xlGVMq9U3IBmwiBSdADr4xba34lVJVy/gWENiz.GP1hPKDBbkeD0",
"self_link": "http://localhost:9001/3.1/users/0000000000000000000000000000005b",
"user_id": "0000000000000000000000000000005b"}'}
headers:
Date: ['Wed, 16 May 2018 00:50:26 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['424']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/0000000000000000000000000000005b
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:50:26 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
version: 1
mailmanclient-3.2.2/src/mailmanclient/tests/data/TestUnicode.test_repr.yaml 0000664 0001750 0001750 00000143405 13413656045 030270 0 ustar maxking maxking 0000000 0000000 interactions:
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.1.2a1]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 25 Feb 2018 03:57:25 GMT']
location: ['http://localhost:9001/3.1/users/00000000000000000000000000000031']
server: [WSGIServer/0.2 CPython/3.5.2]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.1.2a1]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000031
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"1ac9d69fe4daa044fdaf497d109418d76d887427\"", "is_server_owner":
false, "password": "$6$rounds=656000$35RkPXZXZC1DdVEJ$Y3lrLT8wqiUuGSod2llvqV2QhRKR90v.I0KuK7u8iK69SofOR5AgmrR6MFxvRN6xvWGOuADZL6OvSHq0iVwiB.",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000031",
"user_id": "00000000000000000000000000000031"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 25 Feb 2018 03:57:25 GMT']
server: [WSGIServer/0.2 CPython/3.5.2]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.1.2a1]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"1ac9d69fe4daa044fdaf497d109418d76d887427\"", "is_server_owner":
false, "password": "$6$rounds=656000$35RkPXZXZC1DdVEJ$Y3lrLT8wqiUuGSod2llvqV2QhRKR90v.I0KuK7u8iK69SofOR5AgmrR6MFxvRN6xvWGOuADZL6OvSHq0iVwiB.",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000031",
"user_id": "00000000000000000000000000000031"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Sun, 25 Feb 2018 03:57:25 GMT']
server: [WSGIServer/0.2 CPython/3.5.2]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.1.2a1]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000031
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Sun, 25 Feb 2018 03:57:25 GMT']
server: [WSGIServer/0.2 CPython/3.5.2]
status: {code: 204, message: No Content}
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:12:32 GMT']
location: ['http://localhost:9001/3.1/users/00000000000000000000000000000011']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000011
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"b85ec39ae7a2a343ab4401291dad8e4b25bc035b\"", "is_server_owner":
false, "password": "$6$rounds=656000$OS3s7C7HQI0ump.8$6j2ya0ClBW4EArzxgKCQV2AOy3Zp9tQiluXh6Abd6k16343XIwHCzwbrvzR8SZsnpnRqtSbZx/ZyplGyt56zr.",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000011",
"user_id": "00000000000000000000000000000011"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:12:32 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"b85ec39ae7a2a343ab4401291dad8e4b25bc035b\"", "is_server_owner":
false, "password": "$6$rounds=656000$OS3s7C7HQI0ump.8$6j2ya0ClBW4EArzxgKCQV2AOy3Zp9tQiluXh6Abd6k16343XIwHCzwbrvzR8SZsnpnRqtSbZx/ZyplGyt56zr.",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000011",
"user_id": "00000000000000000000000000000011"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:12:32 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000011
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:12:32 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:13:03 GMT']
location: ['http://localhost:9001/3.1/users/00000000000000000000000000000016']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000016
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"15110bd500ebe81bcf15c8414aa4e97de9496fbb\"", "is_server_owner":
false, "password": "$6$rounds=656000$Pc5iYh5Oz.o05CPV$eWk5km6guPepPxOVBFESkZFQ7visOilWlPizFDwF9d6Cw/VWXZNW1Y4QwVD1JBJhgxxEHSvUjtN6BL1Yn.xmm0",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000016",
"user_id": "00000000000000000000000000000016"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:13:03 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"15110bd500ebe81bcf15c8414aa4e97de9496fbb\"", "is_server_owner":
false, "password": "$6$rounds=656000$Pc5iYh5Oz.o05CPV$eWk5km6guPepPxOVBFESkZFQ7visOilWlPizFDwF9d6Cw/VWXZNW1Y4QwVD1JBJhgxxEHSvUjtN6BL1Yn.xmm0",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000016",
"user_id": "00000000000000000000000000000016"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:13:03 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000016
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:13:03 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:13:36 GMT']
location: ['http://localhost:9001/3.1/users/00000000000000000000000000000018']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000018
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"741415188015346c7d6a81e98b59c90a544c7d33\"", "is_server_owner":
false, "password": "$6$rounds=656000$/VOJQeHWwOfG1XZX$JgzvRHcZ3/Zeqd2bnLJg.jU2gysP6KdazJZOZpA3bYCWJnIx4Q0l0GUS5ZVuOEItZ3pln33eFm/QYv2RqZJyu0",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000018",
"user_id": "00000000000000000000000000000018"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:13:36 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"741415188015346c7d6a81e98b59c90a544c7d33\"", "is_server_owner":
false, "password": "$6$rounds=656000$/VOJQeHWwOfG1XZX$JgzvRHcZ3/Zeqd2bnLJg.jU2gysP6KdazJZOZpA3bYCWJnIx4Q0l0GUS5ZVuOEItZ3pln33eFm/QYv2RqZJyu0",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000018",
"user_id": "00000000000000000000000000000018"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:13:36 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000018
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:13:36 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:14:11 GMT']
location: ['http://localhost:9001/3.1/users/0000000000000000000000000000001f']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/0000000000000000000000000000001f
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"3fc9d2c98714109a54fdf87275227bbf3080a7b5\"", "is_server_owner":
false, "password": "$6$rounds=656000$MczXRwOI7pyPFVPD$shbRmqsVCYh8o9K8bXdz.KkfarB0PJu2i1aHenk83ynnm3iK2Is8g6U8CYlXVMjpz6G6XWZOK.OQkSfbNG8nL/",
"self_link": "http://localhost:9001/3.1/users/0000000000000000000000000000001f",
"user_id": "0000000000000000000000000000001f"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:14:11 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"3fc9d2c98714109a54fdf87275227bbf3080a7b5\"", "is_server_owner":
false, "password": "$6$rounds=656000$MczXRwOI7pyPFVPD$shbRmqsVCYh8o9K8bXdz.KkfarB0PJu2i1aHenk83ynnm3iK2Is8g6U8CYlXVMjpz6G6XWZOK.OQkSfbNG8nL/",
"self_link": "http://localhost:9001/3.1/users/0000000000000000000000000000001f",
"user_id": "0000000000000000000000000000001f"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:14:11 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/0000000000000000000000000000001f
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:14:11 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:15:58 GMT']
location: ['http://localhost:9001/3.1/users/00000000000000000000000000000021']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000021
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"f33be8e74f1657242c63962e4759993bb82db1ef\"", "is_server_owner":
false, "password": "$6$rounds=656000$guM86nG6ulYvX.6B$mVjfDgqqKIpigVS78sRRpCps9fVoXYn9dvXZ.PwZ14OgStujBfYFd6Z199eRt0hZb4r7ewVK0nuY9URW.I7v91",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000021",
"user_id": "00000000000000000000000000000021"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:15:58 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"f33be8e74f1657242c63962e4759993bb82db1ef\"", "is_server_owner":
false, "password": "$6$rounds=656000$guM86nG6ulYvX.6B$mVjfDgqqKIpigVS78sRRpCps9fVoXYn9dvXZ.PwZ14OgStujBfYFd6Z199eRt0hZb4r7ewVK0nuY9URW.I7v91",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000021",
"user_id": "00000000000000000000000000000021"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:15:58 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000021
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:15:58 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:17:53 GMT']
location: ['http://localhost:9001/3.1/users/00000000000000000000000000000023']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000023
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"c881c16134daf5ce63d1d5b6116e364b83e520ba\"", "is_server_owner":
false, "password": "$6$rounds=656000$vUTQJg4UP2RH.uHO$1e9wt5faB/pn1HAHgYMpdiISeEAvNP/4BRyanH7Z7eXyhN.qdHyFrcU6wBckEdkUCnVi1g6Mx3lQS02G4tU3g.",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000023",
"user_id": "00000000000000000000000000000023"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:17:53 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"c881c16134daf5ce63d1d5b6116e364b83e520ba\"", "is_server_owner":
false, "password": "$6$rounds=656000$vUTQJg4UP2RH.uHO$1e9wt5faB/pn1HAHgYMpdiISeEAvNP/4BRyanH7Z7eXyhN.qdHyFrcU6wBckEdkUCnVi1g6Mx3lQS02G4tU3g.",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000023",
"user_id": "00000000000000000000000000000023"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:17:53 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000023
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:17:53 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:18:57 GMT']
location: ['http://localhost:9001/3.1/users/00000000000000000000000000000025']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000025
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"d9a36ede7f5f2183c0d1a510401f3bcb08279454\"", "is_server_owner":
false, "password": "$6$rounds=656000$cFfKUo0mXou50rRR$2nL51KFe5voKczXmQ3Qpfql5ZaTU/B5On8KZZD/8ACGnDSIVvXhyr/yHy.omXBTaT2DBv83BZQk4I0gCfBs5X.",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000025",
"user_id": "00000000000000000000000000000025"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:18:57 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"d9a36ede7f5f2183c0d1a510401f3bcb08279454\"", "is_server_owner":
false, "password": "$6$rounds=656000$cFfKUo0mXou50rRR$2nL51KFe5voKczXmQ3Qpfql5ZaTU/B5On8KZZD/8ACGnDSIVvXhyr/yHy.omXBTaT2DBv83BZQk4I0gCfBs5X.",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000025",
"user_id": "00000000000000000000000000000025"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:18:57 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000025
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:18:57 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:19:57 GMT']
location: ['http://localhost:9001/3.1/users/00000000000000000000000000000027']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000027
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"d14fd3575a691d1ccd6cf00d9989ec425bf8fbb7\"", "is_server_owner":
false, "password": "$6$rounds=656000$ln7ZL4N70yK3G.pY$ia0XYnU4N8y0A0rRY/bE6O7saQJiHmAffN/zNXcPkk0aTMSb1ztLgP3bI/9wuNBGncvFTW.CMctNJIQOfiN1n.",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000027",
"user_id": "00000000000000000000000000000027"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:19:57 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"d14fd3575a691d1ccd6cf00d9989ec425bf8fbb7\"", "is_server_owner":
false, "password": "$6$rounds=656000$ln7ZL4N70yK3G.pY$ia0XYnU4N8y0A0rRY/bE6O7saQJiHmAffN/zNXcPkk0aTMSb1ztLgP3bI/9wuNBGncvFTW.CMctNJIQOfiN1n.",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000027",
"user_id": "00000000000000000000000000000027"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:19:57 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000027
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:19:57 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:20:32 GMT']
location: ['http://localhost:9001/3.1/users/00000000000000000000000000000029']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000029
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"200a8f8b9dd8a8b681eab396df5c2afeb24ee6b6\"", "is_server_owner":
false, "password": "$6$rounds=656000$OVcLabKthiTTwaFc$yp8JijnhOlIFTo58IPTdULt5rr3O4UcT3id3XKQLVoA3KFw3xutTZ1VOk4MUpSvJcef6yBMQh8f45LesfktHk/",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000029",
"user_id": "00000000000000000000000000000029"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:20:32 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"200a8f8b9dd8a8b681eab396df5c2afeb24ee6b6\"", "is_server_owner":
false, "password": "$6$rounds=656000$OVcLabKthiTTwaFc$yp8JijnhOlIFTo58IPTdULt5rr3O4UcT3id3XKQLVoA3KFw3xutTZ1VOk4MUpSvJcef6yBMQh8f45LesfktHk/",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000029",
"user_id": "00000000000000000000000000000029"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:20:32 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000029
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:20:32 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:22:12 GMT']
location: ['http://localhost:9001/3.1/users/0000000000000000000000000000002b']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/0000000000000000000000000000002b
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"6316e86d357f5f165cec1fa1a127b5c9207c71f6\"", "is_server_owner":
false, "password": "$6$rounds=656000$jnVXu71zWVSVIQ3h$AEC145er1VvSIv8K7r2mIZObrT6CBeFpaMm8ezCoydGh9R9Ug6MWitFX1igSi0vMSTr0H3p4xFzVam.NLLkDU1",
"self_link": "http://localhost:9001/3.1/users/0000000000000000000000000000002b",
"user_id": "0000000000000000000000000000002b"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:22:12 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"6316e86d357f5f165cec1fa1a127b5c9207c71f6\"", "is_server_owner":
false, "password": "$6$rounds=656000$jnVXu71zWVSVIQ3h$AEC145er1VvSIv8K7r2mIZObrT6CBeFpaMm8ezCoydGh9R9Ug6MWitFX1igSi0vMSTr0H3p4xFzVam.NLLkDU1",
"self_link": "http://localhost:9001/3.1/users/0000000000000000000000000000002b",
"user_id": "0000000000000000000000000000002b"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:22:12 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/0000000000000000000000000000002b
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:22:12 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:28:15 GMT']
location: ['http://localhost:9001/3.1/users/0000000000000000000000000000002d']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/0000000000000000000000000000002d
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"ad10cde4d76ca2c5033164a7cade2432ea8ea34c\"", "is_server_owner":
false, "password": "$6$rounds=656000$KC6jFScnZ0RUdZZl$XelD1FMjITCDu8Tswt8/xI9BzsUE2JZUXF/7H9ylC6DMy3fo0mXF/JTrlVwzjeiNIp4g9C69KI/3HxycwSr23/",
"self_link": "http://localhost:9001/3.1/users/0000000000000000000000000000002d",
"user_id": "0000000000000000000000000000002d"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:28:15 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"ad10cde4d76ca2c5033164a7cade2432ea8ea34c\"", "is_server_owner":
false, "password": "$6$rounds=656000$KC6jFScnZ0RUdZZl$XelD1FMjITCDu8Tswt8/xI9BzsUE2JZUXF/7H9ylC6DMy3fo0mXF/JTrlVwzjeiNIp4g9C69KI/3HxycwSr23/",
"self_link": "http://localhost:9001/3.1/users/0000000000000000000000000000002d",
"user_id": "0000000000000000000000000000002d"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:28:15 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/0000000000000000000000000000002d
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:28:15 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:23 GMT']
location: ['http://localhost:9001/3.1/users/00000000000000000000000000000051']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000051
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"512f500d5ba75a0efd58a1d772073bca6258cf27\"", "is_server_owner":
false, "password": "$6$rounds=656000$Pj4n4pJbTHg0R0Yu$3BgGB4xsXxIPSgkypI5WyDCxjdYjMq8OPc0Uc4HtF/qL.qFjbonjdhjWjr8rKY3O8cmVroW82PN1OgzU4GFPn/",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000051",
"user_id": "00000000000000000000000000000051"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:23 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"512f500d5ba75a0efd58a1d772073bca6258cf27\"", "is_server_owner":
false, "password": "$6$rounds=656000$Pj4n4pJbTHg0R0Yu$3BgGB4xsXxIPSgkypI5WyDCxjdYjMq8OPc0Uc4HtF/qL.qFjbonjdhjWjr8rKY3O8cmVroW82PN1OgzU4GFPn/",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000051",
"user_id": "00000000000000000000000000000051"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:46:23 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000051
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:46:23 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:07 GMT']
location: ['http://localhost:9001/3.1/users/00000000000000000000000000000053']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000053
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"03dcbbba258bf5348d76063d90ef10c723ec3a4b\"", "is_server_owner":
false, "password": "$6$rounds=656000$wmLyZpLhDBZEuowe$WiG5Aj/E/IH2vDC85TH8HJedn5mF4f7bf87Cnw8qdbhT/YIC02U4CK7TeVPUNwV6grOLCZi6W83wCHjbFBAzu.",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000053",
"user_id": "00000000000000000000000000000053"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:07 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"03dcbbba258bf5348d76063d90ef10c723ec3a4b\"", "is_server_owner":
false, "password": "$6$rounds=656000$wmLyZpLhDBZEuowe$WiG5Aj/E/IH2vDC85TH8HJedn5mF4f7bf87Cnw8qdbhT/YIC02U4CK7TeVPUNwV6grOLCZi6W83wCHjbFBAzu.",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000053",
"user_id": "00000000000000000000000000000053"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:47:07 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000053
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:47:07 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: password=1234&display_name=J%C3%A9r%C3%B4me&email=jeremy%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
content-length: ['0']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:14 GMT']
location: ['http://localhost:9001/3.1/users/00000000000000000000000000000055']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000055
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"7222e6c0e930c8870d60f77c4b19ebf5b76501c8\"", "is_server_owner":
false, "password": "$6$rounds=656000$wpLWuj5GnvRM66kU$0YcPUkyKPt9W2rpVqgSsFC0chQSeCniLNm4JiylQsrX3tyari4W77fhFMeCO2wxYbGKcsW6UqJuOvZq8by3b0.",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000055",
"user_id": "00000000000000000000000000000055"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:14 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"7222e6c0e930c8870d60f77c4b19ebf5b76501c8\"", "is_server_owner":
false, "password": "$6$rounds=656000$wpLWuj5GnvRM66kU$0YcPUkyKPt9W2rpVqgSsFC0chQSeCniLNm4JiylQsrX3tyari4W77fhFMeCO2wxYbGKcsW6UqJuOvZq8by3b0.",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000055",
"user_id": "00000000000000000000000000000055"}'}
headers:
content-length: ['424']
content-type: [application/json; charset=UTF-8]
date: ['Wed, 16 May 2018 00:48:14 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000055
response:
body: {string: ''}
headers:
content-length: ['0']
date: ['Wed, 16 May 2018 00:48:14 GMT']
server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: email=jeremy%40example.com&password=1234&display_name=J%C3%A9r%C3%B4me
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:50:27 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/users/0000000000000000000000000000005c']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/0000000000000000000000000000005c
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"9ea3078d166f739ed1b65d8fa92ae9478dae239b\"", "is_server_owner":
false, "password": "$6$rounds=656000$/2NlkXTyb7BdXm4B$hzfDw/Aw/dGRN7fWaig4vyFN5H/8PYU/OYGnY3beOZD5q1P0fkEi253KrJ4Mx72rS544O2kvS9z.NXUj1X./s.",
"self_link": "http://localhost:9001/3.1/users/0000000000000000000000000000005c",
"user_id": "0000000000000000000000000000005c"}'}
headers:
Date: ['Wed, 16 May 2018 00:50:27 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['424']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/jeremy@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "J\u00e9r\u00f4me",
"http_etag": "\"9ea3078d166f739ed1b65d8fa92ae9478dae239b\"", "is_server_owner":
false, "password": "$6$rounds=656000$/2NlkXTyb7BdXm4B$hzfDw/Aw/dGRN7fWaig4vyFN5H/8PYU/OYGnY3beOZD5q1P0fkEi253KrJ4Mx72rS544O2kvS9z.NXUj1X./s.",
"self_link": "http://localhost:9001/3.1/users/0000000000000000000000000000005c",
"user_id": "0000000000000000000000000000005c"}'}
headers:
Date: ['Wed, 16 May 2018 00:50:27 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['424']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/0000000000000000000000000000005c
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:50:27 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
version: 1
mailmanclient-3.2.2/src/mailmanclient/tests/data/using.rst.yaml 0000664 0001750 0001750 00000713110 13413656045 025764 0 ustar maxking maxking 0000000 0000000 interactions:
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/system/versions
response:
body: {string: '{"api_version": "3.1", "http_etag": "\"da7f701dcc576b83689966ed1763a2a1d0650299\"",
"mailman_version": "GNU Mailman 3.2.0a1 (La Villa Strangiato)", "python_version":
"3.6.4+ (default, Feb 12 2018, 08:25:03) \n[GCC 7.3.0]", "self_link": "http://localhost:9001/3.1/system/versions"}'}
headers:
Date: ['Wed, 16 May 2018 00:57:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['280']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists
response:
body: {string: '{"http_etag": "\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\"",
"start": 0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:57:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['90']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains
response:
body: {string: '{"http_etag": "\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\"",
"start": 0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:57:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['90']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: mail_host=example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/domains
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:57:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/domains/example.com']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.com
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"0955c4a2fe5c37a019be0fef3abbb952cdc328a4\"",
"mail_host": "example.com", "self_link": "http://localhost:9001/3.1/domains/example.com"}'}
headers:
Date: ['Wed, 16 May 2018 00:57:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['194']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: mail_host=example.edu&alias_domain=x.example.edu
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/domains
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:57:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/domains/example.edu']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.edu
response:
body: {string: '{"alias_domain": "x.example.edu", "description": null, "http_etag":
"\"2c5ddb39635738674c97b6571f33840c27bf9b27\"", "mail_host": "example.edu",
"self_link": "http://localhost:9001/3.1/domains/example.edu"}'}
headers:
Date: ['Wed, 16 May 2018 00:57:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['205']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.com
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"0955c4a2fe5c37a019be0fef3abbb952cdc328a4\"",
"mail_host": "example.com", "self_link": "http://localhost:9001/3.1/domains/example.com"}'}
headers:
Date: ['Wed, 16 May 2018 00:57:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['194']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.com
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"0955c4a2fe5c37a019be0fef3abbb952cdc328a4\"",
"mail_host": "example.com", "self_link": "http://localhost:9001/3.1/domains/example.com"}'}
headers:
Date: ['Wed, 16 May 2018 00:57:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['194']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: mail_host=example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/domains
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:57:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/domains/example.net']
status: {code: 201, message: Created}
- request:
body: mail_host=example.org
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/domains
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:57:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/domains/example.org']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.org
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"9ca2851965dda29895877f788d32699d6b46c2e9\"",
"mail_host": "example.org", "self_link": "http://localhost:9001/3.1/domains/example.org"}'}
headers:
Date: ['Wed, 16 May 2018 00:57:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['194']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains
response:
body: {string: '{"entries": [{"alias_domain": null, "description": null, "http_etag":
"\"0955c4a2fe5c37a019be0fef3abbb952cdc328a4\"", "mail_host": "example.com",
"self_link": "http://localhost:9001/3.1/domains/example.com"}, {"alias_domain":
"x.example.edu", "description": null, "http_etag": "\"2c5ddb39635738674c97b6571f33840c27bf9b27\"",
"mail_host": "example.edu", "self_link": "http://localhost:9001/3.1/domains/example.edu"},
{"alias_domain": null, "description": null, "http_etag": "\"9ad7bd03ca7a1143b70757e61f22802a69b7717d\"",
"mail_host": "example.net", "self_link": "http://localhost:9001/3.1/domains/example.net"},
{"alias_domain": null, "description": null, "http_etag": "\"9ca2851965dda29895877f788d32699d6b46c2e9\"",
"mail_host": "example.org", "self_link": "http://localhost:9001/3.1/domains/example.org"}],
"http_etag": "\"aff5f4b0f035e04a9d6f24a52bf1b0b908bb0857\"", "start": 0, "total_size":
4}'}
headers:
Date: ['Wed, 16 May 2018 00:57:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['898']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.com
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"0955c4a2fe5c37a019be0fef3abbb952cdc328a4\"",
"mail_host": "example.com", "self_link": "http://localhost:9001/3.1/domains/example.com"}'}
headers:
Date: ['Wed, 16 May 2018 00:57:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['194']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.edu
response:
body: {string: '{"alias_domain": "x.example.edu", "description": null, "http_etag":
"\"2c5ddb39635738674c97b6571f33840c27bf9b27\"", "mail_host": "example.edu",
"self_link": "http://localhost:9001/3.1/domains/example.edu"}'}
headers:
Date: ['Wed, 16 May 2018 00:57:59 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['205']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"9ad7bd03ca7a1143b70757e61f22802a69b7717d\"",
"mail_host": "example.net", "self_link": "http://localhost:9001/3.1/domains/example.net"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['194']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.org
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"9ca2851965dda29895877f788d32699d6b46c2e9\"",
"mail_host": "example.org", "self_link": "http://localhost:9001/3.1/domains/example.org"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['194']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/domains/example.org
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains
response:
body: {string: '{"entries": [{"alias_domain": null, "description": null, "http_etag":
"\"0955c4a2fe5c37a019be0fef3abbb952cdc328a4\"", "mail_host": "example.com",
"self_link": "http://localhost:9001/3.1/domains/example.com"}, {"alias_domain":
"x.example.edu", "description": null, "http_etag": "\"2c5ddb39635738674c97b6571f33840c27bf9b27\"",
"mail_host": "example.edu", "self_link": "http://localhost:9001/3.1/domains/example.edu"},
{"alias_domain": null, "description": null, "http_etag": "\"9ad7bd03ca7a1143b70757e61f22802a69b7717d\"",
"mail_host": "example.net", "self_link": "http://localhost:9001/3.1/domains/example.net"}],
"http_etag": "\"5e7fc8e1ae9b8e5b2592fa7e0454b3e562ee2692\"", "start": 0, "total_size":
3}'}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['702']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.com
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"0955c4a2fe5c37a019be0fef3abbb952cdc328a4\"",
"mail_host": "example.com", "self_link": "http://localhost:9001/3.1/domains/example.com"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['194']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.edu
response:
body: {string: '{"alias_domain": "x.example.edu", "description": null, "http_etag":
"\"2c5ddb39635738674c97b6571f33840c27bf9b27\"", "mail_host": "example.edu",
"self_link": "http://localhost:9001/3.1/domains/example.edu"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['205']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"9ad7bd03ca7a1143b70757e61f22802a69b7717d\"",
"mail_host": "example.net", "self_link": "http://localhost:9001/3.1/domains/example.net"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['194']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=test-1%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/lists/test-1.example.com']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1.example.com
response:
body: {string: '{"display_name": "Test-1", "fqdn_listname": "test-1@example.com",
"http_etag": "\"40cd89e168750b73cbc0d60933bba97892048be2\"", "list_id": "test-1.example.com",
"list_name": "test-1", "mail_host": "example.com", "member_count": 0, "self_link":
"http://localhost:9001/3.1/lists/test-1.example.com", "volume": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['309']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=test-announce%40example.com&style_name=legacy-announce
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/lists/test-announce.example.com']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-announce.example.com
response:
body: {string: '{"display_name": "Test-announce", "fqdn_listname": "test-announce@example.com",
"http_etag": "\"fbd086ce30ba8d0b805cd947bcd48888951b1bb0\"", "list_id": "test-announce.example.com",
"list_name": "test-announce", "mail_host": "example.com", "member_count":
0, "self_link": "http://localhost:9001/3.1/lists/test-announce.example.com",
"volume": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['344']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/styles
response:
body: {string: '{"default": "legacy-default", "http_etag": "\"21a4b8b38716167b458ed2d8e88579233938274b\"",
"style_names": ["legacy-announce", "legacy-default"], "styles": [{"description":
"Announce only mailing list style.", "name": "legacy-announce"}, {"description":
"Ordinary discussion mailing list style.", "name": "legacy-default"}]}'}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['323']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1@example.com
response:
body: {string: '{"display_name": "Test-1", "fqdn_listname": "test-1@example.com",
"http_etag": "\"40cd89e168750b73cbc0d60933bba97892048be2\"", "list_id": "test-1.example.com",
"list_name": "test-1", "mail_host": "example.com", "member_count": 0, "self_link":
"http://localhost:9001/3.1/lists/test-1.example.com", "volume": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['309']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=test-2%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/lists/test-2.example.com']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-2.example.com
response:
body: {string: '{"display_name": "Test-2", "fqdn_listname": "test-2@example.com",
"http_etag": "\"a52f87bcdd7a4035c93a8b0a4a92ee4342278428\"", "list_id": "test-2.example.com",
"list_name": "test-2", "mail_host": "example.com", "member_count": 0, "self_link":
"http://localhost:9001/3.1/lists/test-2.example.com", "volume": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['309']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"9ad7bd03ca7a1143b70757e61f22802a69b7717d\"",
"mail_host": "example.net", "self_link": "http://localhost:9001/3.1/domains/example.net"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['194']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.net
response:
body: {string: '{"alias_domain": null, "description": null, "http_etag": "\"9ad7bd03ca7a1143b70757e61f22802a69b7717d\"",
"mail_host": "example.net", "self_link": "http://localhost:9001/3.1/domains/example.net"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['194']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=test-3%40example.net
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/lists/test-3.example.net']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-3.example.net
response:
body: {string: '{"display_name": "Test-3", "fqdn_listname": "test-3@example.net",
"http_etag": "\"351777e7d0678dfb6668c73f9fc37a0147a47297\"", "list_id": "test-3.example.net",
"list_name": "test-3", "mail_host": "example.net", "member_count": 0, "self_link":
"http://localhost:9001/3.1/lists/test-3.example.net", "volume": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['309']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=test-3%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/lists/test-3.example.com']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-3.example.com
response:
body: {string: '{"display_name": "Test-3", "fqdn_listname": "test-3@example.com",
"http_etag": "\"28ebc14149a5a5a2d1768712201e7bd96d1a6d40\"", "list_id": "test-3.example.com",
"list_name": "test-3", "mail_host": "example.com", "member_count": 0, "self_link":
"http://localhost:9001/3.1/lists/test-3.example.com", "volume": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['309']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists
response:
body: {string: '{"entries": [{"display_name": "Test-1", "fqdn_listname": "test-1@example.com",
"http_etag": "\"40cd89e168750b73cbc0d60933bba97892048be2\"", "list_id": "test-1.example.com",
"list_name": "test-1", "mail_host": "example.com", "member_count": 0, "self_link":
"http://localhost:9001/3.1/lists/test-1.example.com", "volume": 1}, {"display_name":
"Test-2", "fqdn_listname": "test-2@example.com", "http_etag": "\"a52f87bcdd7a4035c93a8b0a4a92ee4342278428\"",
"list_id": "test-2.example.com", "list_name": "test-2", "mail_host": "example.com",
"member_count": 0, "self_link": "http://localhost:9001/3.1/lists/test-2.example.com",
"volume": 1}, {"display_name": "Test-3", "fqdn_listname": "test-3@example.com",
"http_etag": "\"28ebc14149a5a5a2d1768712201e7bd96d1a6d40\"", "list_id": "test-3.example.com",
"list_name": "test-3", "mail_host": "example.com", "member_count": 0, "self_link":
"http://localhost:9001/3.1/lists/test-3.example.com", "volume": 1}, {"display_name":
"Test-3", "fqdn_listname": "test-3@example.net", "http_etag": "\"351777e7d0678dfb6668c73f9fc37a0147a47297\"",
"list_id": "test-3.example.net", "list_name": "test-3", "mail_host": "example.net",
"member_count": 0, "self_link": "http://localhost:9001/3.1/lists/test-3.example.net",
"volume": 1}, {"display_name": "Test-announce", "fqdn_listname": "test-announce@example.com",
"http_etag": "\"fbd086ce30ba8d0b805cd947bcd48888951b1bb0\"", "list_id": "test-announce.example.com",
"list_name": "test-announce", "mail_host": "example.com", "member_count":
0, "self_link": "http://localhost:9001/3.1/lists/test-announce.example.com",
"volume": 1}], "http_etag": "\"d2cb4d5c565e69f350cb99e9167172add7856527\"",
"start": 0, "total_size": 5}'}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['1693']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1@example.com/config
response:
body: {string: '{"acceptable_aliases": [], "admin_immed_notify": true, "admin_notify_mchanges":
false, "administrivia": true, "advertised": true, "allow_list_posts": true,
"anonymous_list": false, "archive_policy": "public", "autorespond_owner":
"none", "autorespond_postings": "none", "autorespond_requests": "none", "autoresponse_grace_period":
"90d", "autoresponse_owner_text": "", "autoresponse_postings_text": "", "autoresponse_request_text":
"", "bounces_address": "test-1-bounces@example.com", "collapse_alternatives":
true, "convert_html_to_plaintext": false, "created_at": "2005-08-01T07:49:23",
"default_member_action": "defer", "default_nonmember_action": "hold", "description":
"", "digest_last_sent_at": null, "digest_send_periodic": true, "digest_size_threshold":
30.0, "digest_volume_frequency": "monthly", "digests_enabled": true, "display_name":
"Test-1", "dmarc_mitigate_action": "no_mitigation", "dmarc_mitigate_unconditionally":
false, "dmarc_moderation_notice": "", "dmarc_wrapped_message_text": "", "filter_content":
false, "first_strip_reply_to": false, "fqdn_listname": "test-1@example.com",
"http_etag": "\"13dde9fada57f5b6504f03d9207b419649572778\"", "include_rfc2369_headers":
true, "info": "", "join_address": "test-1-join@example.com", "last_post_at":
null, "leave_address": "test-1-leave@example.com", "list_name": "test-1",
"mail_host": "example.com", "max_message_size": 40, "moderator_password":
null, "next_digest_number": 1, "no_reply_address": "noreply@example.com",
"owner_address": "test-1-owner@example.com", "post_id": 1, "posting_address":
"test-1@example.com", "posting_pipeline": "default-posting-pipeline", "reply_goes_to_list":
"no_munging", "reply_to_address": "", "request_address": "test-1-request@example.com",
"send_welcome_message": true, "subject_prefix": "[Test-1] ", "subscription_policy":
"confirm", "volume": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['1851']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: advertised=False
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/lists/test-1@example.com/config
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists?advertised=true
response:
body: {string: '{"entries": [{"display_name": "Test-2", "fqdn_listname": "test-2@example.com",
"http_etag": "\"a52f87bcdd7a4035c93a8b0a4a92ee4342278428\"", "list_id": "test-2.example.com",
"list_name": "test-2", "mail_host": "example.com", "member_count": 0, "self_link":
"http://localhost:9001/3.1/lists/test-2.example.com", "volume": 1}, {"display_name":
"Test-3", "fqdn_listname": "test-3@example.com", "http_etag": "\"28ebc14149a5a5a2d1768712201e7bd96d1a6d40\"",
"list_id": "test-3.example.com", "list_name": "test-3", "mail_host": "example.com",
"member_count": 0, "self_link": "http://localhost:9001/3.1/lists/test-3.example.com",
"volume": 1}, {"display_name": "Test-3", "fqdn_listname": "test-3@example.net",
"http_etag": "\"351777e7d0678dfb6668c73f9fc37a0147a47297\"", "list_id": "test-3.example.net",
"list_name": "test-3", "mail_host": "example.net", "member_count": 0, "self_link":
"http://localhost:9001/3.1/lists/test-3.example.net", "volume": 1}, {"display_name":
"Test-announce", "fqdn_listname": "test-announce@example.com", "http_etag":
"\"fbd086ce30ba8d0b805cd947bcd48888951b1bb0\"", "list_id": "test-announce.example.com",
"list_name": "test-announce", "mail_host": "example.com", "member_count":
0, "self_link": "http://localhost:9001/3.1/lists/test-announce.example.com",
"volume": 1}], "http_etag": "\"135303ab7fe5b820fe28890dab957638f96faa9c\"",
"start": 0, "total_size": 4}'}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['1382']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists?count=2&page=1
response:
body: {string: '{"entries": [{"display_name": "Test-1", "fqdn_listname": "test-1@example.com",
"http_etag": "\"40cd89e168750b73cbc0d60933bba97892048be2\"", "list_id": "test-1.example.com",
"list_name": "test-1", "mail_host": "example.com", "member_count": 0, "self_link":
"http://localhost:9001/3.1/lists/test-1.example.com", "volume": 1}, {"display_name":
"Test-2", "fqdn_listname": "test-2@example.com", "http_etag": "\"a52f87bcdd7a4035c93a8b0a4a92ee4342278428\"",
"list_id": "test-2.example.com", "list_name": "test-2", "mail_host": "example.com",
"member_count": 0, "self_link": "http://localhost:9001/3.1/lists/test-2.example.com",
"volume": 1}], "http_etag": "\"371e0bcd06562ee3d74e12ab36b213084cf8070d\"",
"start": 0, "total_size": 5}'}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['725']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists?count=2&page=2
response:
body: {string: '{"entries": [{"display_name": "Test-3", "fqdn_listname": "test-3@example.com",
"http_etag": "\"28ebc14149a5a5a2d1768712201e7bd96d1a6d40\"", "list_id": "test-3.example.com",
"list_name": "test-3", "mail_host": "example.com", "member_count": 0, "self_link":
"http://localhost:9001/3.1/lists/test-3.example.com", "volume": 1}, {"display_name":
"Test-3", "fqdn_listname": "test-3@example.net", "http_etag": "\"351777e7d0678dfb6668c73f9fc37a0147a47297\"",
"list_id": "test-3.example.net", "list_name": "test-3", "mail_host": "example.net",
"member_count": 0, "self_link": "http://localhost:9001/3.1/lists/test-3.example.net",
"volume": 1}], "http_etag": "\"21e88556facb6da0585bc47e223449014461dd0b\"",
"start": 2, "total_size": 5}'}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['725']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists?advertised=true&count=2&page=1
response:
body: {string: '{"entries": [{"display_name": "Test-2", "fqdn_listname": "test-2@example.com",
"http_etag": "\"a52f87bcdd7a4035c93a8b0a4a92ee4342278428\"", "list_id": "test-2.example.com",
"list_name": "test-2", "mail_host": "example.com", "member_count": 0, "self_link":
"http://localhost:9001/3.1/lists/test-2.example.com", "volume": 1}, {"display_name":
"Test-3", "fqdn_listname": "test-3@example.com", "http_etag": "\"28ebc14149a5a5a2d1768712201e7bd96d1a6d40\"",
"list_id": "test-3.example.com", "list_name": "test-3", "mail_host": "example.com",
"member_count": 0, "self_link": "http://localhost:9001/3.1/lists/test-3.example.com",
"volume": 1}], "http_etag": "\"03d14cea3aaa2ab3ecc8a67d42be3881988a4e30\"",
"start": 0, "total_size": 4}'}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['725']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.com/lists
response:
body: {string: '{"entries": [{"display_name": "Test-1", "fqdn_listname": "test-1@example.com",
"http_etag": "\"40cd89e168750b73cbc0d60933bba97892048be2\"", "list_id": "test-1.example.com",
"list_name": "test-1", "mail_host": "example.com", "member_count": 0, "self_link":
"http://localhost:9001/3.1/lists/test-1.example.com", "volume": 1}, {"display_name":
"Test-2", "fqdn_listname": "test-2@example.com", "http_etag": "\"a52f87bcdd7a4035c93a8b0a4a92ee4342278428\"",
"list_id": "test-2.example.com", "list_name": "test-2", "mail_host": "example.com",
"member_count": 0, "self_link": "http://localhost:9001/3.1/lists/test-2.example.com",
"volume": 1}, {"display_name": "Test-3", "fqdn_listname": "test-3@example.com",
"http_etag": "\"28ebc14149a5a5a2d1768712201e7bd96d1a6d40\"", "list_id": "test-3.example.com",
"list_name": "test-3", "mail_host": "example.com", "member_count": 0, "self_link":
"http://localhost:9001/3.1/lists/test-3.example.com", "volume": 1}, {"display_name":
"Test-announce", "fqdn_listname": "test-announce@example.com", "http_etag":
"\"fbd086ce30ba8d0b805cd947bcd48888951b1bb0\"", "list_id": "test-announce.example.com",
"list_name": "test-announce", "mail_host": "example.com", "member_count":
0, "self_link": "http://localhost:9001/3.1/lists/test-announce.example.com",
"volume": 1}], "http_etag": "\"0dfae328ced6ea085c6c200d3fe412135c03246f\"",
"start": 0, "total_size": 4}'}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['1382']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.com/lists?advertised=true
response:
body: {string: '{"entries": [{"display_name": "Test-2", "fqdn_listname": "test-2@example.com",
"http_etag": "\"a52f87bcdd7a4035c93a8b0a4a92ee4342278428\"", "list_id": "test-2.example.com",
"list_name": "test-2", "mail_host": "example.com", "member_count": 0, "self_link":
"http://localhost:9001/3.1/lists/test-2.example.com", "volume": 1}, {"display_name":
"Test-3", "fqdn_listname": "test-3@example.com", "http_etag": "\"28ebc14149a5a5a2d1768712201e7bd96d1a6d40\"",
"list_id": "test-3.example.com", "list_name": "test-3", "mail_host": "example.com",
"member_count": 0, "self_link": "http://localhost:9001/3.1/lists/test-3.example.com",
"volume": 1}, {"display_name": "Test-announce", "fqdn_listname": "test-announce@example.com",
"http_etag": "\"fbd086ce30ba8d0b805cd947bcd48888951b1bb0\"", "list_id": "test-announce.example.com",
"list_name": "test-announce", "mail_host": "example.com", "member_count":
0, "self_link": "http://localhost:9001/3.1/lists/test-announce.example.com",
"volume": 1}], "http_etag": "\"2381ea2827d826f7fbc3ca371c9a07d8ebf9c015\"",
"start": 0, "total_size": 3}'}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['1071']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/domains/example.com/lists?advertised=true&count=2&page=1
response:
body: {string: '{"entries": [{"display_name": "Test-2", "fqdn_listname": "test-2@example.com",
"http_etag": "\"a52f87bcdd7a4035c93a8b0a4a92ee4342278428\"", "list_id": "test-2.example.com",
"list_name": "test-2", "mail_host": "example.com", "member_count": 0, "self_link":
"http://localhost:9001/3.1/lists/test-2.example.com", "volume": 1}, {"display_name":
"Test-3", "fqdn_listname": "test-3@example.com", "http_etag": "\"28ebc14149a5a5a2d1768712201e7bd96d1a6d40\"",
"list_id": "test-3.example.com", "list_name": "test-3", "mail_host": "example.com",
"member_count": 0, "self_link": "http://localhost:9001/3.1/lists/test-3.example.com",
"volume": 1}], "http_etag": "\"075bb20436aa2ce3e524750ff3e1cd56e713c9c1\"",
"start": 0, "total_size": 3}'}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['725']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-3@example.net
response:
body: {string: '{"display_name": "Test-3", "fqdn_listname": "test-3@example.net",
"http_etag": "\"351777e7d0678dfb6668c73f9fc37a0147a47297\"", "list_id": "test-3.example.net",
"list_name": "test-3", "mail_host": "example.net", "member_count": 0, "self_link":
"http://localhost:9001/3.1/lists/test-3.example.net", "volume": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['309']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/lists/test-3.example.net
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/lists/test-3@example.com
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists
response:
body: {string: '{"entries": [{"display_name": "Test-1", "fqdn_listname": "test-1@example.com",
"http_etag": "\"40cd89e168750b73cbc0d60933bba97892048be2\"", "list_id": "test-1.example.com",
"list_name": "test-1", "mail_host": "example.com", "member_count": 0, "self_link":
"http://localhost:9001/3.1/lists/test-1.example.com", "volume": 1}, {"display_name":
"Test-2", "fqdn_listname": "test-2@example.com", "http_etag": "\"a52f87bcdd7a4035c93a8b0a4a92ee4342278428\"",
"list_id": "test-2.example.com", "list_name": "test-2", "mail_host": "example.com",
"member_count": 0, "self_link": "http://localhost:9001/3.1/lists/test-2.example.com",
"volume": 1}, {"display_name": "Test-announce", "fqdn_listname": "test-announce@example.com",
"http_etag": "\"fbd086ce30ba8d0b805cd947bcd48888951b1bb0\"", "list_id": "test-announce.example.com",
"list_name": "test-announce", "mail_host": "example.com", "member_count":
0, "self_link": "http://localhost:9001/3.1/lists/test-announce.example.com",
"volume": 1}], "http_etag": "\"022c72dc28cc173e40bb385e3b65f90698e89e63\"",
"start": 0, "total_size": 3}'}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['1071']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/members
response:
body: {string: '{"http_etag": "\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\"",
"start": 0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:58:00 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['90']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-2@example.com
response:
body: {string: '{"display_name": "Test-2", "fqdn_listname": "test-2@example.com",
"http_etag": "\"a52f87bcdd7a4035c93a8b0a4a92ee4342278428\"", "list_id": "test-2.example.com",
"list_name": "test-2", "mail_host": "example.com", "member_count": 0, "self_link":
"http://localhost:9001/3.1/lists/test-2.example.com", "volume": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:01 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['309']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-2@example.com/config
response:
body: {string: '{"acceptable_aliases": [], "admin_immed_notify": true, "admin_notify_mchanges":
false, "administrivia": true, "advertised": true, "allow_list_posts": true,
"anonymous_list": false, "archive_policy": "public", "autorespond_owner":
"none", "autorespond_postings": "none", "autorespond_requests": "none", "autoresponse_grace_period":
"90d", "autoresponse_owner_text": "", "autoresponse_postings_text": "", "autoresponse_request_text":
"", "bounces_address": "test-2-bounces@example.com", "collapse_alternatives":
true, "convert_html_to_plaintext": false, "created_at": "2005-08-01T07:49:23",
"default_member_action": "defer", "default_nonmember_action": "hold", "description":
"", "digest_last_sent_at": null, "digest_send_periodic": true, "digest_size_threshold":
30.0, "digest_volume_frequency": "monthly", "digests_enabled": true, "display_name":
"Test-2", "dmarc_mitigate_action": "no_mitigation", "dmarc_mitigate_unconditionally":
false, "dmarc_moderation_notice": "", "dmarc_wrapped_message_text": "", "filter_content":
false, "first_strip_reply_to": false, "fqdn_listname": "test-2@example.com",
"http_etag": "\"a1f8ca919842a8f8882b8e2642255e106559bcb0\"", "include_rfc2369_headers":
true, "info": "", "join_address": "test-2-join@example.com", "last_post_at":
null, "leave_address": "test-2-leave@example.com", "list_name": "test-2",
"mail_host": "example.com", "max_message_size": 40, "moderator_password":
null, "next_digest_number": 1, "no_reply_address": "noreply@example.com",
"owner_address": "test-2-owner@example.com", "post_id": 1, "posting_address":
"test-2@example.com", "posting_pipeline": "default-posting-pipeline", "reply_goes_to_list":
"no_munging", "reply_to_address": "", "request_address": "test-2-request@example.com",
"send_welcome_message": true, "subject_prefix": "[Test-2] ", "subscription_policy":
"confirm", "volume": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:01 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['1851']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: list_id=test-1.example.com&subscriber=unverified%40example.com&display_name=Unverified
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members
response:
body: {string: '{"http_etag": "\"53e52118732150dfa814d69386fae33c6350924b\"",
"token": "0000000000000000000000000000000000000059", "token_owner": "subscriber"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:01 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['143']
content-type: [application/json; charset=UTF-8]
status: {code: 202, message: Accepted}
- request:
body: list_id=test-1.example.com&subscriber=unconfirmed%40example.com&display_name=Unconfirmed&pre_verified=True
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members
response:
body: {string: '{"http_etag": "\"3f97945f7595b4f56a8cb402abeb17faf3d91a5a\"",
"token": "0000000000000000000000000000000000000060", "token_owner": "subscriber"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:01 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['143']
content-type: [application/json; charset=UTF-8]
status: {code: 202, message: Accepted}
- request:
body: list_id=test-1.example.com&subscriber=anna%40example.com&display_name=Anna&pre_verified=True&pre_confirmed=True
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:58:01 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/members/00000000000000000000000000000076']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/members/00000000000000000000000000000076
response:
body: {string: '{"address": "http://localhost:9001/3.1/addresses/anna@example.com",
"delivery_mode": "regular", "display_name": "Anna", "email": "anna@example.com",
"http_etag": "\"a248b45b889849c2a859d6415499144f722922de\"", "list_id": "test-1.example.com",
"member_id": "00000000000000000000000000000076", "role": "member", "self_link":
"http://localhost:9001/3.1/members/00000000000000000000000000000076", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000070"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:01 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['468']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: list_id=test-1.example.com&subscriber=bill%40example.com&display_name=Bill&pre_verified=True&pre_confirmed=True
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:58:01 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/members/00000000000000000000000000000077']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/members/00000000000000000000000000000077
response:
body: {string: '{"address": "http://localhost:9001/3.1/addresses/bill@example.com",
"delivery_mode": "regular", "display_name": "Bill", "email": "bill@example.com",
"http_etag": "\"fa85245d6a40d5761a0262a3411fb507bc965198\"", "list_id": "test-1.example.com",
"member_id": "00000000000000000000000000000077", "role": "member", "self_link":
"http://localhost:9001/3.1/members/00000000000000000000000000000077", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000071"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:01 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['468']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: list_id=test-2.example.com&subscriber=anna%40example.com&display_name=None&pre_verified=True&pre_confirmed=True
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:58:01 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/members/00000000000000000000000000000078']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/members/00000000000000000000000000000078
response:
body: {string: '{"address": "http://localhost:9001/3.1/addresses/anna@example.com",
"delivery_mode": "regular", "display_name": "Anna", "email": "anna@example.com",
"http_etag": "\"89c166999fa1e30b6beabb8c5f12ede8d0a151dd\"", "list_id": "test-2.example.com",
"member_id": "00000000000000000000000000000078", "role": "member", "self_link":
"http://localhost:9001/3.1/members/00000000000000000000000000000078", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000070"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:01 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['468']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: list_id=test-2.example.com&subscriber=cris%40example.com&display_name=Cris&pre_verified=True&pre_confirmed=True
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:58:01 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/members/00000000000000000000000000000079']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/members/00000000000000000000000000000079
response:
body: {string: '{"address": "http://localhost:9001/3.1/addresses/cris@example.com",
"delivery_mode": "regular", "display_name": "Cris", "email": "cris@example.com",
"http_etag": "\"ff53a78bbce96717c0b709ce2faff8ee7232e2be\"", "list_id": "test-2.example.com",
"member_id": "00000000000000000000000000000079", "role": "member", "self_link":
"http://localhost:9001/3.1/members/00000000000000000000000000000079", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000072"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:01 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['468']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/members
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/anna@example.com",
"delivery_mode": "regular", "display_name": "Anna", "email": "anna@example.com",
"http_etag": "\"a248b45b889849c2a859d6415499144f722922de\"", "list_id": "test-1.example.com",
"member_id": "00000000000000000000000000000076", "role": "member", "self_link":
"http://localhost:9001/3.1/members/00000000000000000000000000000076", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000070"}, {"address":
"http://localhost:9001/3.1/addresses/bill@example.com", "delivery_mode": "regular",
"display_name": "Bill", "email": "bill@example.com", "http_etag": "\"fa85245d6a40d5761a0262a3411fb507bc965198\"",
"list_id": "test-1.example.com", "member_id": "00000000000000000000000000000077",
"role": "member", "self_link": "http://localhost:9001/3.1/members/00000000000000000000000000000077",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000071"},
{"address": "http://localhost:9001/3.1/addresses/anna@example.com", "delivery_mode":
"regular", "display_name": "Anna", "email": "anna@example.com", "http_etag":
"\"89c166999fa1e30b6beabb8c5f12ede8d0a151dd\"", "list_id": "test-2.example.com",
"member_id": "00000000000000000000000000000078", "role": "member", "self_link":
"http://localhost:9001/3.1/members/00000000000000000000000000000078", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000070"}, {"address":
"http://localhost:9001/3.1/addresses/cris@example.com", "delivery_mode": "regular",
"display_name": "Cris", "email": "cris@example.com", "http_etag": "\"ff53a78bbce96717c0b709ce2faff8ee7232e2be\"",
"list_id": "test-2.example.com", "member_id": "00000000000000000000000000000079",
"role": "member", "self_link": "http://localhost:9001/3.1/members/00000000000000000000000000000079",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000072"}],
"http_etag": "\"2d0fc3133fc5e72f31d0161fb7c7232efa13e635\"", "start": 0, "total_size":
4}'}
headers:
Date: ['Wed, 16 May 2018 00:58:01 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['1983']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1@example.com/roster/member
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/anna@example.com",
"delivery_mode": "regular", "display_name": "Anna", "email": "anna@example.com",
"http_etag": "\"a248b45b889849c2a859d6415499144f722922de\"", "list_id": "test-1.example.com",
"member_id": "00000000000000000000000000000076", "role": "member", "self_link":
"http://localhost:9001/3.1/members/00000000000000000000000000000076", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000070"}, {"address":
"http://localhost:9001/3.1/addresses/bill@example.com", "delivery_mode": "regular",
"display_name": "Bill", "email": "bill@example.com", "http_etag": "\"fa85245d6a40d5761a0262a3411fb507bc965198\"",
"list_id": "test-1.example.com", "member_id": "00000000000000000000000000000077",
"role": "member", "self_link": "http://localhost:9001/3.1/members/00000000000000000000000000000077",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000071"}],
"http_etag": "\"d8492b8bf3e53a683cb8c837274aa709e05b05fa\"", "start": 0, "total_size":
2}'}
headers:
Date: ['Wed, 16 May 2018 00:58:01 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['1043']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1@example.com/roster/member
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/anna@example.com",
"delivery_mode": "regular", "display_name": "Anna", "email": "anna@example.com",
"http_etag": "\"a248b45b889849c2a859d6415499144f722922de\"", "list_id": "test-1.example.com",
"member_id": "00000000000000000000000000000076", "role": "member", "self_link":
"http://localhost:9001/3.1/members/00000000000000000000000000000076", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000070"}, {"address":
"http://localhost:9001/3.1/addresses/bill@example.com", "delivery_mode": "regular",
"display_name": "Bill", "email": "bill@example.com", "http_etag": "\"fa85245d6a40d5761a0262a3411fb507bc965198\"",
"list_id": "test-1.example.com", "member_id": "00000000000000000000000000000077",
"role": "member", "self_link": "http://localhost:9001/3.1/members/00000000000000000000000000000077",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000071"}],
"http_etag": "\"d8492b8bf3e53a683cb8c837274aa709e05b05fa\"", "start": 0, "total_size":
2}'}
headers:
Date: ['Wed, 16 May 2018 00:58:01 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['1043']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/members?count=2&page=1
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/anna@example.com",
"delivery_mode": "regular", "display_name": "Anna", "email": "anna@example.com",
"http_etag": "\"a248b45b889849c2a859d6415499144f722922de\"", "list_id": "test-1.example.com",
"member_id": "00000000000000000000000000000076", "role": "member", "self_link":
"http://localhost:9001/3.1/members/00000000000000000000000000000076", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000070"}, {"address":
"http://localhost:9001/3.1/addresses/bill@example.com", "delivery_mode": "regular",
"display_name": "Bill", "email": "bill@example.com", "http_etag": "\"fa85245d6a40d5761a0262a3411fb507bc965198\"",
"list_id": "test-1.example.com", "member_id": "00000000000000000000000000000077",
"role": "member", "self_link": "http://localhost:9001/3.1/members/00000000000000000000000000000077",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000071"}],
"http_etag": "\"6ad28ed2056270d5f1bb7a248bd80969a06f72e3\"", "start": 0, "total_size":
4}'}
headers:
Date: ['Wed, 16 May 2018 00:58:01 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['1043']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/members?count=2&page=2
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/anna@example.com",
"delivery_mode": "regular", "display_name": "Anna", "email": "anna@example.com",
"http_etag": "\"89c166999fa1e30b6beabb8c5f12ede8d0a151dd\"", "list_id": "test-2.example.com",
"member_id": "00000000000000000000000000000078", "role": "member", "self_link":
"http://localhost:9001/3.1/members/00000000000000000000000000000078", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000070"}, {"address":
"http://localhost:9001/3.1/addresses/cris@example.com", "delivery_mode": "regular",
"display_name": "Cris", "email": "cris@example.com", "http_etag": "\"ff53a78bbce96717c0b709ce2faff8ee7232e2be\"",
"list_id": "test-2.example.com", "member_id": "00000000000000000000000000000079",
"role": "member", "self_link": "http://localhost:9001/3.1/members/00000000000000000000000000000079",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000072"}],
"http_etag": "\"7e9768f39337506f9549882a2cdabd605338d1c0\"", "start": 2, "total_size":
4}'}
headers:
Date: ['Wed, 16 May 2018 00:58:01 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['1043']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1@example.com/roster/member?count=1&page=1
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/anna@example.com",
"delivery_mode": "regular", "display_name": "Anna", "email": "anna@example.com",
"http_etag": "\"a248b45b889849c2a859d6415499144f722922de\"", "list_id": "test-1.example.com",
"member_id": "00000000000000000000000000000076", "role": "member", "self_link":
"http://localhost:9001/3.1/members/00000000000000000000000000000076", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000070"}], "http_etag":
"\"a7a9884a4281318c0731f02768358ef6b233ec5e\"", "start": 0, "total_size":
2}'}
headers:
Date: ['Wed, 16 May 2018 00:58:01 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['573']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1@example.com/roster/member?count=1&page=2
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/bill@example.com",
"delivery_mode": "regular", "display_name": "Bill", "email": "bill@example.com",
"http_etag": "\"fa85245d6a40d5761a0262a3411fb507bc965198\"", "list_id": "test-1.example.com",
"member_id": "00000000000000000000000000000077", "role": "member", "self_link":
"http://localhost:9001/3.1/members/00000000000000000000000000000077", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000071"}], "http_etag":
"\"e2b54d7ca035908bc68a0da32a827e8048dd7314\"", "start": 1, "total_size":
2}'}
headers:
Date: ['Wed, 16 May 2018 00:58:01 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['573']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-2.example.com/member/cris@example.com
response:
body: {string: '{"address": "http://localhost:9001/3.1/addresses/cris@example.com",
"delivery_mode": "regular", "display_name": "Cris", "email": "cris@example.com",
"http_etag": "\"ff53a78bbce96717c0b709ce2faff8ee7232e2be\"", "list_id": "test-2.example.com",
"member_id": "00000000000000000000000000000079", "role": "member", "self_link":
"http://localhost:9001/3.1/members/00000000000000000000000000000079", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000072"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:01 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['468']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-2@example.com
response:
body: {string: '{"display_name": "Test-2", "fqdn_listname": "test-2@example.com",
"http_etag": "\"9e65ac42ffbf62ab2deab791745ce1695a09e505\"", "list_id": "test-2.example.com",
"list_name": "test-2", "mail_host": "example.com", "member_count": 2, "self_link":
"http://localhost:9001/3.1/lists/test-2.example.com", "volume": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:01 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['309']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-2.example.com/member/cris@example.com
response:
body: {string: '{"address": "http://localhost:9001/3.1/addresses/cris@example.com",
"delivery_mode": "regular", "display_name": "Cris", "email": "cris@example.com",
"http_etag": "\"ff53a78bbce96717c0b709ce2faff8ee7232e2be\"", "list_id": "test-2.example.com",
"member_id": "00000000000000000000000000000079", "role": "member", "self_link":
"http://localhost:9001/3.1/members/00000000000000000000000000000079", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000072"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:01 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['468']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/members/00000000000000000000000000000079/preferences
response:
body: {string: '{"http_etag": "\"4bd0458f53fd92b071920db607a0b1c7f73e4f74\"",
"self_link": "http://localhost:9001/3.1/members/00000000000000000000000000000079/preferences"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:02 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['156']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000072
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "Cris",
"http_etag": "\"4a10d243e214db2da9caec8e3d49d7e8b38758e5\"", "is_server_owner":
false, "self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000072",
"user_id": "00000000000000000000000000000072"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:02 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['276']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/lists/test-2.example.com/member/nomember@example.com
response:
body: {string: '{"title": "404 Not Found"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:02 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['26']
content-type: [application/json; charset=UTF-8]
vary: [Accept]
status: {code: 404, message: Not Found}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/lists/test-1.example.com/member/anna@example.com
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:04 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/members
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/bill@example.com",
"delivery_mode": "regular", "display_name": "Bill", "email": "bill@example.com",
"http_etag": "\"fa85245d6a40d5761a0262a3411fb507bc965198\"", "list_id": "test-1.example.com",
"member_id": "00000000000000000000000000000077", "role": "member", "self_link":
"http://localhost:9001/3.1/members/00000000000000000000000000000077", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000071"}, {"address":
"http://localhost:9001/3.1/addresses/anna@example.com", "delivery_mode": "regular",
"display_name": "Anna", "email": "anna@example.com", "http_etag": "\"89c166999fa1e30b6beabb8c5f12ede8d0a151dd\"",
"list_id": "test-2.example.com", "member_id": "00000000000000000000000000000078",
"role": "member", "self_link": "http://localhost:9001/3.1/members/00000000000000000000000000000078",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000070"},
{"address": "http://localhost:9001/3.1/addresses/cris@example.com", "delivery_mode":
"regular", "display_name": "Cris", "email": "cris@example.com", "http_etag":
"\"ff53a78bbce96717c0b709ce2faff8ee7232e2be\"", "list_id": "test-2.example.com",
"member_id": "00000000000000000000000000000079", "role": "member", "self_link":
"http://localhost:9001/3.1/members/00000000000000000000000000000079", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000072"}], "http_etag":
"\"8524f576cdc60181292cbf840c6e87e50597dcdb\"", "start": 0, "total_size":
3}'}
headers:
Date: ['Wed, 16 May 2018 00:58:04 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['1513']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/members/00000000000000000000000000000079
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:04 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/members
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/bill@example.com",
"delivery_mode": "regular", "display_name": "Bill", "email": "bill@example.com",
"http_etag": "\"fa85245d6a40d5761a0262a3411fb507bc965198\"", "list_id": "test-1.example.com",
"member_id": "00000000000000000000000000000077", "role": "member", "self_link":
"http://localhost:9001/3.1/members/00000000000000000000000000000077", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000071"}, {"address":
"http://localhost:9001/3.1/addresses/anna@example.com", "delivery_mode": "regular",
"display_name": "Anna", "email": "anna@example.com", "http_etag": "\"89c166999fa1e30b6beabb8c5f12ede8d0a151dd\"",
"list_id": "test-2.example.com", "member_id": "00000000000000000000000000000078",
"role": "member", "self_link": "http://localhost:9001/3.1/members/00000000000000000000000000000078",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000070"}],
"http_etag": "\"fecdecf3793385706530fb6328469b990db00d4b\"", "start": 0, "total_size":
2}'}
headers:
Date: ['Wed, 16 May 2018 00:58:04 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['1043']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/lists/test-1.example.com/member/nomember@example.com
response:
body: {string: '{"title": "404 Not Found"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:04 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['26']
content-type: [application/json; charset=UTF-8]
vary: [Accept]
status: {code: 404, message: Not Found}
- request:
body: role=nonmember&list_id=test-1.example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members/find
response:
body: {string: '{"http_etag": "\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\"",
"start": 0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:58:04 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['90']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users
response:
body: {string: '{"entries": [{"created_on": "2005-08-01T07:49:23", "display_name":
"Unverified", "http_etag": "\"684b251daa4b12557f026ac8831d51c1ba31e285\"",
"is_server_owner": false, "self_link": "http://localhost:9001/3.1/users/0000000000000000000000000000006e",
"user_id": "0000000000000000000000000000006e"}, {"created_on": "2005-08-01T07:49:23",
"display_name": "Unconfirmed", "http_etag": "\"7466b6bb8588a59920e94594f2118be706e65aee\"",
"is_server_owner": false, "self_link": "http://localhost:9001/3.1/users/0000000000000000000000000000006f",
"user_id": "0000000000000000000000000000006f"}, {"created_on": "2005-08-01T07:49:23",
"display_name": "Anna", "http_etag": "\"ef3f593c6096c685daa04e9462c5452b87f5840e\"",
"is_server_owner": false, "self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000070",
"user_id": "00000000000000000000000000000070"}, {"created_on": "2005-08-01T07:49:23",
"display_name": "Bill", "http_etag": "\"a1c4846df3dbe430ab83b72816462835fa39daf7\"",
"is_server_owner": false, "self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000071",
"user_id": "00000000000000000000000000000071"}, {"created_on": "2005-08-01T07:49:23",
"display_name": "Cris", "http_etag": "\"4a10d243e214db2da9caec8e3d49d7e8b38758e5\"",
"is_server_owner": false, "self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000072",
"user_id": "00000000000000000000000000000072"}], "http_etag": "\"9c2beb78ceeb41195e8b6185cca6e54efb08f0e6\"",
"start": 0, "total_size": 5}'}
headers:
Date: ['Wed, 16 May 2018 00:58:04 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['1506']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users?count=4&page=1
response:
body: {string: '{"entries": [{"created_on": "2005-08-01T07:49:23", "display_name":
"Unverified", "http_etag": "\"684b251daa4b12557f026ac8831d51c1ba31e285\"",
"is_server_owner": false, "self_link": "http://localhost:9001/3.1/users/0000000000000000000000000000006e",
"user_id": "0000000000000000000000000000006e"}, {"created_on": "2005-08-01T07:49:23",
"display_name": "Unconfirmed", "http_etag": "\"7466b6bb8588a59920e94594f2118be706e65aee\"",
"is_server_owner": false, "self_link": "http://localhost:9001/3.1/users/0000000000000000000000000000006f",
"user_id": "0000000000000000000000000000006f"}, {"created_on": "2005-08-01T07:49:23",
"display_name": "Anna", "http_etag": "\"ef3f593c6096c685daa04e9462c5452b87f5840e\"",
"is_server_owner": false, "self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000070",
"user_id": "00000000000000000000000000000070"}, {"created_on": "2005-08-01T07:49:23",
"display_name": "Bill", "http_etag": "\"a1c4846df3dbe430ab83b72816462835fa39daf7\"",
"is_server_owner": false, "self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000071",
"user_id": "00000000000000000000000000000071"}], "http_etag": "\"ebf732bfe826292b45cf995d6f9cd02e1e82e161\"",
"start": 0, "total_size": 5}'}
headers:
Date: ['Wed, 16 May 2018 00:58:04 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['1228']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users?count=4&page=2
response:
body: {string: '{"entries": [{"created_on": "2005-08-01T07:49:23", "display_name":
"Cris", "http_etag": "\"4a10d243e214db2da9caec8e3d49d7e8b38758e5\"", "is_server_owner":
false, "self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000072",
"user_id": "00000000000000000000000000000072"}], "http_etag": "\"66c165e1e98efac26b966e8a730738f1cecd3a72\"",
"start": 4, "total_size": 5}'}
headers:
Date: ['Wed, 16 May 2018 00:58:04 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['381']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users?count=4&page=1
response:
body: {string: '{"entries": [{"created_on": "2005-08-01T07:49:23", "display_name":
"Unverified", "http_etag": "\"684b251daa4b12557f026ac8831d51c1ba31e285\"",
"is_server_owner": false, "self_link": "http://localhost:9001/3.1/users/0000000000000000000000000000006e",
"user_id": "0000000000000000000000000000006e"}, {"created_on": "2005-08-01T07:49:23",
"display_name": "Unconfirmed", "http_etag": "\"7466b6bb8588a59920e94594f2118be706e65aee\"",
"is_server_owner": false, "self_link": "http://localhost:9001/3.1/users/0000000000000000000000000000006f",
"user_id": "0000000000000000000000000000006f"}, {"created_on": "2005-08-01T07:49:23",
"display_name": "Anna", "http_etag": "\"ef3f593c6096c685daa04e9462c5452b87f5840e\"",
"is_server_owner": false, "self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000070",
"user_id": "00000000000000000000000000000070"}, {"created_on": "2005-08-01T07:49:23",
"display_name": "Bill", "http_etag": "\"a1c4846df3dbe430ab83b72816462835fa39daf7\"",
"is_server_owner": false, "self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000071",
"user_id": "00000000000000000000000000000071"}], "http_etag": "\"ebf732bfe826292b45cf995d6f9cd02e1e82e161\"",
"start": 0, "total_size": 5}'}
headers:
Date: ['Wed, 16 May 2018 00:58:04 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['1228']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/cris@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "Cris",
"http_etag": "\"4a10d243e214db2da9caec8e3d49d7e8b38758e5\"", "is_server_owner":
false, "self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000072",
"user_id": "00000000000000000000000000000072"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:04 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['276']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000072/addresses
response:
body: {string: '{"entries": [{"display_name": "Cris", "email": "cris@example.com",
"http_etag": "\"c04ff17471ee84b92e80e6c6f2d9a7cbea519111\"", "original_email":
"cris@example.com", "registered_on": "2005-08-01T07:49:23", "self_link": "http://localhost:9001/3.1/addresses/cris@example.com",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000072",
"verified_on": "2005-08-01T07:49:23"}], "http_etag": "\"85b8d86897665bd9fee9ef9d0ad292993e59ee1f\"",
"start": 0, "total_size": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:04 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['480']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: email=cris.person%40example.org
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users/00000000000000000000000000000072/addresses
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:58:04 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/addresses/cris.person@example.org']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/addresses/cris.person@example.org
response:
body: {string: '{"email": "cris.person@example.org", "http_etag": "\"486ba31af82589292a69c0e398d531162943567d\"",
"original_email": "cris.person@example.org", "registered_on": "2005-08-01T07:49:23",
"self_link": "http://localhost:9001/3.1/addresses/cris.person@example.org",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000072"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:04 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['334']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000072/addresses
response:
body: {string: '{"entries": [{"email": "cris.person@example.org", "http_etag":
"\"486ba31af82589292a69c0e398d531162943567d\"", "original_email": "cris.person@example.org",
"registered_on": "2005-08-01T07:49:23", "self_link": "http://localhost:9001/3.1/addresses/cris.person@example.org",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000072"},
{"display_name": "Cris", "email": "cris@example.com", "http_etag": "\"c04ff17471ee84b92e80e6c6f2d9a7cbea519111\"",
"original_email": "cris@example.com", "registered_on": "2005-08-01T07:49:23",
"self_link": "http://localhost:9001/3.1/addresses/cris@example.com", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000072", "verified_on":
"2005-08-01T07:49:23"}], "http_etag": "\"5470579eba8f72539fe55c5d2c49c676781c80d6\"",
"start": 0, "total_size": 2}'}
headers:
Date: ['Wed, 16 May 2018 00:58:04 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['816']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: email=dana%40example.org&password=somepass&display_name=Dana
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:58:04 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/users/00000000000000000000000000000073']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000073
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "Dana",
"http_etag": "\"835261419b22b14394792c543c08b1049813f76f\"", "is_server_owner":
false, "password": "$6$rounds=656000$lyAk/PQ/Q6bamYp/$UOGGAHXWn2KSsZaz0O2kMhzs9cGZlzaQHW2CqOHKlfdzHxzU9EtYZneRZzNHao40haIQm33xXFy8WvRVMgcxi/",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000073",
"user_id": "00000000000000000000000000000073"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:04 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['412']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: email=dana%40example.org
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users/00000000000000000000000000000072/addresses
response:
body: {string: Address belongs to other user}
headers:
Date: ['Wed, 16 May 2018 00:58:04 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['29']
content-type: [application/json; charset=UTF-8]
status: {code: 400, message: Bad Request}
- request:
body: email=dana%40example.org&absorb_existing=1
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users/00000000000000000000000000000072/addresses
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:58:04 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/addresses/dana@example.org']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000072/addresses
response:
body: {string: '{"entries": [{"email": "cris.person@example.org", "http_etag":
"\"486ba31af82589292a69c0e398d531162943567d\"", "original_email": "cris.person@example.org",
"registered_on": "2005-08-01T07:49:23", "self_link": "http://localhost:9001/3.1/addresses/cris.person@example.org",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000072"},
{"display_name": "Cris", "email": "cris@example.com", "http_etag": "\"c04ff17471ee84b92e80e6c6f2d9a7cbea519111\"",
"original_email": "cris@example.com", "registered_on": "2005-08-01T07:49:23",
"self_link": "http://localhost:9001/3.1/addresses/cris@example.com", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000072", "verified_on":
"2005-08-01T07:49:23"}, {"display_name": "Dana", "email": "dana@example.org",
"http_etag": "\"da52950f3131d59e9495e8d922f504ea1d53a62b\"", "original_email":
"dana@example.org", "registered_on": "2005-08-01T07:49:23", "self_link": "http://localhost:9001/3.1/addresses/dana@example.org",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000072"}],
"http_etag": "\"0419c0460498084c373bd8d431a7e6dd70370d11\"", "start": 0, "total_size":
3}'}
headers:
Date: ['Wed, 16 May 2018 00:58:04 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['1155']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/addresses/dana@example.org
response:
body: {string: '{"display_name": "Dana", "email": "dana@example.org", "http_etag":
"\"da52950f3131d59e9495e8d922f504ea1d53a62b\"", "original_email": "dana@example.org",
"registered_on": "2005-08-01T07:49:23", "self_link": "http://localhost:9001/3.1/addresses/dana@example.org",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000072"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:04 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['337']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/addresses/dana@example.org/verify
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:04 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/addresses/dana@example.org
response:
body: {string: '{"display_name": "Dana", "email": "dana@example.org", "http_etag":
"\"46111cc83518282dcabda1518429fbb227478a02\"", "original_email": "dana@example.org",
"registered_on": "2005-08-01T07:49:23", "self_link": "http://localhost:9001/3.1/addresses/dana@example.org",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000072",
"verified_on": "2005-08-01T07:49:23"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:05 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['375']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/addresses/dana@example.org/unverify
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:05 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/addresses/dana@example.org
response:
body: {string: '{"display_name": "Dana", "email": "dana@example.org", "http_etag":
"\"da52950f3131d59e9495e8d922f504ea1d53a62b\"", "original_email": "dana@example.org",
"registered_on": "2005-08-01T07:49:23", "self_link": "http://localhost:9001/3.1/addresses/dana@example.org",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000072"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:05 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['337']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000072/addresses
response:
body: {string: '{"entries": [{"email": "cris.person@example.org", "http_etag":
"\"486ba31af82589292a69c0e398d531162943567d\"", "original_email": "cris.person@example.org",
"registered_on": "2005-08-01T07:49:23", "self_link": "http://localhost:9001/3.1/addresses/cris.person@example.org",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000072"},
{"display_name": "Cris", "email": "cris@example.com", "http_etag": "\"c04ff17471ee84b92e80e6c6f2d9a7cbea519111\"",
"original_email": "cris@example.com", "registered_on": "2005-08-01T07:49:23",
"self_link": "http://localhost:9001/3.1/addresses/cris@example.com", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000072", "verified_on":
"2005-08-01T07:49:23"}, {"display_name": "Dana", "email": "dana@example.org",
"http_etag": "\"da52950f3131d59e9495e8d922f504ea1d53a62b\"", "original_email":
"dana@example.org", "registered_on": "2005-08-01T07:49:23", "self_link": "http://localhost:9001/3.1/addresses/dana@example.org",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000072"}],
"http_etag": "\"0419c0460498084c373bd8d431a7e6dd70370d11\"", "start": 0, "total_size":
3}'}
headers:
Date: ['Wed, 16 May 2018 00:58:05 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['1155']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/addresses/dana@example.org
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:05 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000072/addresses
response:
body: {string: '{"entries": [{"email": "cris.person@example.org", "http_etag":
"\"486ba31af82589292a69c0e398d531162943567d\"", "original_email": "cris.person@example.org",
"registered_on": "2005-08-01T07:49:23", "self_link": "http://localhost:9001/3.1/addresses/cris.person@example.org",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000072"},
{"display_name": "Cris", "email": "cris@example.com", "http_etag": "\"c04ff17471ee84b92e80e6c6f2d9a7cbea519111\"",
"original_email": "cris@example.com", "registered_on": "2005-08-01T07:49:23",
"self_link": "http://localhost:9001/3.1/addresses/cris@example.com", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000072", "verified_on":
"2005-08-01T07:49:23"}], "http_etag": "\"5470579eba8f72539fe55c5d2c49c676781c80d6\"",
"start": 0, "total_size": 2}'}
headers:
Date: ['Wed, 16 May 2018 00:58:05 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['816']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: email=ler%40primus.org&password=somepass&display_name=Ler
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/users
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:58:05 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/users/00000000000000000000000000000074']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000074
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "Ler", "http_etag":
"\"18766b0fb788c60f732045f54bdf69aeaff7d63d\"", "is_server_owner": false,
"password": "$6$rounds=656000$9AyoaTjSJC/vjK7A$tpiTb63isPskzblA5TbAUdxIW3CoRHpTAIIv.bdBnyQa/A/q0VCb85D4KAPFFyxfMAf8VZH0uZ7087IJpghV80",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000074",
"user_id": "00000000000000000000000000000074"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:05 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['411']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/ler@primus.org
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "Ler", "http_etag":
"\"18766b0fb788c60f732045f54bdf69aeaff7d63d\"", "is_server_owner": false,
"password": "$6$rounds=656000$9AyoaTjSJC/vjK7A$tpiTb63isPskzblA5TbAUdxIW3CoRHpTAIIv.bdBnyQa/A/q0VCb85D4KAPFFyxfMAf8VZH0uZ7087IJpghV80",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000074",
"user_id": "00000000000000000000000000000074"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:05 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['411']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: display_name=Sir+Ler
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/users/00000000000000000000000000000074
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:05 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/ler@primus.org
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "Sir Ler",
"http_etag": "\"ebec43138812fe1e84cbb58dab7ff42237e7efd1\"", "is_server_owner":
false, "password": "$6$rounds=656000$9AyoaTjSJC/vjK7A$tpiTb63isPskzblA5TbAUdxIW3CoRHpTAIIv.bdBnyQa/A/q0VCb85D4KAPFFyxfMAf8VZH0uZ7087IJpghV80",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000074",
"user_id": "00000000000000000000000000000074"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:05 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['415']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: cleartext_password=easy
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/users/00000000000000000000000000000074
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:05 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000074
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "Sir Ler",
"http_etag": "\"41e9a742ba2dc5307df06a70b14258db54354e1a\"", "is_server_owner":
false, "password": "$6$rounds=656000$/yiT/EFnKBV0DeTV$W50bYMojW0cHQDDfFUTPTqUywepnD2ydIV/M33dhzG1.Zs/YOo8.kgJmt7KnIvUSQ3qjJtYrS0c10bN8hXuyo/",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000074",
"user_id": "00000000000000000000000000000074"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:05 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['415']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/bill@example.com
response:
body: {string: '{"created_on": "2005-08-01T07:49:23", "display_name": "Bill",
"http_etag": "\"a1c4846df3dbe430ab83b72816462835fa39daf7\"", "is_server_owner":
false, "self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000071",
"user_id": "00000000000000000000000000000071"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:05 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['276']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users/00000000000000000000000000000071/addresses
response:
body: {string: '{"entries": [{"display_name": "Bill", "email": "bill@example.com",
"http_etag": "\"3bacbca0faeba07b5f7fc9f34ace2963be4b78a6\"", "original_email":
"bill@example.com", "registered_on": "2005-08-01T07:49:23", "self_link": "http://localhost:9001/3.1/addresses/bill@example.com",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000071",
"verified_on": "2005-08-01T07:49:23"}], "http_etag": "\"4c10f88ad2017aa40288a3ca63bb4c3c78754022\"",
"start": 0, "total_size": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:05 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['480']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: subscriber=bill%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members/find
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/bill@example.com",
"delivery_mode": "regular", "display_name": "Bill", "email": "bill@example.com",
"http_etag": "\"fa85245d6a40d5761a0262a3411fb507bc965198\"", "list_id": "test-1.example.com",
"member_id": "00000000000000000000000000000077", "role": "member", "self_link":
"http://localhost:9001/3.1/members/00000000000000000000000000000077", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000071"}], "http_etag":
"\"d74a4b507d3bad2b1f4c9d89d890f4e49345a8c2\"", "start": 0, "total_size":
1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:05 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['573']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1@example.com/config
response:
body: {string: '{"acceptable_aliases": [], "admin_immed_notify": true, "admin_notify_mchanges":
false, "administrivia": true, "advertised": false, "allow_list_posts": true,
"anonymous_list": false, "archive_policy": "public", "autorespond_owner":
"none", "autorespond_postings": "none", "autorespond_requests": "none", "autoresponse_grace_period":
"90d", "autoresponse_owner_text": "", "autoresponse_postings_text": "", "autoresponse_request_text":
"", "bounces_address": "test-1-bounces@example.com", "collapse_alternatives":
true, "convert_html_to_plaintext": false, "created_at": "2005-08-01T07:49:23",
"default_member_action": "defer", "default_nonmember_action": "hold", "description":
"", "digest_last_sent_at": null, "digest_send_periodic": true, "digest_size_threshold":
30.0, "digest_volume_frequency": "monthly", "digests_enabled": true, "display_name":
"Test-1", "dmarc_mitigate_action": "no_mitigation", "dmarc_mitigate_unconditionally":
false, "dmarc_moderation_notice": "", "dmarc_wrapped_message_text": "", "filter_content":
false, "first_strip_reply_to": false, "fqdn_listname": "test-1@example.com",
"http_etag": "\"41ee0fe26eef4b27259e555795e65273c7661c7e\"", "include_rfc2369_headers":
true, "info": "", "join_address": "test-1-join@example.com", "last_post_at":
null, "leave_address": "test-1-leave@example.com", "list_name": "test-1",
"mail_host": "example.com", "max_message_size": 40, "moderator_password":
null, "next_digest_number": 1, "no_reply_address": "noreply@example.com",
"owner_address": "test-1-owner@example.com", "post_id": 1, "posting_address":
"test-1@example.com", "posting_pipeline": "default-posting-pipeline", "reply_goes_to_list":
"no_munging", "reply_to_address": "", "request_address": "test-1-request@example.com",
"send_welcome_message": true, "subject_prefix": "[Test-1] ", "subscription_policy":
"confirm", "volume": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:05 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['1852']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: description=A+very+meaningful+description.&display_name=Test+Numero+Uno
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/lists/test-1@example.com/config
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:05 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1@example.com/config
response:
body: {string: '{"acceptable_aliases": [], "admin_immed_notify": true, "admin_notify_mchanges":
false, "administrivia": true, "advertised": false, "allow_list_posts": true,
"anonymous_list": false, "archive_policy": "public", "autorespond_owner":
"none", "autorespond_postings": "none", "autorespond_requests": "none", "autoresponse_grace_period":
"90d", "autoresponse_owner_text": "", "autoresponse_postings_text": "", "autoresponse_request_text":
"", "bounces_address": "test-1-bounces@example.com", "collapse_alternatives":
true, "convert_html_to_plaintext": false, "created_at": "2005-08-01T07:49:23",
"default_member_action": "defer", "default_nonmember_action": "hold", "description":
"A very meaningful description.", "digest_last_sent_at": null, "digest_send_periodic":
true, "digest_size_threshold": 30.0, "digest_volume_frequency": "monthly",
"digests_enabled": true, "display_name": "Test Numero Uno", "dmarc_mitigate_action":
"no_mitigation", "dmarc_mitigate_unconditionally": false, "dmarc_moderation_notice":
"", "dmarc_wrapped_message_text": "", "filter_content": false, "first_strip_reply_to":
false, "fqdn_listname": "test-1@example.com", "http_etag": "\"a4e9afb26abfa809735b749c2d3f65678febcaa5\"",
"include_rfc2369_headers": true, "info": "", "join_address": "test-1-join@example.com",
"last_post_at": null, "leave_address": "test-1-leave@example.com", "list_name":
"test-1", "mail_host": "example.com", "max_message_size": 40, "moderator_password":
null, "next_digest_number": 1, "no_reply_address": "noreply@example.com",
"owner_address": "test-1-owner@example.com", "post_id": 1, "posting_address":
"test-1@example.com", "posting_pipeline": "default-posting-pipeline", "reply_goes_to_list":
"no_munging", "reply_to_address": "", "request_address": "test-1-request@example.com",
"send_welcome_message": true, "subject_prefix": "[Test-1] ", "subscription_policy":
"confirm", "volume": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['1891']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/system/preferences
response:
body: {string: '{"acknowledge_posts": false, "delivery_mode": "regular", "delivery_status":
"enabled", "hide_address": true, "http_etag": "\"2bf3b0a394f164ec02c6bdc0147db6323c2261de\"",
"preferred_language": "en", "receive_list_copy": true, "receive_own_postings":
true, "self_link": "http://localhost:9001/3.1/system/preferences"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['315']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-2.example.com/member/anna@example.com
response:
body: {string: '{"address": "http://localhost:9001/3.1/addresses/anna@example.com",
"delivery_mode": "regular", "display_name": "Anna", "email": "anna@example.com",
"http_etag": "\"89c166999fa1e30b6beabb8c5f12ede8d0a151dd\"", "list_id": "test-2.example.com",
"member_id": "00000000000000000000000000000078", "role": "member", "self_link":
"http://localhost:9001/3.1/members/00000000000000000000000000000078", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000070"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['468']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/members/00000000000000000000000000000078/preferences
response:
body: {string: '{"http_etag": "\"2a87522c69ef116f2403d6ce7ba909de6f487def\"",
"self_link": "http://localhost:9001/3.1/members/00000000000000000000000000000078/preferences"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['156']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: delivery_status=by_user
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/members/00000000000000000000000000000078/preferences
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-2.example.com/member/anna@example.com
response:
body: {string: '{"address": "http://localhost:9001/3.1/addresses/anna@example.com",
"delivery_mode": "regular", "display_name": "Anna", "email": "anna@example.com",
"http_etag": "\"89c166999fa1e30b6beabb8c5f12ede8d0a151dd\"", "list_id": "test-2.example.com",
"member_id": "00000000000000000000000000000078", "role": "member", "self_link":
"http://localhost:9001/3.1/members/00000000000000000000000000000078", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000070"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['468']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/members/00000000000000000000000000000078/preferences
response:
body: {string: '{"delivery_status": "by_user", "http_etag": "\"05a52eaed36e34626d026c6fcec59710e8b8819d\"",
"self_link": "http://localhost:9001/3.1/members/00000000000000000000000000000078/preferences"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['186']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/system/pipelines
response:
body: {string: '{"http_etag": "\"ff8a7af97caf24e6ca24c5baed447ff532bd1b4f\"",
"pipelines": ["default-owner-pipeline", "default-posting-pipeline", "virgin"]}'}
headers:
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['140']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/system/chains
response:
body: {string: '{"chains": ["accept", "default-owner-chain", "default-posting-chain",
"discard", "dmarc", "header-match", "hold", "moderation", "reject"], "http_etag":
"\"f878c589a754f8fdf63ac5807482d174883e5256\""}'}
headers:
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['199']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1.example.com/roster/owner
response:
body: {string: '{"http_etag": "\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\"",
"start": 0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['90']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1.example.com/roster/moderator
response:
body: {string: '{"http_etag": "\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\"",
"start": 0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['90']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: list_id=test-1.example.com&subscriber=foo%40example.com&display_name=Foo&role=owner
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/members/0000000000000000000000000000007a']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1.example.com/roster/owner
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/foo@example.com",
"delivery_mode": "regular", "display_name": "Foo", "email": "foo@example.com",
"http_etag": "\"ded711461b16853b20488fcfbb5fd3592f61e0ff\"", "list_id": "test-1.example.com",
"member_id": "0000000000000000000000000000007a", "moderation_action": "accept",
"role": "owner", "self_link": "http://localhost:9001/3.1/members/0000000000000000000000000000007a",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000075"}],
"http_etag": "\"329013566acb999c338a0cdfd4a90b13d738185f\"", "start": 0, "total_size":
1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['600']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1@example.com/roster/member
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/bill@example.com",
"delivery_mode": "regular", "display_name": "Bill", "email": "bill@example.com",
"http_etag": "\"fa85245d6a40d5761a0262a3411fb507bc965198\"", "list_id": "test-1.example.com",
"member_id": "00000000000000000000000000000077", "role": "member", "self_link":
"http://localhost:9001/3.1/members/00000000000000000000000000000077", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000071"}], "http_etag":
"\"d74a4b507d3bad2b1f4c9d89d890f4e49345a8c2\"", "start": 0, "total_size":
1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['573']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: list_id=test-1.example.com&subscriber=bar%40example.com&display_name=Bar&role=moderator
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/members/0000000000000000000000000000007b']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1.example.com/roster/moderator
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/bar@example.com",
"delivery_mode": "regular", "display_name": "Bar", "email": "bar@example.com",
"http_etag": "\"b49b80bc0992bb62d85f6874eeda2b658b1c7087\"", "list_id": "test-1.example.com",
"member_id": "0000000000000000000000000000007b", "moderation_action": "accept",
"role": "moderator", "self_link": "http://localhost:9001/3.1/members/0000000000000000000000000000007b",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000076"}],
"http_etag": "\"0c010f215b49a1dbefb33e23be514914e8fe0418\"", "start": 0, "total_size":
1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['604']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1@example.com/roster/member
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/bill@example.com",
"delivery_mode": "regular", "display_name": "Bill", "email": "bill@example.com",
"http_etag": "\"fa85245d6a40d5761a0262a3411fb507bc965198\"", "list_id": "test-1.example.com",
"member_id": "00000000000000000000000000000077", "role": "member", "self_link":
"http://localhost:9001/3.1/members/00000000000000000000000000000077", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000071"}], "http_etag":
"\"d74a4b507d3bad2b1f4c9d89d890f4e49345a8c2\"", "start": 0, "total_size":
1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['573']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: list_id=test-1.example.com&subscriber=bar%40example.com&display_name=Bar&pre_verified=True&pre_confirmed=True
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/members/0000000000000000000000000000007c']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/members/0000000000000000000000000000007c
response:
body: {string: '{"address": "http://localhost:9001/3.1/addresses/bar@example.com",
"delivery_mode": "regular", "display_name": "Bar", "email": "bar@example.com",
"http_etag": "\"2d95447353df4d17dfcf112f7ef7118c9abf6107\"", "list_id": "test-1.example.com",
"member_id": "0000000000000000000000000000007c", "role": "member", "self_link":
"http://localhost:9001/3.1/members/0000000000000000000000000000007c", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000076"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['465']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/members
response:
body: {string: '{"entries": [{"address": "http://localhost:9001/3.1/addresses/foo@example.com",
"delivery_mode": "regular", "display_name": "Foo", "email": "foo@example.com",
"http_etag": "\"ded711461b16853b20488fcfbb5fd3592f61e0ff\"", "list_id": "test-1.example.com",
"member_id": "0000000000000000000000000000007a", "moderation_action": "accept",
"role": "owner", "self_link": "http://localhost:9001/3.1/members/0000000000000000000000000000007a",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000075"},
{"address": "http://localhost:9001/3.1/addresses/bar@example.com", "delivery_mode":
"regular", "display_name": "Bar", "email": "bar@example.com", "http_etag":
"\"b49b80bc0992bb62d85f6874eeda2b658b1c7087\"", "list_id": "test-1.example.com",
"member_id": "0000000000000000000000000000007b", "moderation_action": "accept",
"role": "moderator", "self_link": "http://localhost:9001/3.1/members/0000000000000000000000000000007b",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000076"},
{"address": "http://localhost:9001/3.1/addresses/bar@example.com", "delivery_mode":
"regular", "display_name": "Bar", "email": "bar@example.com", "http_etag":
"\"2d95447353df4d17dfcf112f7ef7118c9abf6107\"", "list_id": "test-1.example.com",
"member_id": "0000000000000000000000000000007c", "role": "member", "self_link":
"http://localhost:9001/3.1/members/0000000000000000000000000000007c", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000076"}, {"address":
"http://localhost:9001/3.1/addresses/bill@example.com", "delivery_mode": "regular",
"display_name": "Bill", "email": "bill@example.com", "http_etag": "\"fa85245d6a40d5761a0262a3411fb507bc965198\"",
"list_id": "test-1.example.com", "member_id": "00000000000000000000000000000077",
"role": "member", "self_link": "http://localhost:9001/3.1/members/00000000000000000000000000000077",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000071"},
{"address": "http://localhost:9001/3.1/addresses/anna@example.com", "delivery_mode":
"regular", "display_name": "Anna", "email": "anna@example.com", "http_etag":
"\"89c166999fa1e30b6beabb8c5f12ede8d0a151dd\"", "list_id": "test-2.example.com",
"member_id": "00000000000000000000000000000078", "role": "member", "self_link":
"http://localhost:9001/3.1/members/00000000000000000000000000000078", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000070"}], "http_etag":
"\"2667f301b1a359b43eea5a5712e96a3892cd865f\"", "start": 0, "total_size":
5}'}
headers:
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['2508']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/lists/test-1@example.com/owner/foo@example.com
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1.example.com/roster/owner
response:
body: {string: '{"http_etag": "\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\"",
"start": 0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['90']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: fqdn_listname=confirm-first%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/lists/confirm-first.example.com']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/confirm-first.example.com
response:
body: {string: '{"display_name": "Confirm-first", "fqdn_listname": "confirm-first@example.com",
"http_etag": "\"c45f8c0a7609b62ca5c7cfda30c2e3d39f11cca6\"", "list_id": "confirm-first.example.com",
"list_name": "confirm-first", "mail_host": "example.com", "member_count":
0, "self_link": "http://localhost:9001/3.1/lists/confirm-first.example.com",
"volume": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['344']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/confirm-first@example.com/config
response:
body: {string: '{"acceptable_aliases": [], "admin_immed_notify": true, "admin_notify_mchanges":
false, "administrivia": true, "advertised": true, "allow_list_posts": true,
"anonymous_list": false, "archive_policy": "public", "autorespond_owner":
"none", "autorespond_postings": "none", "autorespond_requests": "none", "autoresponse_grace_period":
"90d", "autoresponse_owner_text": "", "autoresponse_postings_text": "", "autoresponse_request_text":
"", "bounces_address": "confirm-first-bounces@example.com", "collapse_alternatives":
true, "convert_html_to_plaintext": false, "created_at": "2005-08-01T07:49:23",
"default_member_action": "defer", "default_nonmember_action": "hold", "description":
"", "digest_last_sent_at": null, "digest_send_periodic": true, "digest_size_threshold":
30.0, "digest_volume_frequency": "monthly", "digests_enabled": true, "display_name":
"Confirm-first", "dmarc_mitigate_action": "no_mitigation", "dmarc_mitigate_unconditionally":
false, "dmarc_moderation_notice": "", "dmarc_wrapped_message_text": "", "filter_content":
false, "first_strip_reply_to": false, "fqdn_listname": "confirm-first@example.com",
"http_etag": "\"bb0ee53457f863bb745fad66aea7eadd5396d464\"", "include_rfc2369_headers":
true, "info": "", "join_address": "confirm-first-join@example.com", "last_post_at":
null, "leave_address": "confirm-first-leave@example.com", "list_name": "confirm-first",
"mail_host": "example.com", "max_message_size": 40, "moderator_password":
null, "next_digest_number": 1, "no_reply_address": "noreply@example.com",
"owner_address": "confirm-first-owner@example.com", "post_id": 1, "posting_address":
"confirm-first@example.com", "posting_pipeline": "default-posting-pipeline",
"reply_goes_to_list": "no_munging", "reply_to_address": "", "request_address":
"confirm-first-request@example.com", "send_welcome_message": true, "subject_prefix":
"[Confirm-first] ", "subscription_policy": "confirm", "volume": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['1921']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: subscription_policy=moderate
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/lists/confirm-first@example.com/config
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/confirm-first.example.com
response:
body: {string: '{"display_name": "Confirm-first", "fqdn_listname": "confirm-first@example.com",
"http_etag": "\"c45f8c0a7609b62ca5c7cfda30c2e3d39f11cca6\"", "list_id": "confirm-first.example.com",
"list_name": "confirm-first", "mail_host": "example.com", "member_count":
0, "self_link": "http://localhost:9001/3.1/lists/confirm-first.example.com",
"volume": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['344']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/confirm-first@example.com/config
response:
body: {string: '{"acceptable_aliases": [], "admin_immed_notify": true, "admin_notify_mchanges":
false, "administrivia": true, "advertised": true, "allow_list_posts": true,
"anonymous_list": false, "archive_policy": "public", "autorespond_owner":
"none", "autorespond_postings": "none", "autorespond_requests": "none", "autoresponse_grace_period":
"90d", "autoresponse_owner_text": "", "autoresponse_postings_text": "", "autoresponse_request_text":
"", "bounces_address": "confirm-first-bounces@example.com", "collapse_alternatives":
true, "convert_html_to_plaintext": false, "created_at": "2005-08-01T07:49:23",
"default_member_action": "defer", "default_nonmember_action": "hold", "description":
"", "digest_last_sent_at": null, "digest_send_periodic": true, "digest_size_threshold":
30.0, "digest_volume_frequency": "monthly", "digests_enabled": true, "display_name":
"Confirm-first", "dmarc_mitigate_action": "no_mitigation", "dmarc_mitigate_unconditionally":
false, "dmarc_moderation_notice": "", "dmarc_wrapped_message_text": "", "filter_content":
false, "first_strip_reply_to": false, "fqdn_listname": "confirm-first@example.com",
"http_etag": "\"3c2c949eafb180fa701f82919dae52f8def78090\"", "include_rfc2369_headers":
true, "info": "", "join_address": "confirm-first-join@example.com", "last_post_at":
null, "leave_address": "confirm-first-leave@example.com", "list_name": "confirm-first",
"mail_host": "example.com", "max_message_size": 40, "moderator_password":
null, "next_digest_number": 1, "no_reply_address": "noreply@example.com",
"owner_address": "confirm-first-owner@example.com", "post_id": 1, "posting_address":
"confirm-first@example.com", "posting_pipeline": "default-posting-pipeline",
"reply_goes_to_list": "no_munging", "reply_to_address": "", "request_address":
"confirm-first-request@example.com", "send_welcome_message": true, "subject_prefix":
"[Confirm-first] ", "subscription_policy": "moderate", "volume": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['1922']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/confirm-first@example.com/requests
response:
body: {string: '{"http_etag": "\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\"",
"start": 0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['90']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: list_id=confirm-first.example.com&subscriber=groucho%40example.com&display_name=None&pre_verified=True&pre_confirmed=True
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members
response:
body: {string: '{"http_etag": "\"9070f1e663625bbc9d88d60dfea1a78bc1cc8884\"",
"token": "0000000000000000000000000000000000000061", "token_owner": "moderator"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:06 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['142']
content-type: [application/json; charset=UTF-8]
status: {code: 202, message: Accepted}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/confirm-first@example.com/requests
response:
body: {string: '{"entries": [{"display_name": "None", "email": "groucho@example.com",
"http_etag": "\"3fadd7136a55256762dde36038b44f231d23bbaf\"", "list_id": "confirm-first.example.com",
"token": "0000000000000000000000000000000000000061", "token_owner": "moderator",
"type": "subscription", "when": "2005-08-01T07:49:23"}], "http_etag": "\"5bbaf59cc5081b8ea9d881e93ca7d44601969d3c\"",
"start": 0, "total_size": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:11 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['398']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/confirm-first@example.com/requests
response:
body: {string: '{"entries": [{"display_name": "None", "email": "groucho@example.com",
"http_etag": "\"3fadd7136a55256762dde36038b44f231d23bbaf\"", "list_id": "confirm-first.example.com",
"token": "0000000000000000000000000000000000000061", "token_owner": "moderator",
"type": "subscription", "when": "2005-08-01T07:49:23"}], "http_etag": "\"5bbaf59cc5081b8ea9d881e93ca7d44601969d3c\"",
"start": 0, "total_size": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:11 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['398']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: list_id=confirm-first.example.com&subscriber=harpo%40example.com&display_name=None&pre_verified=True&pre_confirmed=True
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members
response:
body: {string: '{"http_etag": "\"922188415851012f5c72fa4c52a5403d41c42b02\"",
"token": "0000000000000000000000000000000000000062", "token_owner": "moderator"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:12 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['142']
content-type: [application/json; charset=UTF-8]
status: {code: 202, message: Accepted}
- request:
body: list_id=confirm-first.example.com&subscriber=zeppo%40example.com&display_name=None&pre_verified=True&pre_confirmed=True
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/members
response:
body: {string: '{"http_etag": "\"883667d9a393c7992732c335d53a8478430708d3\"",
"token": "0000000000000000000000000000000000000063", "token_owner": "moderator"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:12 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['142']
content-type: [application/json; charset=UTF-8]
status: {code: 202, message: Accepted}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/confirm-first@example.com/requests
response:
body: {string: '{"entries": [{"display_name": "None", "email": "groucho@example.com",
"http_etag": "\"3fadd7136a55256762dde36038b44f231d23bbaf\"", "list_id": "confirm-first.example.com",
"token": "0000000000000000000000000000000000000061", "token_owner": "moderator",
"type": "subscription", "when": "2005-08-01T07:49:23"}, {"display_name": "None",
"email": "harpo@example.com", "http_etag": "\"916d26d7c502ed06f2388d7d321a4a05b84d7dcb\"",
"list_id": "confirm-first.example.com", "token": "0000000000000000000000000000000000000062",
"token_owner": "moderator", "type": "subscription", "when": "2005-08-01T07:49:23"},
{"display_name": "None", "email": "zeppo@example.com", "http_etag": "\"15402acf3c5af6329472e250d2f84183c54a2b21\"",
"list_id": "confirm-first.example.com", "token": "0000000000000000000000000000000000000063",
"token_owner": "moderator", "type": "subscription", "when": "2005-08-01T07:49:23"}],
"http_etag": "\"39d1ee3165cc86f5125b969e7f998abbc860d9b0\"", "start": 0, "total_size":
3}'}
headers:
Date: ['Wed, 16 May 2018 00:58:12 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['984']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: action=accept
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists/confirm-first.example.com/requests/0000000000000000000000000000000000000061
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:12 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/confirm-first@example.com/requests
response:
body: {string: '{"entries": [{"display_name": "None", "email": "harpo@example.com",
"http_etag": "\"916d26d7c502ed06f2388d7d321a4a05b84d7dcb\"", "list_id": "confirm-first.example.com",
"token": "0000000000000000000000000000000000000062", "token_owner": "moderator",
"type": "subscription", "when": "2005-08-01T07:49:23"}, {"display_name": "None",
"email": "zeppo@example.com", "http_etag": "\"15402acf3c5af6329472e250d2f84183c54a2b21\"",
"list_id": "confirm-first.example.com", "token": "0000000000000000000000000000000000000063",
"token_owner": "moderator", "type": "subscription", "when": "2005-08-01T07:49:23"}],
"http_etag": "\"bb2410cadd477d311bd076470c68b3b574fbe346\"", "start": 0, "total_size":
2}'}
headers:
Date: ['Wed, 16 May 2018 00:58:12 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['689']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/confirm-first@example.com/requests
response:
body: {string: '{"entries": [{"display_name": "None", "email": "harpo@example.com",
"http_etag": "\"916d26d7c502ed06f2388d7d321a4a05b84d7dcb\"", "list_id": "confirm-first.example.com",
"token": "0000000000000000000000000000000000000062", "token_owner": "moderator",
"type": "subscription", "when": "2005-08-01T07:49:23"}, {"display_name": "None",
"email": "zeppo@example.com", "http_etag": "\"15402acf3c5af6329472e250d2f84183c54a2b21\"",
"list_id": "confirm-first.example.com", "token": "0000000000000000000000000000000000000063",
"token_owner": "moderator", "type": "subscription", "when": "2005-08-01T07:49:23"}],
"http_etag": "\"bb2410cadd477d311bd076470c68b3b574fbe346\"", "start": 0, "total_size":
2}'}
headers:
Date: ['Wed, 16 May 2018 00:58:12 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['689']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/confirm-first@example.com/requests
response:
body: {string: '{"entries": [{"display_name": "None", "email": "harpo@example.com",
"http_etag": "\"916d26d7c502ed06f2388d7d321a4a05b84d7dcb\"", "list_id": "confirm-first.example.com",
"token": "0000000000000000000000000000000000000062", "token_owner": "moderator",
"type": "subscription", "when": "2005-08-01T07:49:23"}, {"display_name": "None",
"email": "zeppo@example.com", "http_etag": "\"15402acf3c5af6329472e250d2f84183c54a2b21\"",
"list_id": "confirm-first.example.com", "token": "0000000000000000000000000000000000000063",
"token_owner": "moderator", "type": "subscription", "when": "2005-08-01T07:49:23"}],
"http_etag": "\"bb2410cadd477d311bd076470c68b3b574fbe346\"", "start": 0, "total_size":
2}'}
headers:
Date: ['Wed, 16 May 2018 00:58:12 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['689']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: action=reject
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists/confirm-first.example.com/requests/0000000000000000000000000000000000000062
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:12 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/confirm-first@example.com/requests
response:
body: {string: '{"entries": [{"display_name": "None", "email": "zeppo@example.com",
"http_etag": "\"15402acf3c5af6329472e250d2f84183c54a2b21\"", "list_id": "confirm-first.example.com",
"token": "0000000000000000000000000000000000000063", "token_owner": "moderator",
"type": "subscription", "when": "2005-08-01T07:49:23"}], "http_etag": "\"f0335e70b0483129980c6eeaabd4e1e8f34d3598\"",
"start": 0, "total_size": 1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:12 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['396']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: action=discard
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists/confirm-first.example.com/requests/0000000000000000000000000000000000000063
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:12 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/confirm-first@example.com/requests
response:
body: {string: '{"http_etag": "\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\"",
"start": 0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:58:12 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['90']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/queues
response:
body: {string: '{"entries": [{"count": 0, "directory": "/home/maxking/Documents/mm3/mailman/var/queue/archive",
"files": [], "http_etag": "\"f1795dbb54cf3b52ecc25bc515a2ebf54630c250\"",
"name": "archive", "self_link": "http://localhost:9001/3.1/queues/archive"},
{"count": 0, "directory": "/home/maxking/Documents/mm3/mailman/var/queue/bad",
"files": [], "http_etag": "\"92d7c9f5939b43d4a8de0078f1652c89e4889506\"",
"name": "bad", "self_link": "http://localhost:9001/3.1/queues/bad"}, {"count":
0, "directory": "/home/maxking/Documents/mm3/mailman/var/queue/bounces", "files":
[], "http_etag": "\"f5ac2304b7cb8a8dbab0a789d4bf6ab632005c70\"", "name": "bounces",
"self_link": "http://localhost:9001/3.1/queues/bounces"}, {"count": 0, "directory":
"/home/maxking/Documents/mm3/mailman/var/queue/command", "files": [], "http_etag":
"\"987885c8e8892a2b4194aedecd7b601422addd43\"", "name": "command", "self_link":
"http://localhost:9001/3.1/queues/command"}, {"count": 0, "directory": "/home/maxking/Documents/mm3/mailman/var/queue/digest",
"files": [], "http_etag": "\"f767cbac971c456e53c4c69ef8f84af1b49bbf36\"",
"name": "digest", "self_link": "http://localhost:9001/3.1/queues/digest"},
{"count": 0, "directory": "/home/maxking/Documents/mm3/mailman/var/queue/in",
"files": [], "http_etag": "\"6f6724e6b3b1a94f2e22c58eafadd13ce55f5895\"",
"name": "in", "self_link": "http://localhost:9001/3.1/queues/in"}, {"count":
0, "directory": "/home/maxking/Documents/mm3/mailman/var/queue/nntp", "files":
[], "http_etag": "\"d40b891f5ebb01fcda4f66846c59a998e1451325\"", "name": "nntp",
"self_link": "http://localhost:9001/3.1/queues/nntp"}, {"count": 0, "directory":
"/home/maxking/Documents/mm3/mailman/var/queue/out", "files": [], "http_etag":
"\"052bc2e4aa5cd96de8456bbfa6d75e07526c0857\"", "name": "out", "self_link":
"http://localhost:9001/3.1/queues/out"}, {"count": 0, "directory": "/home/maxking/Documents/mm3/mailman/var/queue/pipeline",
"files": [], "http_etag": "\"f617ee7b10fa6da32de79bc93c55a7f8fa69b5cc\"",
"name": "pipeline", "self_link": "http://localhost:9001/3.1/queues/pipeline"},
{"count": 8, "directory": "/home/maxking/Documents/mm3/mailman/var/queue/retry",
"files": ["1526432281.9930909+a1ad03b786b4afedc3be76ba14ba3ca487df47a4", "1526432282.019942+05cf9970ef03f0b18a691e4cd4e44bddf3da5048",
"1526432282.0312698+80c45d737e0c170776e6e6c430a2a229ff3964ff", "1526432282.0425422+5405ceaa28234e7a47c07246cc55c39f183a801c",
"1526432282.0605175+8122d0f32857fc8454c4e3fa4722a1640686bc88", "1526432282.1011717+d3fe732f8b52e3c20084c8f9346a2cf9c8ac8678",
"1526432287.1261325+f424127f8ff2dc1a15bfcf4abf5837c9bf041f86", "1526432288.1660488+ca222062481fad3703adca4974148f8e887c66b9"],
"http_etag": "\"8d76dfb08dd0293ee8da1caeba668940c662d5de\"", "name": "retry",
"self_link": "http://localhost:9001/3.1/queues/retry"}, {"count": 84, "directory":
"/home/maxking/Documents/mm3/mailman/var/queue/shunt", "files": ["1526332047.1904848+f4b750b369b8752f29c4a218373b35225385b2b4",
"1526332137.7369726+3476f801a9fdadb44652d2e518e56576ca50fd99", "1526332589.058727+d0a35bdae8e9fe3f10f694348b1d2081792428f9",
"1526429646.1833935+2162e45ced6ac42b697581f57f62563127336425", "1526429649.5145602+300e0ec7bc6bebc14c36cf40ae7d4d4a90628ac6",
"1526429650.2448452+3ac114c25c7cc67437b5012012148f9994de4743", "1526429650.5318162+eee0a9a1f393cf433ba7903648d371a31046ef01",
"1526429757.405122+3c5b2beccac0d5797206208e77ea553355cbc9d1", "1526429757.4101827+c0f2566820eb7a090ff0a98f8a861eb3195e0eb2",
"1526429757.7148044+8a4efdd353c4a613ee46815c8fb8ca2e117c9457", "1526429757.7210267+bafed18ead6802f2a6bdb809c7b6d92307493f46",
"1526429871.6328309+cc96e359d772bcc80cec8b0ba5ac5c0e776919b8", "1526429871.638961+1060515a4f6747b5cb55c74edfc988da6fd52738",
"1526429871.965256+7c3d96f0a22d35989e2430f7c0daf494ad61d95e", "1526429871.970202+eb437263993110cdfb827d3324504c888e15b16a",
"1526429935.736474+88255e3be0b9dea8e812a188446e4fb85f06477e", "1526429935.7437217+baddb4d7741240d7380fb0040947c67ec6b0621a",
"1526429936.133477+a453618665348a45e5637f2917a15fe45018ccaa", "1526429936.1496668+0301f8914b3dd91f08abff812a399907ed291513",
"1526429994.8500519+9f78561410919716550c1ad706f1c1198b11cc2b", "1526429995.2692723+54ca859453f93c0ea1c32eaa4057d80ec31ad699",
"1526429995.2975454+dac4c0f541ad477d91172f8f56c4866b7ab4ac3c", "1526429995.3026626+e54f67e458e6f8d4687a9d43754c8525b5918f60",
"1526430030.9095562+ea35cb9a61841e6487473aa0e2b5452c05df9421", "1526430030.9153652+bf2239fddef60c21e6b7e137e1dac2186583f164",
"1526430030.9264674+947c40df793aeea3e95d01d6ea870e3464481f6f", "1526430031.4153326+23c0b0a5f4cf46ff4041afa3cfba8e1ac449a813",
"1526430129.6022928+837b29a03ec20f1e807cdd8b5ea2ef44ec66ef39", "1526430129.6110466+928d024da8e807e343622420dacef3c8456a1e6d",
"1526430130.0894983+20ee5f9a6fdadef0a1346c2223c431b7f45807af", "1526430130.6443102+dd4a3d5a832569859d96bf7b26a63ca6588df5c1",
"1526430493.1638186+494b69f22e89ec8f17c24ea8116e6eacbb32d14d", "1526430493.1934404+c9fa0535ab176d8e1757792cf474996070244a4d",
"1526430494.2000456+2d0bcd5b03ae208b61391cf7b9f7aa82a7b07b08", "1526430494.204943+e5a015ba8360c641bc686db5f9d72fa35a36c273",
"1526430796.650981+516d366ee73ffbb571b6a1764aba9a9e10b749d1", "1526430982.6450837+a594fcc9e2876f3e70ae636f70310efc6ed1b119",
"1526430982.6499088+a51a5ddebd3e5d7e0ad808dca308f9e8b7632a60", "1526430982.6605778+32d2413495959e0faa567128a20ce9d9f3ef186f",
"1526430982.6851556+f6c3ef1bd96e5a566860d94fd73993da37fc6960", "1526430982.694629+f7f9d3ded62634881366e0b8515cff9e140db10c",
"1526430982.7012444+aa9d5e1c3915393daab12d0f9d460b20e72886d8", "1526430985.7099967+c74989a28d1fe28ba57e81473594f0d2d6c84a76",
"1526430985.7199464+0b619b47c80faca835ab5bc554086113c9f22f82", "1526430985.727196+1c3b060199086e9e1ed0109bec9d605b57887b93",
"1526430985.739775+42009c9a76cb28efeffd8f57649587abcc167f2b", "1526431346.463781+5fc7064656404adb1f398921d76f84ebea95c31e",
"1526431346.4694407+4274888a2dd554a00b70717516be4ac89281a75c", "1526431346.4747128+d148c98a1b927599f20ad96026ab6c0a196bd5f1",
"1526431346.491411+cacaa21355a0c8c28c246c5d94013157389fae00", "1526431346.5023155+e9c7431fae3e94ebff7c44bf4ba84a68151aba74",
"1526431346.5078235+4e05c67fddd6bbdbca38c896dd7a121979a478e4", "1526431346.513115+d1a68a01d5c683ae5dd595087d8dd42b777d8bbe",
"1526431346.5294182+10b9b0f56a0d4680ced1dd16cea4e6e275064443", "1526431346.5406404+b0ef49af81464b15b9d015dee391514eafc40438",
"1526431346.5460334+1300d4c5bfadcecc0ea82b5c1ef6c7a9ac7ce6e4", "1526431346.552175+e651ca314bd6d0ec5cd695124eacad606b18706e",
"1526431346.5687234+a78944b5830160baf0ca83c04202c4e111cb7efc", "1526431346.5743396+bc3d857fed25a430fb0fecff5e6f6f4e221b12ce",
"1526431346.5795221+9f5572e202b480bb8c3e743b56314b53f08c5761", "1526431822.5851085+405adf1b3cc9bd1fc353a6d12db972f5bcedc938",
"1526431823.640158+bad5d54d318feaf4811611e0bebdfcaaac37721e", "1526431823.9899647+cc87789a08b1ca9cff20e26330178ff5b3f9d52f",
"1526432118.8109288+a43d603d71d6412ca04910e87c9f10b8e5dea9ab", "1526432118.8226922+d13273b3efd672966fcb82db7a0895156cd3f27c",
"1526432118.839224+13abf300a7f1a62b6b130a8b579c21b36caa1092", "1526432118.8448489+d954d933d9d7638420684472e9242df1897a3222",
"1526432118.8505046+e9e59ddbde20f780d57f5559916b2c0b01af7fe6", "1526432118.8614414+5b8c629be7fc7c390a839d3953df53ce9a5428f1",
"1526432118.8782032+d088e0d9b327f6e537c8bd3a43e115ed4c6ac5e6", "1526432250.8178833+76ffc72148ef5c488532d547e30122644174c0ac",
"1526432250.8232465+2fb74a06549cb0bac69cca8b8e24701de7227ba8", "1526432250.8401587+62061afbc529935fb6833c7ec6297a9faeabf79e",
"1526432250.851775+f338edaf61f1fedca04646b813ede197e579fc0e", "1526432250.857257+546efb38b36162c0f53da392ee39727e1051010a",
"1526432250.862424+7c8b0fecf85bc147b17b0df391b6d9e00d7310ff", "1526432250.8784506+275d2b4d08c4021f0882a3c83f717e1f5dfef397",
"1526432250.8892803+e5e8c73adcaf81a0d4409752f083bcaa8484d407", "1526432250.8949683+9071592d838abd98f25e2c54a4b50c4c470d7f6d",
"1526432250.9001546+0b5d25b233b95334905646fb748516f2b4fa8343", "1526432250.9179816+e26b91b43ebe7215ee4a919412c270220fe5a9a5",
"1526432250.9295664+d2f04585f65fd4dff6d4659dd547dfacfda7cf1a", "1526432250.935376+4b030bf9e50005f7ea74bb16661c0f8a6896582c",
"1526432250.9410212+b130b01427c63af871181a0f4bfdc76c0e51d0fb"], "http_etag":
"\"ab07f6d8f66bede470854b164c15e88a0e2bca12\"", "name": "shunt", "self_link":
"http://localhost:9001/3.1/queues/shunt"}, {"count": 4, "directory": "/home/maxking/Documents/mm3/mailman/var/queue/virgin",
"files": ["1526432292.0418363+f39cbe0bc9957ec7587a5f37ba34c2c14363495b", "1526432292.1736176+5f2aea6689d519996ee366c39823077b7e6dd827",
"1526432292.321606+034b5ca977d6f1b93f152fc98974cbb91268c570", "1526432292.5113215+2ee4c836e6ab64a68cabf60115c113e5188b824e"],
"http_etag": "\"c88e0236e21537a746c02b48162021c2656f5370\"", "name": "virgin",
"self_link": "http://localhost:9001/3.1/queues/virgin"}], "http_etag": "\"8e1b833c8b516bdf571f902b024a594c407d1103\"",
"self_link": "http://localhost:9001/3.1/queues", "start": 0, "total_size":
12}'}
headers:
Date: ['Wed, 16 May 2018 00:58:12 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['8917']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: list_id=test-1.example.com&text=From%3A+nomember%40example.com%0ATo%3A+test-1%40example.com%0ASubject%3A+Something%0AMessage-ID%3A+%3Cmoderated_01%3E%0A%0ASome+text.%0A%0A
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/queues/in
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:58:12 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/queues/in/1526432292.6390963+fba9a437ad2b723b755fcf5e7103fd580ff27f24']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/queues/in
response:
body: {string: '{"count": 1, "directory": "/home/maxking/Documents/mm3/mailman/var/queue/in",
"files": ["1526432292.6390963+fba9a437ad2b723b755fcf5e7103fd580ff27f24"],
"http_etag": "\"5f25898ce8050960668c5431e5aac3b7ef45653b\"", "name": "in",
"self_link": "http://localhost:9001/3.1/queues/in"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:12 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['278']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/queues/in
response:
body: {string: '{"count": 1, "directory": "/home/maxking/Documents/mm3/mailman/var/queue/in",
"files": ["1526432292.6390963+fba9a437ad2b723b755fcf5e7103fd580ff27f24"],
"http_etag": "\"5f25898ce8050960668c5431e5aac3b7ef45653b\"", "name": "in",
"self_link": "http://localhost:9001/3.1/queues/in"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:12 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['278']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/queues/in
response:
body: {string: '{"count": 1, "directory": "/home/maxking/Documents/mm3/mailman/var/queue/in",
"files": ["1526432292.6390963+fba9a437ad2b723b755fcf5e7103fd580ff27f24"],
"http_etag": "\"5f25898ce8050960668c5431e5aac3b7ef45653b\"", "name": "in",
"self_link": "http://localhost:9001/3.1/queues/in"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:12 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['278']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/queues/in
response:
body: {string: '{"count": 1, "directory": "/home/maxking/Documents/mm3/mailman/var/queue/in",
"files": ["1526432292.6390963+fba9a437ad2b723b755fcf5e7103fd580ff27f24"],
"http_etag": "\"5f25898ce8050960668c5431e5aac3b7ef45653b\"", "name": "in",
"self_link": "http://localhost:9001/3.1/queues/in"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:13 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['278']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/queues/in
response:
body: {string: '{"count": 1, "directory": "/home/maxking/Documents/mm3/mailman/var/queue/in",
"files": ["1526432292.6390963+fba9a437ad2b723b755fcf5e7103fd580ff27f24"],
"http_etag": "\"5f25898ce8050960668c5431e5aac3b7ef45653b\"", "name": "in",
"self_link": "http://localhost:9001/3.1/queues/in"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:13 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['278']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/queues/in
response:
body: {string: '{"count": 0, "directory": "/home/maxking/Documents/mm3/mailman/var/queue/in",
"files": [], "http_etag": "\"6f6724e6b3b1a94f2e22c58eafadd13ce55f5895\"",
"name": "in", "self_link": "http://localhost:9001/3.1/queues/in"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:13 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['217']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1@example.com/held
response:
body: {string: '{"http_etag": "\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\"",
"start": 0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:58:13 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['90']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1@example.com/held
response:
body: {string: '{"entries": [{"_parsemsg": false, "envsender": "noreply@example.com",
"hold_date": "2005-08-01T07:49:23", "http_etag": "\"07512d93b8d61670d84987d71e6ce665e5457306\"",
"lang": "en", "listid": "test-1.example.com", "member_moderation_action":
"hold", "message_id": "", "moderation_reasons": ["The message
is not from a list member"], "moderation_sender": "nomember@example.com",
"msg": "From: nomember@example.com\nTo: test-1@example.com\nSubject: Something\nMessage-ID:
\nDate: Tue, 15 May 2018 17:58:12 -0700\nX-Mailman-Rule-Hits:
nonmember-moderation\nX-Mailman-Rule-Misses: dmarc-mitigation; no-senders;
approved; emergency; loop; banned-address; member-moderation\nMessage-ID-Hash:
KU3PI265JYL67T3OV6XE5CQP3QOXKKHB\nX-Message-ID-Hash: KU3PI265JYL67T3OV6XE5CQP3QOXKKHB\n\nSome
text.\n\n", "original_size": 249, "original_subject": "Something", "reason":
"The message is not from a list member", "request_id": 1, "rule_hits": ["nonmember-moderation"],
"rule_misses": ["dmarc-mitigation", "no-senders", "approved", "emergency",
"loop", "banned-address", "member-moderation"], "self_link": "http://localhost:9001/3.1/lists/test-1.example.com/held/1",
"sender": "nomember@example.com", "subject": "Something", "version": 3}],
"http_etag": "\"c513efd8da9f7675902a6586036b08e1498da5b6\"", "start": 0, "total_size":
1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:13 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['1341']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1@example.com/held/1
response:
body: {string: '{"_parsemsg": false, "envsender": "noreply@example.com", "hold_date":
"2005-08-01T07:49:23", "http_etag": "\"07512d93b8d61670d84987d71e6ce665e5457306\"",
"lang": "en", "listid": "test-1.example.com", "member_moderation_action":
"hold", "message_id": "", "moderation_reasons": ["The message
is not from a list member"], "moderation_sender": "nomember@example.com",
"msg": "From: nomember@example.com\nTo: test-1@example.com\nSubject: Something\nMessage-ID:
\nDate: Tue, 15 May 2018 17:58:12 -0700\nX-Mailman-Rule-Hits:
nonmember-moderation\nX-Mailman-Rule-Misses: dmarc-mitigation; no-senders;
approved; emergency; loop; banned-address; member-moderation\nMessage-ID-Hash:
KU3PI265JYL67T3OV6XE5CQP3QOXKKHB\nX-Message-ID-Hash: KU3PI265JYL67T3OV6XE5CQP3QOXKKHB\n\nSome
text.\n\n", "original_size": 249, "original_subject": "Something", "reason":
"The message is not from a list member", "request_id": 1, "rule_hits": ["nonmember-moderation"],
"rule_misses": ["dmarc-mitigation", "no-senders", "approved", "emergency",
"loop", "banned-address", "member-moderation"], "self_link": "http://localhost:9001/3.1/lists/test-1.example.com/held/1",
"sender": "nomember@example.com", "subject": "Something", "version": 3}'}
headers:
Date: ['Wed, 16 May 2018 00:58:13 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['1236']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: action=defer
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists/test-1@example.com/held/1
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:13 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1@example.com/held
response:
body: {string: '{"entries": [{"_parsemsg": false, "envsender": "noreply@example.com",
"hold_date": "2005-08-01T07:49:23", "http_etag": "\"07512d93b8d61670d84987d71e6ce665e5457306\"",
"lang": "en", "listid": "test-1.example.com", "member_moderation_action":
"hold", "message_id": "", "moderation_reasons": ["The message
is not from a list member"], "moderation_sender": "nomember@example.com",
"msg": "From: nomember@example.com\nTo: test-1@example.com\nSubject: Something\nMessage-ID:
\nDate: Tue, 15 May 2018 17:58:12 -0700\nX-Mailman-Rule-Hits:
nonmember-moderation\nX-Mailman-Rule-Misses: dmarc-mitigation; no-senders;
approved; emergency; loop; banned-address; member-moderation\nMessage-ID-Hash:
KU3PI265JYL67T3OV6XE5CQP3QOXKKHB\nX-Message-ID-Hash: KU3PI265JYL67T3OV6XE5CQP3QOXKKHB\n\nSome
text.\n\n", "original_size": 249, "original_subject": "Something", "reason":
"The message is not from a list member", "request_id": 1, "rule_hits": ["nonmember-moderation"],
"rule_misses": ["dmarc-mitigation", "no-senders", "approved", "emergency",
"loop", "banned-address", "member-moderation"], "self_link": "http://localhost:9001/3.1/lists/test-1.example.com/held/1",
"sender": "nomember@example.com", "subject": "Something", "version": 3}],
"http_etag": "\"c513efd8da9f7675902a6586036b08e1498da5b6\"", "start": 0, "total_size":
1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:13 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['1341']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: action=discard
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists/test-1@example.com/held/1
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:13 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1@example.com/held
response:
body: {string: '{"http_etag": "\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\"",
"start": 0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:58:13 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['90']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1.example.com/member/bill@example.com
response:
body: {string: '{"address": "http://localhost:9001/3.1/addresses/bill@example.com",
"delivery_mode": "regular", "display_name": "Bill", "email": "bill@example.com",
"http_etag": "\"fa85245d6a40d5761a0262a3411fb507bc965198\"", "list_id": "test-1.example.com",
"member_id": "00000000000000000000000000000077", "role": "member", "self_link":
"http://localhost:9001/3.1/members/00000000000000000000000000000077", "user":
"http://localhost:9001/3.1/users/00000000000000000000000000000071"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:13 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['468']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: moderation_action=hold
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/members/00000000000000000000000000000077
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:13 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1.example.com/member/bill@example.com
response:
body: {string: '{"address": "http://localhost:9001/3.1/addresses/bill@example.com",
"delivery_mode": "regular", "display_name": "Bill", "email": "bill@example.com",
"http_etag": "\"c29a69484e1988c5da3c4a678f36b7495b1a8224\"", "list_id": "test-1.example.com",
"member_id": "00000000000000000000000000000077", "moderation_action": "hold",
"role": "member", "self_link": "http://localhost:9001/3.1/members/00000000000000000000000000000077",
"user": "http://localhost:9001/3.1/users/00000000000000000000000000000071"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:13 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['497']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/bans
response:
body: {string: '{"http_etag": "\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\"",
"start": 0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:58:13 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['90']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: email=anna%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/bans
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:58:13 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/bans/anna@example.com']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/bans/anna@example.com
response:
body: {string: '{"email": "anna@example.com", "http_etag": "\"f1342f7d4e2a74f0011c08e4b9cd09fdfa61bdf2\"",
"self_link": "http://localhost:9001/3.1/bans/anna@example.com"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:13 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['154']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/bans/anna@example.com
response:
body: {string: '{"email": "anna@example.com", "http_etag": "\"f1342f7d4e2a74f0011c08e4b9cd09fdfa61bdf2\"",
"self_link": "http://localhost:9001/3.1/bans/anna@example.com"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:13 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['154']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: email=bill%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/bans
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:58:13 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/bans/bill@example.com']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/bans/bill@example.com
response:
body: {string: '{"email": "bill@example.com", "http_etag": "\"6620b2c134912dfa3def6cb9262dcf5acfda162b\"",
"self_link": "http://localhost:9001/3.1/bans/bill@example.com"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:13 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['154']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/bans
response:
body: {string: '{"entries": [{"email": "anna@example.com", "http_etag": "\"f1342f7d4e2a74f0011c08e4b9cd09fdfa61bdf2\"",
"self_link": "http://localhost:9001/3.1/bans/anna@example.com"}, {"email":
"bill@example.com", "http_etag": "\"6620b2c134912dfa3def6cb9262dcf5acfda162b\"",
"self_link": "http://localhost:9001/3.1/bans/bill@example.com"}], "http_etag":
"\"9b6337a6cff45d9c10520949a639724566fd7f94\"", "start": 0, "total_size":
2}'}
headers:
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['415']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/bans?count=1&page=1
response:
body: {string: '{"entries": [{"email": "anna@example.com", "http_etag": "\"f1342f7d4e2a74f0011c08e4b9cd09fdfa61bdf2\"",
"self_link": "http://localhost:9001/3.1/bans/anna@example.com"}], "http_etag":
"\"5f99d16e5080aa1765e08b170cbf0e27808370a6\"", "start": 0, "total_size":
2}'}
headers:
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['259']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/bans?count=1&page=2
response:
body: {string: '{"entries": [{"email": "bill@example.com", "http_etag": "\"6620b2c134912dfa3def6cb9262dcf5acfda162b\"",
"self_link": "http://localhost:9001/3.1/bans/bill@example.com"}], "http_etag":
"\"4c6471649f58278dfd6257ee46beefeeae119ddf\"", "start": 1, "total_size":
2}'}
headers:
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['259']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/bans/anna@example.com
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/bans/anna@example.com
response:
body: {string: 'Email is not banned: anna@example.com'}
headers:
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['37']
content-type: [application/json; charset=UTF-8]
status: {code: 404, message: Not Found}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/bans
response:
body: {string: '{"entries": [{"email": "bill@example.com", "http_etag": "\"6620b2c134912dfa3def6cb9262dcf5acfda162b\"",
"self_link": "http://localhost:9001/3.1/bans/bill@example.com"}], "http_etag":
"\"d44404c42754a3a877e56c43c16aec84a0bae79a\"", "start": 0, "total_size":
1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['259']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/bans
response:
body: {string: '{"entries": [{"email": "bill@example.com", "http_etag": "\"6620b2c134912dfa3def6cb9262dcf5acfda162b\"",
"self_link": "http://localhost:9001/3.1/bans/bill@example.com"}], "http_etag":
"\"d44404c42754a3a877e56c43c16aec84a0bae79a\"", "start": 0, "total_size":
1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['259']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/bans/bill@example.com
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/bans/bill@example.com
response:
body: {string: 'Email is not banned: bill@example.com'}
headers:
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['37']
content-type: [application/json; charset=UTF-8]
status: {code: 404, message: Not Found}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/bans
response:
body: {string: '{"http_etag": "\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\"",
"start": 0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['90']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1.example.com/bans
response:
body: {string: '{"http_etag": "\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\"",
"start": 0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['90']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: email=anna%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists/test-1.example.com/bans
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/lists/test-1.example.com/bans/anna@example.com']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1.example.com/bans/anna@example.com
response:
body: {string: '{"email": "anna@example.com", "http_etag": "\"f281df5e13fbd64e7fc9bc96bdb903b183b035b3\"",
"list_id": "test-1.example.com", "self_link": "http://localhost:9001/3.1/lists/test-1.example.com/bans/anna@example.com"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['212']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: email=bill%40example.com
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists/test-1.example.com/bans
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/lists/test-1.example.com/bans/bill@example.com']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1.example.com/bans/bill@example.com
response:
body: {string: '{"email": "bill@example.com", "http_etag": "\"e172d4abbacb492faa6dfeb4e1c8cfe433d3cc76\"",
"list_id": "test-1.example.com", "self_link": "http://localhost:9001/3.1/lists/test-1.example.com/bans/bill@example.com"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['212']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1.example.com/bans
response:
body: {string: '{"entries": [{"email": "anna@example.com", "http_etag": "\"f281df5e13fbd64e7fc9bc96bdb903b183b035b3\"",
"list_id": "test-1.example.com", "self_link": "http://localhost:9001/3.1/lists/test-1.example.com/bans/anna@example.com"},
{"email": "bill@example.com", "http_etag": "\"e172d4abbacb492faa6dfeb4e1c8cfe433d3cc76\"",
"list_id": "test-1.example.com", "self_link": "http://localhost:9001/3.1/lists/test-1.example.com/bans/bill@example.com"}],
"http_etag": "\"7ee94f764975e2402d233e9fb5aeb7025a694a55\"", "start": 0, "total_size":
2}'}
headers:
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['531']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1.example.com/bans?count=1&page=1
response:
body: {string: '{"entries": [{"email": "anna@example.com", "http_etag": "\"f281df5e13fbd64e7fc9bc96bdb903b183b035b3\"",
"list_id": "test-1.example.com", "self_link": "http://localhost:9001/3.1/lists/test-1.example.com/bans/anna@example.com"}],
"http_etag": "\"de615d2cddc8e479019349451e5b9f97d0fec26e\"", "start": 0, "total_size":
2}'}
headers:
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['317']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1.example.com/bans?count=1&page=2
response:
body: {string: '{"entries": [{"email": "bill@example.com", "http_etag": "\"e172d4abbacb492faa6dfeb4e1c8cfe433d3cc76\"",
"list_id": "test-1.example.com", "self_link": "http://localhost:9001/3.1/lists/test-1.example.com/bans/bill@example.com"}],
"http_etag": "\"e21cb5f21519eb4df8688f4a7343403b1b11e4d3\"", "start": 1, "total_size":
2}'}
headers:
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['317']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/lists/test-1.example.com/bans/anna@example.com
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1.example.com/bans/anna@example.com
response:
body: {string: 'Email is not banned: anna@example.com'}
headers:
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['37']
content-type: [application/json; charset=UTF-8]
status: {code: 404, message: Not Found}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1.example.com/bans
response:
body: {string: '{"entries": [{"email": "bill@example.com", "http_etag": "\"e172d4abbacb492faa6dfeb4e1c8cfe433d3cc76\"",
"list_id": "test-1.example.com", "self_link": "http://localhost:9001/3.1/lists/test-1.example.com/bans/bill@example.com"}],
"http_etag": "\"d395d80fd06077cdcd8ca944b04f7d62936a8ee9\"", "start": 0, "total_size":
1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['317']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/lists/test-1.example.com/bans/bill@example.com
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1.example.com/bans
response:
body: {string: '{"http_etag": "\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\"",
"start": 0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['90']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1.example.com/archivers
response:
body: {string: '{"http_etag": "\"3dbbbaad592a043938314db0e5249a1ca71d0dc6\"",
"mail-archive": true, "mhonarc": true, "prototype": true}'}
headers:
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['119']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: mail-archive=False
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/lists/test-1.example.com/archivers
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1.example.com/archivers
response:
body: {string: '{"http_etag": "\"9f3e82fa9d7dc70277565c9703a90ad3fbeb9a03\"",
"mail-archive": false, "mhonarc": true, "prototype": true}'}
headers:
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['120']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: mhonarc=False
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: PATCH
uri: http://localhost:9001/3.1/lists/test-1.example.com/archivers
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1.example.com/archivers
response:
body: {string: '{"http_etag": "\"f8ecaeeadc4cf5d8900d7c7ed3990e675116ad31\"",
"mail-archive": false, "mhonarc": false, "prototype": true}'}
headers:
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['121']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1.example.com/header-matches
response:
body: {string: '{"http_etag": "\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\"",
"start": 0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['90']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: header=Subject&pattern=%5Etest%3A+&action=discard
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists/test-1.example.com/header-matches
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/lists/test-1.example.com/header-matches/0']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1.example.com/header-matches/0
response:
body: {string: '{"action": "discard", "header": "subject", "http_etag": "\"f2270af6050c5791d8518371258f8f7c003925e2\"",
"pattern": "^test: ", "position": 0, "self_link": "http://localhost:9001/3.1/lists/test-1.example.com/header-matches/0"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['224']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1.example.com/header-matches
response:
body: {string: '{"entries": [{"action": "discard", "header": "subject", "http_etag":
"\"f2270af6050c5791d8518371258f8f7c003925e2\"", "pattern": "^test: ", "position":
0, "self_link": "http://localhost:9001/3.1/lists/test-1.example.com/header-matches/0"}],
"http_etag": "\"20f331c3aab98676cdc1887ce783669a121440a3\"", "start": 0, "total_size":
1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['329']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/lists/test-1.example.com/header-matches/0
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1.example.com/header-matches
response:
body: {string: '{"http_etag": "\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\"",
"start": 0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:58:14 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['90']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: header=Subject&pattern=%5Etest%3A+&action=discard
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
content-type: [application/x-www-form-urlencoded]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: POST
uri: http://localhost:9001/3.1/lists/test-1.example.com/header-matches
response:
body: {string: ''}
headers:
Date: ['Wed, 16 May 2018 00:58:15 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['0']
content-type: [application/json; charset=UTF-8]
location: ['http://localhost:9001/3.1/lists/test-1.example.com/header-matches/0']
status: {code: 201, message: Created}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1.example.com/header-matches/0
response:
body: {string: '{"action": "discard", "header": "subject", "http_etag": "\"f2270af6050c5791d8518371258f8f7c003925e2\"",
"pattern": "^test: ", "position": 0, "self_link": "http://localhost:9001/3.1/lists/test-1.example.com/header-matches/0"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:15 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['224']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1.example.com/header-matches
response:
body: {string: '{"entries": [{"action": "discard", "header": "subject", "http_etag":
"\"f2270af6050c5791d8518371258f8f7c003925e2\"", "pattern": "^test: ", "position":
0, "self_link": "http://localhost:9001/3.1/lists/test-1.example.com/header-matches/0"}],
"http_etag": "\"20f331c3aab98676cdc1887ce783669a121440a3\"", "start": 0, "total_size":
1}'}
headers:
Date: ['Wed, 16 May 2018 00:58:15 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['329']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/lists/test-1.example.com/header-matches/0
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:15 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/lists/test-1.example.com/header-matches
response:
body: {string: '{"http_etag": "\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\"",
"start": 0, "total_size": 0}'}
headers:
Date: ['Wed, 16 May 2018 00:58:15 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['90']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/system/configuration
response:
body: {string: '{"http_etag": "\"d0de6b8bc582d17d16b96c7cecd7316bce83604f\"",
"sections": ["antispam", "archiver.mail_archive", "archiver.master", "archiver.mhonarc",
"archiver.prototype", "bounces", "database", "devmode", "digests", "dmarc",
"language.ar", "language.ast", "language.ca", "language.cs", "language.da",
"language.de", "language.el", "language.en", "language.es", "language.et",
"language.eu", "language.fi", "language.fr", "language.gl", "language.he",
"language.hr", "language.hu", "language.ia", "language.it", "language.ja",
"language.ko", "language.lt", "language.nl", "language.no", "language.pl",
"language.pt", "language.pt_BR", "language.ro", "language.ru", "language.sk",
"language.sl", "language.sr", "language.sv", "language.tr", "language.uk",
"language.vi", "language.zh_CN", "language.zh_TW", "logging.archiver", "logging.bounce",
"logging.config", "logging.database", "logging.debug", "logging.error", "logging.fromusenet",
"logging.http", "logging.locks", "logging.mischief", "logging.plugins", "logging.root",
"logging.runner", "logging.smtp", "logging.subscribe", "logging.vette", "mailman",
"mta", "nntp", "passwords", "paths.dev", "paths.fhs", "paths.here", "paths.local",
"plugin.master", "runner.archive", "runner.bad", "runner.bounces", "runner.command",
"runner.digest", "runner.in", "runner.lmtp", "runner.nntp", "runner.out",
"runner.pipeline", "runner.rest", "runner.retry", "runner.shunt", "runner.virgin",
"shell", "styles", "webservice"], "self_link": "http://localhost:9001/3.1/system/configuration"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:15 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['1531']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/system/configuration/mailman
response:
body: {string: '{"cache_life": "7d", "default_language": "en", "email_commands_max_lines":
"10", "filtered_messages_are_preservable": "no", "html_to_plain_text_command":
"/usr/bin/lynx -dump $filename", "http_etag": "\"21cc055500f21d5c757534dfbddd7d7f95522b2f\"",
"layout": "here", "listname_chars": "[-_.0-9a-z]", "noreply_address": "noreply",
"pending_request_life": "3d", "post_hook": "", "pre_hook": "", "self_link":
"http://localhost:9001/3.1/system/configuration/mailman", "sender_headers":
"from from_ reply-to sender", "site_owner": "changeme@example.com"}'}
headers:
Date: ['Wed, 16 May 2018 00:58:15 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['548']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: GET
uri: http://localhost:9001/3.1/users
response:
body: {string: '{"entries": [{"created_on": "2005-08-01T07:49:23", "display_name":
"Unverified", "http_etag": "\"684b251daa4b12557f026ac8831d51c1ba31e285\"",
"is_server_owner": false, "self_link": "http://localhost:9001/3.1/users/0000000000000000000000000000006e",
"user_id": "0000000000000000000000000000006e"}, {"created_on": "2005-08-01T07:49:23",
"display_name": "Unconfirmed", "http_etag": "\"7466b6bb8588a59920e94594f2118be706e65aee\"",
"is_server_owner": false, "self_link": "http://localhost:9001/3.1/users/0000000000000000000000000000006f",
"user_id": "0000000000000000000000000000006f"}, {"created_on": "2005-08-01T07:49:23",
"display_name": "Anna", "http_etag": "\"ef3f593c6096c685daa04e9462c5452b87f5840e\"",
"is_server_owner": false, "self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000070",
"user_id": "00000000000000000000000000000070"}, {"created_on": "2005-08-01T07:49:23",
"display_name": "Bill", "http_etag": "\"a1c4846df3dbe430ab83b72816462835fa39daf7\"",
"is_server_owner": false, "self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000071",
"user_id": "00000000000000000000000000000071"}, {"created_on": "2005-08-01T07:49:23",
"display_name": "Cris", "http_etag": "\"0f8513441f113bdfac6503cacba8e7b61d1461fb\"",
"is_server_owner": false, "password": "$6$rounds=656000$lyAk/PQ/Q6bamYp/$UOGGAHXWn2KSsZaz0O2kMhzs9cGZlzaQHW2CqOHKlfdzHxzU9EtYZneRZzNHao40haIQm33xXFy8WvRVMgcxi/",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000072",
"user_id": "00000000000000000000000000000072"}, {"created_on": "2005-08-01T07:49:23",
"display_name": "Sir Ler", "http_etag": "\"41e9a742ba2dc5307df06a70b14258db54354e1a\"",
"is_server_owner": false, "password": "$6$rounds=656000$/yiT/EFnKBV0DeTV$W50bYMojW0cHQDDfFUTPTqUywepnD2ydIV/M33dhzG1.Zs/YOo8.kgJmt7KnIvUSQ3qjJtYrS0c10bN8hXuyo/",
"self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000074",
"user_id": "00000000000000000000000000000074"}, {"created_on": "2005-08-01T07:49:23",
"display_name": "Foo", "http_etag": "\"6c6d8f0a260c6d6e771b59d779a659840319eb4c\"",
"is_server_owner": false, "self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000075",
"user_id": "00000000000000000000000000000075"}, {"created_on": "2005-08-01T07:49:23",
"display_name": "Bar", "http_etag": "\"0d792ed6c49cb7adf07fb32a44fc5b17385065ab\"",
"is_server_owner": false, "self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000076",
"user_id": "00000000000000000000000000000076"}, {"created_on": "2005-08-01T07:49:23",
"display_name": "None", "http_etag": "\"b82ed566f12507087bd98e055e63c36dabf2b7f3\"",
"is_server_owner": false, "self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000077",
"user_id": "00000000000000000000000000000077"}, {"created_on": "2005-08-01T07:49:23",
"display_name": "None", "http_etag": "\"336e22058a4a6f1d39f4b4893259477a5465068a\"",
"is_server_owner": false, "self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000078",
"user_id": "00000000000000000000000000000078"}, {"created_on": "2005-08-01T07:49:23",
"display_name": "None", "http_etag": "\"8d716f1b79b46d8369b247e5e970ad2a38531e36\"",
"is_server_owner": false, "self_link": "http://localhost:9001/3.1/users/00000000000000000000000000000079",
"user_id": "00000000000000000000000000000079"}], "http_etag": "\"81be372fffe253fa29d480ddf981911e3c33f3f0\"",
"start": 0, "total_size": 11}'}
headers:
Date: ['Wed, 16 May 2018 00:58:15 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
content-length: ['3448']
content-type: [application/json; charset=UTF-8]
status: {code: 200, message: OK}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/0000000000000000000000000000006e
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:15 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/0000000000000000000000000000006f
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:15 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000070
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:15 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000071
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:15 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000072
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:15 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000074
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:15 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000075
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:15 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000076
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:15 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000077
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:15 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000078
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:15 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
- request:
body: null
headers:
accept-encoding: ['gzip, deflate']
authorization: [Basic cmVzdGFkbWluOnJlc3RwYXNz]
user-agent: [GNU Mailman REST client v3.2.0b3]
method: DELETE
uri: http://localhost:9001/3.1/users/00000000000000000000000000000079
response:
body: {string: ''}
headers:
Content-Length: ['0']
Date: ['Wed, 16 May 2018 00:58:15 GMT']
Server: [WSGIServer/0.2 CPython/3.6.4+]
status: {code: 204, message: No Content}
version: 1
mailmanclient-3.2.2/src/mailmanclient/tests/test_domain.py 0000664 0001750 0001750 00000003036 13413656572 025117 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2015-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
# mailmanclient is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailmanclient is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailmanclient. If not, see .
"""Test domain corner cases."""
from __future__ import absolute_import, print_function, unicode_literals
import unittest
import pytest
from mailmanclient import Client
from six.moves.urllib_error import HTTPError
__metaclass__ = type
__all__ = [
'TestDomains',
]
@pytest.mark.vcr()
class TestDomains(unittest.TestCase):
def setUp(self):
self._client = Client(
'http://localhost:9001/3.0', 'restadmin', 'restpass')
def test_no_domain(self):
# Trying to get a non-existent domain returns a 404.
#
# We can't use `with self.assertRaises()` until we drop Python 2.6
try:
self._client.get_domain('example.org')
except HTTPError as error:
self.assertEqual(error.code, 404)
else:
raise AssertionError('Expected HTTPError 404')
mailmanclient-3.2.2/src/mailmanclient/tests/test_list.py 0000664 0001750 0001750 00000012171 13413656572 024623 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2017-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailman.client.
#
# mailman.client is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailman.client is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailman.client. If not, see .
"""Tests for Mailing List."""
from __future__ import absolute_import, print_function, unicode_literals
from urllib.error import HTTPError
from unittest import TestCase
from mailmanclient import Client
class TestMailingListMembershipTests(TestCase):
def setUp(self):
self._client = Client(
'http://localhost:9001/3.1', 'restadmin', 'restpass')
try:
self.domain = self._client.create_domain('example.com')
except HTTPError:
self.domain = self._client.get_domain('example.com')
self.mlist = self.domain.create_list('foo')
def tearDown(self):
self.domain.delete()
def test_list_is_owner(self):
# Tests MailingList.is_owner
# First, we add an owner to the mailing list and then make sure that
# we see it in the owners roster.
anne_addr = 'ann@example.com'
self.mlist.add_owner(anne_addr)
# Check that the address
owners_list = [owner.email for owner in self.mlist.owners]
self.assertIn(anne_addr, owners_list)
# Now, we make sure that we get the same result in our API.
self.assertTrue(self.mlist.is_owner(anne_addr))
# Make sure we get False for someone who is not a list owner.
self.assertFalse(self.mlist.is_owner('random@example.com'))
# Make sure that a subscriber doesn't return True for is_owner check.
# We are doing this test because of the way is_owner test works. A
# wrong value for `role` could result in a list member being tested
# as owner.
self.mlist.subscribe('bart@example.com')
self.assertFalse(self.mlist.is_owner('bart@example.com'))
# Now, try the same thing for Moderators.
self.mlist.add_moderator('mod@example.com')
self.assertFalse(self.mlist.is_owner('mod@example.com'))
def test_list_is_moderator(self):
# Tests MailingList.is_moderator
# First, we add a moderator to the list.
mod_addr = 'mod@example.com'
self.mlist.add_moderator(mod_addr)
mods_emails = [mod.email for mod in self.mlist.moderators]
self.assertIn(mod_addr, mods_emails)
self.assertFalse(self.mlist.is_owner(mod_addr))
# Owners shouldn't return true for this API.
owner_addr = 'owner@example.com'
self.mlist.add_owner(owner_addr)
self.assertFalse(self.mlist.is_moderator(owner_addr))
# Subscribers shouldn't return true for this API.
subscriber_addr = 'subscriber@example.com'
self.mlist.subscribe(subscriber_addr)
self.assertFalse(self.mlist.is_moderator(subscriber_addr))
def test_list_is_member(self):
# Tests MailingList.is_member
subscriber_addr = 'subscriber@example.com'
self.mlist.subscribe(subscriber_addr, pre_verified=True,
pre_confirmed=True, pre_approved=True)
all_subscribers = [member.email for member in self.mlist.members]
self.assertIn(subscriber_addr, all_subscribers)
# Now make sure we get the same result through this API.
self.assertTrue(self.mlist.is_member(subscriber_addr))
# Make sure owners don't pass this check.
owner_addr = 'owner@example.com'
self.mlist.add_owner(owner_addr)
self.assertFalse(self.mlist.is_member(owner_addr))
# Make sure moderators don't pass this check.
mod_addr = 'mod@example.com'
self.mlist.add_moderator(mod_addr)
self.assertFalse(self.mlist.is_member(mod_addr))
def test_list_is_owner_or_mod(self):
# Tests MailingList.is_owner_or_mod
# Tests MailingList.is_moderator
# First, we add a moderator to the list.
mod_addr = 'mod@example.com'
self.mlist.add_moderator(mod_addr)
mods_emails = [mod.email for mod in self.mlist.moderators]
self.assertIn(mod_addr, mods_emails)
self.assertTrue(self.mlist.is_owner_or_mod(mod_addr))
# Owners shouldn't return true for this API.
owner_addr = 'owner@example.com'
self.mlist.add_owner(owner_addr)
owners_list = [owner.email for owner in self.mlist.owners]
self.assertIn(owner_addr, owners_list)
self.assertTrue(self.mlist.is_owner_or_mod(owner_addr))
# Subscribers shouldn't return true for this API.
subscriber_addr = 'subscriber@example.com'
self.mlist.subscribe(subscriber_addr)
self.assertFalse(self.mlist.is_owner_or_mod(subscriber_addr))
mailmanclient-3.2.2/src/mailmanclient/tests/test_page.py 0000664 0001750 0001750 00000003674 13413656572 024574 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2016-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
# mailmanclient is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailmanclient is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailmanclient. If not, see .
"""Test Page corner cases."""
from __future__ import absolute_import, print_function, unicode_literals
import unittest
import pytest
from mock import Mock
from six.moves.urllib_parse import urlsplit, parse_qs
from mailmanclient.constants import DEFAULT_PAGE_ITEM_COUNT
from mailmanclient.restbase.page import Page
__metaclass__ = type
__all__ = [
'TestPage',
]
@pytest.mark.vcr()
class TestPage(unittest.TestCase):
def test_url_simple(self):
connection = Mock()
connection.call.return_value = (None, {'start': 0, 'total_size': 0})
page = Page(connection, '/some-path', None)
built_qs = parse_qs(urlsplit(page._build_url()).query)
self.assertEqual(built_qs, dict(
count=[str(DEFAULT_PAGE_ITEM_COUNT)],
page=["1"]))
def test_url_with_qs(self):
connection = Mock()
connection.call.return_value = (None, {'start': 0, 'total_size': 0})
page = Page(connection, '/some-path?with=a&query=string', None)
built_qs = parse_qs(urlsplit(page._build_url()).query)
self.assertEqual(built_qs, {
"with": ["a"],
"query": ["string"],
"count": [str(DEFAULT_PAGE_ITEM_COUNT)],
"page": ["1"],
})
mailmanclient-3.2.2/src/mailmanclient/tests/test_templates.py 0000664 0001750 0001750 00000011275 13413656572 025652 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2017-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailman.client.
#
# mailman.client is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailman.client is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailman.client. If not, see .
"""Module contents."""
import unittest
from mailmanclient import Client
class TestTemplates(unittest.TestCase):
"""Tests for various types of templates.
"""
def setUp(self):
self.client = Client(
'http://localhost:9001/3.1/', 'restadmin', 'restpass')
self.domain = self.client.create_domain('example.net')
self.mlist = self.domain.create_list('test1')
def tearDown(self):
for temp in self.mlist.templates:
temp.delete()
for temp in self.domain.templates:
temp.delete()
self.domain.delete()
for temp in self.client.templates:
temp.delete()
def test_set_template(self):
# At first, there are no templates at site, domain or list context
self.assertEqual(len(self.client.templates), 0)
self.assertEqual(len(self.domain.templates), 0)
self.assertEqual(len(self.mlist.templates), 0)
# Now, let's try to set a different template at each context level.
self.client.set_template('list:user:notice:welcome',
'http://example.com/welcome.txt')
self.domain.set_template('list:user:notice:welcome',
'http://example.com/welcome2.txt')
self.mlist.set_template('list:user:notice:welcome',
'http://example.com/welcome3.txt')
# Now, let's try to fetch the templates again.
site_templates = self.client.templates
self.assertEqual(len(site_templates), 1)
self.assertEqual(site_templates[0].uri,
'http://example.com/welcome.txt')
domain_templates = self.domain.templates
self.assertEqual(len(domain_templates), 1)
self.assertEqual(domain_templates[0].uri,
'http://example.com/welcome2.txt')
mlist_templates = self.mlist.templates
self.assertEqual(len(mlist_templates), 1)
self.assertEqual(mlist_templates[0].uri,
'http://example.com/welcome3.txt')
def test_site_templates_with_password(self):
# It is possible to set templates with passwords.
self.assertEqual(len(self.client.templates), 0)
self.client.set_template('list:user:notice:goodbye',
'http://example.com/goodbye.txt',
username='testuser',
password='testpass')
site_templates = self.client.templates
self.assertEqual(len(site_templates), 1)
temp = site_templates[0]
self.assertEqual(temp.uri, 'http://example.com/goodbye.txt')
self.assertEqual(temp.username, 'testuser')
self.assertEqual(temp.password, 'testpass')
def test_domain_templates_with_password(self):
self.assertEqual(len(self.domain.templates), 0)
self.domain.set_template('list:user:notice:goodbye',
'http://example.com/goodbye.txt',
username='testuser',
password='testpass')
domain_templates = self.domain.templates
self.assertEqual(len(domain_templates), 1)
temp = domain_templates[0]
self.assertEqual(temp.uri, 'http://example.com/goodbye.txt')
self.assertEqual(temp.username, 'testuser')
self.assertEqual(temp.password, 'testpass')
def test_list_templates_with_password(self):
self.assertEqual(len(self.mlist.templates), 0)
self.mlist.set_template('list:user:notice:goodbye',
'http://example.com/goodbye.txt',
username='testuser',
password='testpass')
mlist_templates = self.mlist.templates
self.assertEqual(len(mlist_templates), 1)
temp = mlist_templates[0]
self.assertEqual(temp.uri, 'http://example.com/goodbye.txt')
self.assertEqual(temp.username, 'testuser')
self.assertEqual(temp.password, 'testpass')
mailmanclient-3.2.2/src/mailmanclient/tests/test_unicode.py 0000664 0001750 0001750 00000003665 13413656572 025306 0 ustar maxking maxking 0000000 0000000 # coding: utf-8
# Copyright (C) 2015-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
# mailmanclient is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailmanclient is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailmanclient. If not, see .
"""Test unicode data when using REST endpoint."""
from __future__ import absolute_import, print_function, unicode_literals
import pytest
import unittest
from mailmanclient import Client
from six.moves.urllib_error import HTTPError
__metaclass__ = type
__all__ = [
'TestUnicode',
]
@pytest.mark.vcr()
class TestUnicode(unittest.TestCase):
def setUp(self):
self._client = Client(
'http://localhost:9001/3.1', 'restadmin', 'restpass')
self.email = 'jeremy@example.com'
self.unicode_string = u'Jérôme'
def tearDown(self):
try:
self._client.get_user(self.email).delete()
except HTTPError as error:
if error.status_code == 404:
pass
def test_create_user(self):
user = self._client.create_user(
email=self.email, password='1234',
display_name=self.unicode_string)
self.assertEqual(user.display_name, self.unicode_string)
def test_repr(self):
user = self._client.create_user(
email=self.email, password='1234',
display_name=self.unicode_string)
try:
repr(user)
except UnicodeEncodeError as e:
self.fail(e)
mailmanclient-3.2.2/src/mailmanclient.egg-info/ 0000775 0001750 0001750 00000000000 13427703737 022566 5 ustar maxking maxking 0000000 0000000 mailmanclient-3.2.2/src/mailmanclient.egg-info/PKG-INFO 0000664 0001750 0001750 00000010014 13427703736 023656 0 ustar maxking maxking 0000000 0000000 Metadata-Version: 2.1
Name: mailmanclient
Version: 3.2.2
Summary: mailmanclient -- Python bindings for Mailman REST API
Home-page: http://www.list.org/
Maintainer: Barry Warsaw
Maintainer-email: barry@list.org
License: LGPLv3
Description: ..
This file is part of mailmanclient.
mailmanclient is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, version 3 of the License.
mailmanclient is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
License for more details.
You should have received a copy of the GNU Lesser General Public License
along with mailman.client. If not, see .
==============
Mailman Client
==============
.. image:: https://gitlab.com/mailman/mailmanclient/badges/master/build.svg
:target: https://gitlab.com/mailman/mailmanclient/commits/master
.. image:: https://readthedocs.org/projects/mailmanclient/badge
:target: https://mailmanclient.readthedocs.io
.. image:: http://img.shields.io/pypi/v/mailmanclient.svg
:target: https://pypi.python.org/pypi/mailmanclient
.. image:: http://img.shields.io/pypi/dm/mailmanclient.svg
:target: https://pypi.python.org/pypi/mailmanclient
The ``mailmanclient`` library provides official Python bindings for the GNU
Mailman 3 REST API.
Requirements
============
``mailmanclient`` requires Python 3.5 or newer.
Documentation
=============
A `simple guide`_ to using the library is available within this package, in
the form of doctests. The manual is also available online at:
https://mailmanclient.readthedocs.io/en/latest/
Project details
===============
The project home page is:
https://gitlab.com/mailman/mailmanclient
You should report bugs at:
https://gitlab.com/mailman/mailmanclient/issues
You can download the latest version of the package either from the `Cheese Shop`_:
http://pypi.python.org/pypi/mailmanclient
or from the GitLab page above. Of course you can also just install it with
``pip`` from the command line::
$ pip install mailmanclient
You can grab the latest development copy of the code using Git, from the Gitlab
home page above. If you have Git installed, you can grab your own branch of
the code like this::
$ git clone https://gitlab.com/mailman/mailmanclient.git
You may contact the developers via mailman-developers@python.org
Acknowledgements
================
Many thanks to Florian Fuchs for his contribution of an initial REST
client. Also thanks to all the contributors of Mailman Client who have
contributed code, raised issues or devoted their time in any capacity!
.. _`simple guide`: https://mailmanclient.readthedocs.io/en/latest/src/mailmanclient/docs/using.html
.. _`Cheese Shop`: https://pypi.org/project/mailmanclient
Platform: UNKNOWN
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Internet :: WWW/HTTP
Description-Content-Type: text/x-rst
mailmanclient-3.2.2/src/mailmanclient.egg-info/SOURCES.txt 0000664 0001750 0001750 00000005347 13427703736 024462 0 ustar maxking maxking 0000000 0000000 COPYING.LESSER
MANIFEST.in
Makefile
README.rst
conf.py
conftest.py
copybump.py
index.rst
mailman_test.cfg
pytest.ini
setup.cfg
setup.py
setup_helpers.py
template.py
tox.ini
src/mailmanclient/__init__.py
src/mailmanclient/_client.py
src/mailmanclient/client.py
src/mailmanclient/conftest.py
src/mailmanclient/constants.py
src/mailmanclient.egg-info/PKG-INFO
src/mailmanclient.egg-info/SOURCES.txt
src/mailmanclient.egg-info/dependency_links.txt
src/mailmanclient.egg-info/requires.txt
src/mailmanclient.egg-info/top_level.txt
src/mailmanclient/docs/NEWS.rst
src/mailmanclient/docs/__init__.py
src/mailmanclient/docs/apiref.rst
src/mailmanclient/docs/conftest.py
src/mailmanclient/docs/testing.rst
src/mailmanclient/docs/using.rst
src/mailmanclient/restbase/__init__.py
src/mailmanclient/restbase/base.py
src/mailmanclient/restbase/connection.py
src/mailmanclient/restbase/page.py
src/mailmanclient/restobjects/__init__.py
src/mailmanclient/restobjects/address.py
src/mailmanclient/restobjects/archivers.py
src/mailmanclient/restobjects/ban.py
src/mailmanclient/restobjects/configuration.py
src/mailmanclient/restobjects/domain.py
src/mailmanclient/restobjects/header_match.py
src/mailmanclient/restobjects/held_message.py
src/mailmanclient/restobjects/mailinglist.py
src/mailmanclient/restobjects/member.py
src/mailmanclient/restobjects/preferences.py
src/mailmanclient/restobjects/queue.py
src/mailmanclient/restobjects/settings.py
src/mailmanclient/restobjects/styles.py
src/mailmanclient/restobjects/templates.py
src/mailmanclient/restobjects/user.py
src/mailmanclient/testing/__init__.py
src/mailmanclient/testing/documentation.py
src/mailmanclient/testing/vcr_helpers.py
src/mailmanclient/tests/__init__.py
src/mailmanclient/tests/test_domain.py
src/mailmanclient/tests/test_list.py
src/mailmanclient/tests/test_page.py
src/mailmanclient/tests/test_templates.py
src/mailmanclient/tests/test_unicode.py
src/mailmanclient/tests/data/TestDomains.test_no_domain.yaml
src/mailmanclient/tests/data/TestMailingListMembershipTests.test_list_is_member.yaml
src/mailmanclient/tests/data/TestMailingListMembershipTests.test_list_is_moderator.yaml
src/mailmanclient/tests/data/TestMailingListMembershipTests.test_list_is_owner.yaml
src/mailmanclient/tests/data/TestMailingListMembershipTests.test_list_is_owner_or_mod.yaml
src/mailmanclient/tests/data/TestTemplates.test_domain_templates_with_password.yaml
src/mailmanclient/tests/data/TestTemplates.test_list_templates_with_password.yaml
src/mailmanclient/tests/data/TestTemplates.test_set_template.yaml
src/mailmanclient/tests/data/TestTemplates.test_site_templates_with_password.yaml
src/mailmanclient/tests/data/TestUnicode.test_create_user.yaml
src/mailmanclient/tests/data/TestUnicode.test_repr.yaml
src/mailmanclient/tests/data/using.rst.yaml mailmanclient-3.2.2/src/mailmanclient.egg-info/dependency_links.txt 0000664 0001750 0001750 00000000001 13427703736 026633 0 ustar maxking maxking 0000000 0000000
mailmanclient-3.2.2/src/mailmanclient.egg-info/requires.txt 0000664 0001750 0001750 00000000015 13427703736 025161 0 ustar maxking maxking 0000000 0000000 httplib2
six
mailmanclient-3.2.2/src/mailmanclient.egg-info/top_level.txt 0000664 0001750 0001750 00000000016 13427703736 025314 0 ustar maxking maxking 0000000 0000000 mailmanclient
mailmanclient-3.2.2/template.py 0000664 0001750 0001750 00000001501 13413656572 017651 0 ustar maxking maxking 0000000 0000000 # Copyright (C) 2017-2019 by the Free Software Foundation, Inc.
#
# This file is part of mailman.client.
#
# mailman.client is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, version 3 of the License.
#
# mailman.client is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with mailman.client. If not, see .
"""Module contents."""
from __future__ import absolute_import, print_function, unicode_literals
__all__ = [
]
mailmanclient-3.2.2/tox.ini 0000664 0001750 0001750 00000001045 13413656045 016775 0 ustar maxking maxking 0000000 0000000 [tox]
envlist = py{35,36,37},lint
[testenv]
usedevelop = True
commands = pytest --vcr-record-mode=all
deps =
WebTest
contextlib2
mock
requests
pytest
pytest-vcr
mailman
pytest-services
[testenv:record]
basepython = python3
commands = pytest --vcr-record-mode=once
[testenv:lint]
deps =
six
flake8 > 3.0
commands =
python -m flake8 {posargs}
[testenv:docs]
deps =
sphinx
commands =
sphinx-build -t html . build/
[flake8]
show-source = true
exclude = .git,.tox,dist,*egg,src/mailmanclient/docs