diff --git a/.bzrignore b/.bzrignore
index a41572f..c8cc4d5 100644
--- a/.bzrignore
+++ b/.bzrignore
@@ -1,3 +1,7 @@
-dev_setup/mmtest.db
-dev_setup/settings_local.py
-src/postorius.egg-info
+.tox
+.coverage
+__pycache__
+*.egg-info
+build
+dist
+cover/
diff --git a/dev-requirements.txt b/dev-requirements.txt
new file mode 100644
index 0000000..a3a5fd8
--- /dev/null
+++ b/dev-requirements.txt
@@ -0,0 +1,4 @@
+mock
+django-nose
+coverage==3.7.1
+vcrpy
diff --git a/src/postorius/tests/__init__.py b/src/postorius/tests/__init__.py
index 46863b7..4bc6bcf 100644
--- a/src/postorius/tests/__init__.py
+++ b/src/postorius/tests/__init__.py
@@ -27,5 +27,4 @@
MM_VCR = vcr.VCR(serializer='json',
cassette_library_dir=FIXTURES_DIR,
- record_mode=getattr(settings, 'VCR_RECORD_MODE', 'none'),
- match_on=['uri', 'method', 'body'])
+ match_on=['uri', 'method'])
diff --git a/src/postorius/tests/fixtures/vcr_cassettes/list_members_access.yaml b/src/postorius/tests/fixtures/vcr_cassettes/list_members_access.yaml
new file mode 100644
index 0000000..bf86c9b
--- /dev/null
+++ b/src/postorius/tests/fixtures/vcr_cassettes/list_members_access.yaml
@@ -0,0 +1,2018 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": "mail_host=example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "Bad Request",
+ "code": 400
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "13"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "Domain exists"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "fqdn_listname=foo%40example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/lists/foo.example.com"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "subscriber=owner%40example.com&role=owner&list_id=foo.example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/members"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/members/123585249075835731428389495947596435700"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "subscriber=moderator%40example.com&role=moderator&list_id=foo.example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/members"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/members/32502339775210491680319526557605964294"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "DELETE",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "mail_host=example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "Bad Request",
+ "code": 400
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "13"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "Domain exists"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "fqdn_listname=foo%40example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/lists/foo.example.com"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "subscriber=owner%40example.com&role=owner&list_id=foo.example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/members"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/members/151471169288183877277024599908199818140"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "subscriber=moderator%40example.com&role=moderator&list_id=foo.example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/members"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/members/26372226836145567517839439079403865390"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "DELETE",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "mail_host=example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "Bad Request",
+ "code": 400
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "13"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "Domain exists"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "fqdn_listname=foo%40example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/lists/foo.example.com"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "subscriber=owner%40example.com&role=owner&list_id=foo.example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/members"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/members/132763266197365266689997447538260432385"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "subscriber=moderator%40example.com&role=moderator&list_id=foo.example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/members"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/members/8409072350447944978514998380781320925"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "DELETE",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "mail_host=example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "Bad Request",
+ "code": 400
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "13"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "Domain exists"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "fqdn_listname=foo%40example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/lists/foo.example.com"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "subscriber=owner%40example.com&role=owner&list_id=foo.example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/members"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/members/224522391207690880616248866598090586375"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "subscriber=moderator%40example.com&role=moderator&list_id=foo.example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/members"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/members/314153091812930326411879831597008310574"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com/roster/member?count=25&page=1"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/owner"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "512"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/owner@example.com\", \"role\": \"owner\", \"self_link\": \"http://localhost:9001/3.0/members/224522391207690880616248866598090586375\", \"user\": \"http://localhost:9001/3.0/users/109011471419690310842107289812022048641\", \"email\": \"owner@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"4b7d4995a4e2742b6591b7a5abc2b8f6fd6981b3\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"147f6d9360f80aefbacb78194b7a5dd2705eb901\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/moderator"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "523"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/moderator@example.com\", \"role\": \"moderator\", \"self_link\": \"http://localhost:9001/3.0/members/314153091812930326411879831597008310574\", \"user\": \"http://localhost:9001/3.0/users/16565898431885471640724918770551558513\", \"email\": \"moderator@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"df7b822391e53ba658b1e4f2046a318f14ef67ba\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"619c37fa2b6fa872efdcef7a7e2c4c10048f31ba\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/owner"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "512"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/owner@example.com\", \"role\": \"owner\", \"self_link\": \"http://localhost:9001/3.0/members/224522391207690880616248866598090586375\", \"user\": \"http://localhost:9001/3.0/users/109011471419690310842107289812022048641\", \"email\": \"owner@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"4b7d4995a4e2742b6591b7a5abc2b8f6fd6981b3\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"147f6d9360f80aefbacb78194b7a5dd2705eb901\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "DELETE",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "mail_host=example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "Bad Request",
+ "code": 400
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "13"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "Domain exists"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "fqdn_listname=foo%40example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/lists/foo.example.com"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "subscriber=owner%40example.com&role=owner&list_id=foo.example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/members"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/members/204044941486712230127194776511360614115"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "subscriber=moderator%40example.com&role=moderator&list_id=foo.example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/members"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/members/91047135545737029145396335805810473958"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com/roster/member?count=25&page=1"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "DELETE",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/postorius/tests/fixtures/vcr_cassettes/list_members_page.yaml b/src/postorius/tests/fixtures/vcr_cassettes/list_members_page.yaml
new file mode 100644
index 0000000..55d40f6
--- /dev/null
+++ b/src/postorius/tests/fixtures/vcr_cassettes/list_members_page.yaml
@@ -0,0 +1,743 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com/roster/member?count=25&page=1"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/owner"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "512"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/owner@example.com\", \"role\": \"owner\", \"self_link\": \"http://localhost:9001/3.0/members/123585249075835731428389495947596435700\", \"user\": \"http://localhost:9001/3.0/users/109011471419690310842107289812022048641\", \"email\": \"owner@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"648844c2e58cc164c8f0856062bb52a1e9527559\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"0a1dfe9d6b11809139886be6ac807b8611e28615\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/moderator"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "522"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/moderator@example.com\", \"role\": \"moderator\", \"self_link\": \"http://localhost:9001/3.0/members/32502339775210491680319526557605964294\", \"user\": \"http://localhost:9001/3.0/users/16565898431885471640724918770551558513\", \"email\": \"moderator@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"4646c52df575a8f6897f3c3c6c6fac7f10655846\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"2a46086c6d25fa90e2ee492019cc84c9f18a0d1b\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/owner"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "512"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/owner@example.com\", \"role\": \"owner\", \"self_link\": \"http://localhost:9001/3.0/members/123585249075835731428389495947596435700\", \"user\": \"http://localhost:9001/3.0/users/109011471419690310842107289812022048641\", \"email\": \"owner@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"648844c2e58cc164c8f0856062bb52a1e9527559\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"0a1dfe9d6b11809139886be6ac807b8611e28615\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com/roster/member?count=25&page=1"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/owner"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "512"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/owner@example.com\", \"role\": \"owner\", \"self_link\": \"http://localhost:9001/3.0/members/151471169288183877277024599908199818140\", \"user\": \"http://localhost:9001/3.0/users/109011471419690310842107289812022048641\", \"email\": \"owner@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"d61382bd732a93115368674e54f6b41a606570a8\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"ea32d01647d10053c4dbcba95fac84787ea1a65a\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/moderator"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "522"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/moderator@example.com\", \"role\": \"moderator\", \"self_link\": \"http://localhost:9001/3.0/members/26372226836145567517839439079403865390\", \"user\": \"http://localhost:9001/3.0/users/16565898431885471640724918770551558513\", \"email\": \"moderator@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"4fa39dfde86bc1e78e1af0cbe61a2a5505b29562\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"9619e7d542a49493130c31f8fe7d6230d8b06793\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/owner"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "512"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/owner@example.com\", \"role\": \"owner\", \"self_link\": \"http://localhost:9001/3.0/members/151471169288183877277024599908199818140\", \"user\": \"http://localhost:9001/3.0/users/109011471419690310842107289812022048641\", \"email\": \"owner@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"d61382bd732a93115368674e54f6b41a606570a8\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"ea32d01647d10053c4dbcba95fac84787ea1a65a\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/moderator"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "522"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/moderator@example.com\", \"role\": \"moderator\", \"self_link\": \"http://localhost:9001/3.0/members/26372226836145567517839439079403865390\", \"user\": \"http://localhost:9001/3.0/users/16565898431885471640724918770551558513\", \"email\": \"moderator@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"4fa39dfde86bc1e78e1af0cbe61a2a5505b29562\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"9619e7d542a49493130c31f8fe7d6230d8b06793\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com/roster/member?count=25&page=1"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/owner"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "512"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/owner@example.com\", \"role\": \"owner\", \"self_link\": \"http://localhost:9001/3.0/members/132763266197365266689997447538260432385\", \"user\": \"http://localhost:9001/3.0/users/109011471419690310842107289812022048641\", \"email\": \"owner@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"8cc55f29d7ecb65d0bacef2eca6089b60897b82f\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"b84b363bcff01d980660299b2d41c231f42c6da0\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/moderator"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "521"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/moderator@example.com\", \"role\": \"moderator\", \"self_link\": \"http://localhost:9001/3.0/members/8409072350447944978514998380781320925\", \"user\": \"http://localhost:9001/3.0/users/16565898431885471640724918770551558513\", \"email\": \"moderator@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"cb44c151d13f0c1d33673aeba9ad6a8f8fa84bcb\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"8496e70004fd41fa96e83bfa4808391bb049918e\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/owner"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "512"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/owner@example.com\", \"role\": \"owner\", \"self_link\": \"http://localhost:9001/3.0/members/132763266197365266689997447538260432385\", \"user\": \"http://localhost:9001/3.0/users/109011471419690310842107289812022048641\", \"email\": \"owner@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"8cc55f29d7ecb65d0bacef2eca6089b60897b82f\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"b84b363bcff01d980660299b2d41c231f42c6da0\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/moderator"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "521"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/moderator@example.com\", \"role\": \"moderator\", \"self_link\": \"http://localhost:9001/3.0/members/8409072350447944978514998380781320925\", \"user\": \"http://localhost:9001/3.0/users/16565898431885471640724918770551558513\", \"email\": \"moderator@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"cb44c151d13f0c1d33673aeba9ad6a8f8fa84bcb\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"8496e70004fd41fa96e83bfa4808391bb049918e\\\"\"}"
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/postorius/tests/fixtures/vcr_cassettes/test_list_index/list_index_page/list_index_contains_one_list.yaml b/src/postorius/tests/fixtures/vcr_cassettes/test_list_index/list_index_page/list_index_contains_one_list.yaml
new file mode 100644
index 0000000..61cdc30
--- /dev/null
+++ b/src/postorius/tests/fixtures/vcr_cassettes/test_list_index/list_index_page/list_index_contains_one_list.yaml
@@ -0,0 +1,251 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:30 GMT"
+ ],
+ "content-length": [
+ "399"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}], \"start\": 0, \"http_etag\": \"\\\"0eb6d0b88c89b5c491b7966eab97a79e221096ad\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:30 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com/config"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "1583"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"post_id\": 1, \"autoresponse_postings_text\": \"\", \"autorespond_owner\": \"none\", \"administrivia\": true, \"owner_address\": \"foo-owner@example.com\", \"created_at\": \"2015-01-26T08:25:30.769287\", \"admin_notify_mchanges\": false, \"convert_html_to_plaintext\": false, \"admin_immed_notify\": true, \"autoresponse_grace_period\": \"90d\", \"autorespond_requests\": \"none\", \"send_welcome_message\": true, \"scheme\": \"http\", \"first_strip_reply_to\": false, \"display_name\": \"Foo\", \"digest_size_threshold\": 30.0, \"acceptable_aliases\": [], \"next_digest_number\": 1, \"leave_address\": \"foo-leave@example.com\", \"web_host\": \"example.com\", \"reply_goes_to_list\": \"no_munging\", \"http_etag\": \"\\\"4e38e2da722dbecc783a7fdca2c322be447168c0\\\"\", \"posting_address\": \"foo@example.com\", \"anonymous_list\": false, \"collapse_alternatives\": true, \"join_address\": \"foo-join@example.com\", \"default_nonmember_action\": \"hold\", \"allow_list_posts\": true, \"reply_to_address\": \"\", \"default_member_action\": \"defer\", \"posting_pipeline\": \"default-posting-pipeline\", \"autoresponse_request_text\": \"\", \"include_rfc2369_headers\": true, \"archive_policy\": \"public\", \"no_reply_address\": \"noreply@example.com\", \"request_address\": \"foo-request@example.com\", \"last_post_at\": null, \"subject_prefix\": \"[Foo] \", \"advertised\": true, \"volume\": 1, \"fqdn_listname\": \"foo@example.com\", \"filter_content\": false, \"autorespond_postings\": \"none\", \"mail_host\": \"example.com\", \"bounces_address\": \"foo-bounces@example.com\", \"description\": \"\", \"autoresponse_owner_text\": \"\", \"digest_last_sent_at\": null, \"list_name\": \"foo\", \"welcome_message_uri\": \"mailman:///welcome.txt\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "383"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}], \"start\": 0, \"http_etag\": \"\\\"b4ea7109190ac24defea706a8fc8807090dabba4\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com/config"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "1583"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"post_id\": 1, \"autoresponse_postings_text\": \"\", \"autorespond_owner\": \"none\", \"administrivia\": true, \"owner_address\": \"foo-owner@example.com\", \"created_at\": \"2015-01-26T08:25:30.769287\", \"admin_notify_mchanges\": false, \"convert_html_to_plaintext\": false, \"admin_immed_notify\": true, \"autoresponse_grace_period\": \"90d\", \"autorespond_requests\": \"none\", \"send_welcome_message\": true, \"scheme\": \"http\", \"first_strip_reply_to\": false, \"display_name\": \"Foo\", \"digest_size_threshold\": 30.0, \"acceptable_aliases\": [], \"next_digest_number\": 1, \"leave_address\": \"foo-leave@example.com\", \"web_host\": \"example.com\", \"reply_goes_to_list\": \"no_munging\", \"http_etag\": \"\\\"4e38e2da722dbecc783a7fdca2c322be447168c0\\\"\", \"posting_address\": \"foo@example.com\", \"anonymous_list\": false, \"collapse_alternatives\": true, \"join_address\": \"foo-join@example.com\", \"default_nonmember_action\": \"hold\", \"allow_list_posts\": true, \"reply_to_address\": \"\", \"default_member_action\": \"defer\", \"posting_pipeline\": \"default-posting-pipeline\", \"autoresponse_request_text\": \"\", \"include_rfc2369_headers\": true, \"archive_policy\": \"public\", \"no_reply_address\": \"noreply@example.com\", \"request_address\": \"foo-request@example.com\", \"last_post_at\": null, \"subject_prefix\": \"[Foo] \", \"advertised\": true, \"volume\": 1, \"fqdn_listname\": \"foo@example.com\", \"filter_content\": false, \"autorespond_postings\": \"none\", \"mail_host\": \"example.com\", \"bounces_address\": \"foo-bounces@example.com\", \"description\": \"\", \"autoresponse_owner_text\": \"\", \"digest_last_sent_at\": null, \"list_name\": \"foo\", \"welcome_message_uri\": \"mailman:///welcome.txt\"}"
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/postorius/tests/fixtures/vcr_cassettes/test_list_index/list_index_page/setup.yaml b/src/postorius/tests/fixtures/vcr_cassettes/test_list_index/list_index_page/setup.yaml
new file mode 100644
index 0000000..f97ac35
--- /dev/null
+++ b/src/postorius/tests/fixtures/vcr_cassettes/test_list_index/list_index_page/setup.yaml
@@ -0,0 +1,134 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": "mail_host=example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:30 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/domains/example.com"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:30 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "fqdn_listname=foo%40example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:30 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/lists/foo.example.com"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/postorius/tests/fixtures/vcr_cassettes/test_list_index/list_index_page/teardown.yaml b/src/postorius/tests/fixtures/vcr_cassettes/test_list_index/list_index_page/teardown.yaml
new file mode 100644
index 0000000..93e9272
--- /dev/null
+++ b/src/postorius/tests/fixtures/vcr_cassettes/test_list_index/list_index_page/teardown.yaml
@@ -0,0 +1,125 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "399"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}], \"start\": 0, \"http_etag\": \"\\\"0eb6d0b88c89b5c491b7966eab97a79e221096ad\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "DELETE",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/postorius/tests/fixtures/vcr_cassettes/test_list_members/add_moderator_setup.yaml b/src/postorius/tests/fixtures/vcr_cassettes/test_list_members/add_moderator_setup.yaml
new file mode 100644
index 0000000..367720e
--- /dev/null
+++ b/src/postorius/tests/fixtures/vcr_cassettes/test_list_members/add_moderator_setup.yaml
@@ -0,0 +1,465 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": "mail_host=example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "Bad Request",
+ "code": 400
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "13"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "Domain exists"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "fqdn_listname=foo%40example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/lists/foo.example.com"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com/roster/member?count=25&page=1"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/owner"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/moderator"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "subscriber=newmod%40example.com&role=moderator&list_id=foo.example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/members"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/members/315756937425945116465287447364399887375"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/owner"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/moderator"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "517"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/newmod@example.com\", \"role\": \"moderator\", \"self_link\": \"http://localhost:9001/3.0/members/315756937425945116465287447364399887375\", \"user\": \"http://localhost:9001/3.0/users/16696964522011058967978427006495656346\", \"email\": \"newmod@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"b8f4e31c2680c7ed5bb3026111e9d3e4393dc658\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"1c4fb4ee1e0e166dca89a40aafcb6703530e2ab9\\\"\"}"
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/postorius/tests/fixtures/vcr_cassettes/test_list_members/add_moderator_teardown.yaml b/src/postorius/tests/fixtures/vcr_cassettes/test_list_members/add_moderator_teardown.yaml
new file mode 100644
index 0000000..50e931a
--- /dev/null
+++ b/src/postorius/tests/fixtures/vcr_cassettes/test_list_members/add_moderator_teardown.yaml
@@ -0,0 +1,84 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "DELETE",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/postorius/tests/fixtures/vcr_cassettes/test_list_members/new_moderator_added.yaml b/src/postorius/tests/fixtures/vcr_cassettes/test_list_members/new_moderator_added.yaml
new file mode 100644
index 0000000..e7e8588
--- /dev/null
+++ b/src/postorius/tests/fixtures/vcr_cassettes/test_list_members/new_moderator_added.yaml
@@ -0,0 +1,46 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/moderator"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "517"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/newmod@example.com\", \"role\": \"moderator\", \"self_link\": \"http://localhost:9001/3.0/members/315756937425945116465287447364399887375\", \"user\": \"http://localhost:9001/3.0/users/16696964522011058967978427006495656346\", \"email\": \"newmod@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"b8f4e31c2680c7ed5bb3026111e9d3e4393dc658\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"1c4fb4ee1e0e166dca89a40aafcb6703530e2ab9\\\"\"}"
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/postorius/tests/fixtures/vcr_cassettes/test_list_metrics/list_metrics.yaml b/src/postorius/tests/fixtures/vcr_cassettes/test_list_metrics/list_metrics.yaml
new file mode 100644
index 0000000..36e5185
--- /dev/null
+++ b/src/postorius/tests/fixtures/vcr_cassettes/test_list_metrics/list_metrics.yaml
@@ -0,0 +1,825 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": "mail_host=example.org",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:22 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/domains/example.org"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.org"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:22 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"730f23a7a90aecfe1248f952d15bcfe97ce9e51f\\\"\", \"self_link\": \"http://localhost:9001/3.0/domains/example.org\", \"url_host\": \"example.org\", \"contact_address\": \"postmaster@example.org\", \"mail_host\": \"example.org\", \"base_url\": \"http://example.org\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "fqdn_listname=test%40example.org",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:22 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/lists/test.example.org"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/test@example.org"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:22 GMT"
+ ],
+ "content-length": [
+ "299"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"volume\": 1, \"member_count\": 0, \"self_link\": \"http://localhost:9001/3.0/lists/test.example.org\", \"fqdn_listname\": \"test@example.org\", \"mail_host\": \"example.org\", \"list_id\": \"test.example.org\", \"list_name\": \"test\", \"http_etag\": \"\\\"bdbe0068d985e63808436177de1063200d586b0d\\\"\", \"display_name\": \"Test\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/test@example.org"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "299"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"volume\": 1, \"member_count\": 0, \"self_link\": \"http://localhost:9001/3.0/lists/test.example.org\", \"fqdn_listname\": \"test@example.org\", \"mail_host\": \"example.org\", \"list_id\": \"test.example.org\", \"list_name\": \"test\", \"http_etag\": \"\\\"bdbe0068d985e63808436177de1063200d586b0d\\\"\", \"display_name\": \"Test\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/test.example.org/roster/owner"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/test.example.org/roster/moderator"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/test@example.org/config"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "1593"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"autorespond_owner\": \"none\", \"archive_policy\": \"public\", \"reply_goes_to_list\": \"no_munging\", \"scheme\": \"http\", \"next_digest_number\": 1, \"subject_prefix\": \"[Test] \", \"first_strip_reply_to\": false, \"digest_size_threshold\": 30.0, \"autoresponse_request_text\": \"\", \"http_etag\": \"\\\"b3b8d8ab2977865effd4fa746a2d02522342076e\\\"\", \"bounces_address\": \"test-bounces@example.org\", \"autoresponse_postings_text\": \"\", \"anonymous_list\": false, \"description\": \"\", \"join_address\": \"test-join@example.org\", \"default_member_action\": \"defer\", \"allow_list_posts\": true, \"collapse_alternatives\": true, \"created_at\": \"2015-02-08T08:42:22.739054\", \"autoresponse_owner_text\": \"\", \"no_reply_address\": \"noreply@example.org\", \"filter_content\": false, \"owner_address\": \"test-owner@example.org\", \"post_id\": 1, \"administrivia\": true, \"posting_address\": \"test@example.org\", \"last_post_at\": null, \"request_address\": \"test-request@example.org\", \"display_name\": \"Test\", \"autoresponse_grace_period\": \"90d\", \"acceptable_aliases\": [], \"admin_notify_mchanges\": false, \"mail_host\": \"example.org\", \"default_nonmember_action\": \"hold\", \"posting_pipeline\": \"default-posting-pipeline\", \"admin_immed_notify\": true, \"welcome_message_uri\": \"mailman:///welcome.txt\", \"autorespond_requests\": \"none\", \"autorespond_postings\": \"none\", \"convert_html_to_plaintext\": false, \"volume\": 1, \"advertised\": true, \"list_name\": \"test\", \"fqdn_listname\": \"test@example.org\", \"reply_to_address\": \"\", \"digest_last_sent_at\": null, \"include_rfc2369_headers\": true, \"leave_address\": \"test-leave@example.org\", \"send_welcome_message\": true, \"web_host\": \"example.org\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/test@example.org/config"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "1593"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"autorespond_owner\": \"none\", \"archive_policy\": \"public\", \"reply_goes_to_list\": \"no_munging\", \"scheme\": \"http\", \"next_digest_number\": 1, \"subject_prefix\": \"[Test] \", \"first_strip_reply_to\": false, \"digest_size_threshold\": 30.0, \"autoresponse_request_text\": \"\", \"http_etag\": \"\\\"b3b8d8ab2977865effd4fa746a2d02522342076e\\\"\", \"bounces_address\": \"test-bounces@example.org\", \"autoresponse_postings_text\": \"\", \"anonymous_list\": false, \"description\": \"\", \"join_address\": \"test-join@example.org\", \"default_member_action\": \"defer\", \"allow_list_posts\": true, \"collapse_alternatives\": true, \"created_at\": \"2015-02-08T08:42:22.739054\", \"autoresponse_owner_text\": \"\", \"no_reply_address\": \"noreply@example.org\", \"filter_content\": false, \"owner_address\": \"test-owner@example.org\", \"post_id\": 1, \"administrivia\": true, \"posting_address\": \"test@example.org\", \"last_post_at\": null, \"request_address\": \"test-request@example.org\", \"display_name\": \"Test\", \"autoresponse_grace_period\": \"90d\", \"acceptable_aliases\": [], \"admin_notify_mchanges\": false, \"mail_host\": \"example.org\", \"default_nonmember_action\": \"hold\", \"posting_pipeline\": \"default-posting-pipeline\", \"admin_immed_notify\": true, \"welcome_message_uri\": \"mailman:///welcome.txt\", \"autorespond_requests\": \"none\", \"autorespond_postings\": \"none\", \"convert_html_to_plaintext\": false, \"volume\": 1, \"advertised\": true, \"list_name\": \"test\", \"fqdn_listname\": \"test@example.org\", \"reply_to_address\": \"\", \"digest_last_sent_at\": null, \"include_rfc2369_headers\": true, \"leave_address\": \"test-leave@example.org\", \"send_welcome_message\": true, \"web_host\": \"example.org\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/test@example.org/config"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "1593"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"autorespond_owner\": \"none\", \"archive_policy\": \"public\", \"reply_goes_to_list\": \"no_munging\", \"scheme\": \"http\", \"next_digest_number\": 1, \"subject_prefix\": \"[Test] \", \"first_strip_reply_to\": false, \"digest_size_threshold\": 30.0, \"autoresponse_request_text\": \"\", \"http_etag\": \"\\\"b3b8d8ab2977865effd4fa746a2d02522342076e\\\"\", \"bounces_address\": \"test-bounces@example.org\", \"autoresponse_postings_text\": \"\", \"anonymous_list\": false, \"description\": \"\", \"join_address\": \"test-join@example.org\", \"default_member_action\": \"defer\", \"allow_list_posts\": true, \"collapse_alternatives\": true, \"created_at\": \"2015-02-08T08:42:22.739054\", \"autoresponse_owner_text\": \"\", \"no_reply_address\": \"noreply@example.org\", \"filter_content\": false, \"owner_address\": \"test-owner@example.org\", \"post_id\": 1, \"administrivia\": true, \"posting_address\": \"test@example.org\", \"last_post_at\": null, \"request_address\": \"test-request@example.org\", \"display_name\": \"Test\", \"autoresponse_grace_period\": \"90d\", \"acceptable_aliases\": [], \"admin_notify_mchanges\": false, \"mail_host\": \"example.org\", \"default_nonmember_action\": \"hold\", \"posting_pipeline\": \"default-posting-pipeline\", \"admin_immed_notify\": true, \"welcome_message_uri\": \"mailman:///welcome.txt\", \"autorespond_requests\": \"none\", \"autorespond_postings\": \"none\", \"convert_html_to_plaintext\": false, \"volume\": 1, \"advertised\": true, \"list_name\": \"test\", \"fqdn_listname\": \"test@example.org\", \"reply_to_address\": \"\", \"digest_last_sent_at\": null, \"include_rfc2369_headers\": true, \"leave_address\": \"test-leave@example.org\", \"send_welcome_message\": true, \"web_host\": \"example.org\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/test@example.org/config"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "1593"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"autorespond_owner\": \"none\", \"archive_policy\": \"public\", \"reply_goes_to_list\": \"no_munging\", \"scheme\": \"http\", \"next_digest_number\": 1, \"subject_prefix\": \"[Test] \", \"first_strip_reply_to\": false, \"digest_size_threshold\": 30.0, \"autoresponse_request_text\": \"\", \"http_etag\": \"\\\"b3b8d8ab2977865effd4fa746a2d02522342076e\\\"\", \"bounces_address\": \"test-bounces@example.org\", \"autoresponse_postings_text\": \"\", \"anonymous_list\": false, \"description\": \"\", \"join_address\": \"test-join@example.org\", \"default_member_action\": \"defer\", \"allow_list_posts\": true, \"collapse_alternatives\": true, \"created_at\": \"2015-02-08T08:42:22.739054\", \"autoresponse_owner_text\": \"\", \"no_reply_address\": \"noreply@example.org\", \"filter_content\": false, \"owner_address\": \"test-owner@example.org\", \"post_id\": 1, \"administrivia\": true, \"posting_address\": \"test@example.org\", \"last_post_at\": null, \"request_address\": \"test-request@example.org\", \"display_name\": \"Test\", \"autoresponse_grace_period\": \"90d\", \"acceptable_aliases\": [], \"admin_notify_mchanges\": false, \"mail_host\": \"example.org\", \"default_nonmember_action\": \"hold\", \"posting_pipeline\": \"default-posting-pipeline\", \"admin_immed_notify\": true, \"welcome_message_uri\": \"mailman:///welcome.txt\", \"autorespond_requests\": \"none\", \"autorespond_postings\": \"none\", \"convert_html_to_plaintext\": false, \"volume\": 1, \"advertised\": true, \"list_name\": \"test\", \"fqdn_listname\": \"test@example.org\", \"reply_to_address\": \"\", \"digest_last_sent_at\": null, \"include_rfc2369_headers\": true, \"leave_address\": \"test-leave@example.org\", \"send_welcome_message\": true, \"web_host\": \"example.org\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "DELETE",
+ "uri": "http://localhost:9001/3.0/lists/test@example.org"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "DELETE",
+ "uri": "http://localhost:9001/3.0/domains/example.org"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "mail_host=example.org",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/domains/example.org"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.org"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"730f23a7a90aecfe1248f952d15bcfe97ce9e51f\\\"\", \"self_link\": \"http://localhost:9001/3.0/domains/example.org\", \"url_host\": \"example.org\", \"contact_address\": \"postmaster@example.org\", \"mail_host\": \"example.org\", \"base_url\": \"http://example.org\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "fqdn_listname=test%40example.org",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/lists/test.example.org"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/test@example.org"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "299"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"volume\": 1, \"member_count\": 0, \"self_link\": \"http://localhost:9001/3.0/lists/test.example.org\", \"fqdn_listname\": \"test@example.org\", \"mail_host\": \"example.org\", \"list_id\": \"test.example.org\", \"list_name\": \"test\", \"http_etag\": \"\\\"bdbe0068d985e63808436177de1063200d586b0d\\\"\", \"display_name\": \"Test\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/test@example.org"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "299"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"volume\": 1, \"member_count\": 0, \"self_link\": \"http://localhost:9001/3.0/lists/test.example.org\", \"fqdn_listname\": \"test@example.org\", \"mail_host\": \"example.org\", \"list_id\": \"test.example.org\", \"list_name\": \"test\", \"http_etag\": \"\\\"bdbe0068d985e63808436177de1063200d586b0d\\\"\", \"display_name\": \"Test\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "DELETE",
+ "uri": "http://localhost:9001/3.0/lists/test@example.org"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "DELETE",
+ "uri": "http://localhost:9001/3.0/domains/example.org"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/postorius/tests/fixtures/vcr_cassettes/test_list_new/list_creation/new_list_created_with_owner.yaml b/src/postorius/tests/fixtures/vcr_cassettes/test_list_new/list_creation/new_list_created_with_owner.yaml
new file mode 100644
index 0000000..487eed3
--- /dev/null
+++ b/src/postorius/tests/fixtures/vcr_cassettes/test_list_new/list_creation/new_list_created_with_owner.yaml
@@ -0,0 +1,462 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "383"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}], \"start\": 0, \"http_etag\": \"\\\"b4ea7109190ac24defea706a8fc8807090dabba4\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "fqdn_listname=a_new_list%40example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/lists/a_new_list.example.com"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/a_new_list.example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "329"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/a_new_list.example.com\", \"fqdn_listname\": \"a_new_list@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"447e005af2b208bfea01f6425b786356f0a374de\\\"\", \"member_count\": 0, \"list_name\": \"a_new_list\", \"display_name\": \"A_new_list\", \"list_id\": \"a_new_list.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "subscriber=owner%40example.com&role=owner&list_id=a_new_list.example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/members"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/members/288493333369309519831004492815866386400"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/a_new_list@example.com/config"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "1653"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"post_id\": 1, \"autoresponse_postings_text\": \"\", \"autorespond_owner\": \"none\", \"administrivia\": true, \"owner_address\": \"a_new_list-owner@example.com\", \"created_at\": \"2015-01-26T08:25:35.458128\", \"admin_notify_mchanges\": false, \"convert_html_to_plaintext\": false, \"admin_immed_notify\": true, \"autoresponse_grace_period\": \"90d\", \"autorespond_requests\": \"none\", \"send_welcome_message\": true, \"scheme\": \"http\", \"first_strip_reply_to\": false, \"display_name\": \"A_new_list\", \"digest_size_threshold\": 30.0, \"acceptable_aliases\": [], \"next_digest_number\": 1, \"leave_address\": \"a_new_list-leave@example.com\", \"web_host\": \"example.com\", \"reply_goes_to_list\": \"no_munging\", \"http_etag\": \"\\\"454b3714f2aaaf4824e756e9f3578d7e44585d6b\\\"\", \"posting_address\": \"a_new_list@example.com\", \"anonymous_list\": false, \"collapse_alternatives\": true, \"join_address\": \"a_new_list-join@example.com\", \"default_nonmember_action\": \"hold\", \"allow_list_posts\": true, \"reply_to_address\": \"\", \"default_member_action\": \"defer\", \"posting_pipeline\": \"default-posting-pipeline\", \"autoresponse_request_text\": \"\", \"include_rfc2369_headers\": true, \"archive_policy\": \"public\", \"no_reply_address\": \"noreply@example.com\", \"request_address\": \"a_new_list-request@example.com\", \"last_post_at\": null, \"subject_prefix\": \"[A_new_list] \", \"advertised\": true, \"volume\": 1, \"fqdn_listname\": \"a_new_list@example.com\", \"filter_content\": false, \"autorespond_postings\": \"none\", \"mail_host\": \"example.com\", \"bounces_address\": \"a_new_list-bounces@example.com\", \"description\": \"\", \"autoresponse_owner_text\": \"\", \"digest_last_sent_at\": null, \"list_name\": \"a_new_list\", \"welcome_message_uri\": \"mailman:///welcome.txt\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "default_nonmember_action=hold&default_member_action=defer&admin_notify_mchanges=False&send_welcome_message=True&allow_list_posts=True&posting_pipeline=default-posting-pipeline&administrivia=True&filter_content=False&autorespond_owner=none&display_name=A_new_list&advertised=True&first_strip_reply_to=False&autoresponse_request_text=&description=A+new+list.&reply_to_address=&autoresponse_owner_text=&subject_prefix=%5BA_new_list%5D+&include_rfc2369_headers=True&convert_html_to_plaintext=False&anonymous_list=False&archive_policy=public&autorespond_postings=none&digest_size_threshold=30.0&autoresponse_grace_period=90d&reply_goes_to_list=no_munging&autorespond_requests=none&welcome_message_uri=mailman%3A%2F%2F%2Fwelcome.txt&admin_immed_notify=True&autoresponse_postings_text=&collapse_alternatives=True",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "PATCH",
+ "uri": "http://localhost:9001/3.0/lists/a_new_list@example.com/config"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/a_new_list@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "329"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/a_new_list.example.com\", \"fqdn_listname\": \"a_new_list@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"447e005af2b208bfea01f6425b786356f0a374de\\\"\", \"member_count\": 0, \"list_name\": \"a_new_list\", \"display_name\": \"A_new_list\", \"list_id\": \"a_new_list.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/a_new_list.example.com/roster/owner"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "519"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/owner@example.com\", \"role\": \"owner\", \"self_link\": \"http://localhost:9001/3.0/members/288493333369309519831004492815866386400\", \"user\": \"http://localhost:9001/3.0/users/109011471419690310842107289812022048641\", \"email\": \"owner@example.com\", \"list_id\": \"a_new_list.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"3f7ae2b750fa25dbcbd2ece2efeb0e628c5d90f1\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"ec9375eab5a7b4d890c5e3a07c16ca67795207ef\\\"\"}"
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/postorius/tests/fixtures/vcr_cassettes/test_list_new/list_creation/setup.yaml b/src/postorius/tests/fixtures/vcr_cassettes/test_list_new/list_creation/setup.yaml
new file mode 100644
index 0000000..0bc46d3
--- /dev/null
+++ b/src/postorius/tests/fixtures/vcr_cassettes/test_list_new/list_creation/setup.yaml
@@ -0,0 +1,175 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": "mail_host=example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "Bad Request",
+ "code": 400
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "13"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "Domain exists"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "mail_host=example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "Bad Request",
+ "code": 400
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "13"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "Domain exists"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/postorius/tests/fixtures/vcr_cassettes/test_list_new/list_creation/teardown.yaml b/src/postorius/tests/fixtures/vcr_cassettes/test_list_new/list_creation/teardown.yaml
new file mode 100644
index 0000000..0e536c4
--- /dev/null
+++ b/src/postorius/tests/fixtures/vcr_cassettes/test_list_new/list_creation/teardown.yaml
@@ -0,0 +1,166 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "434"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"self_link\": \"http://localhost:9001/3.0/lists/a_new_list.example.com\", \"fqdn_listname\": \"a_new_list@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"447e005af2b208bfea01f6425b786356f0a374de\\\"\", \"member_count\": 0, \"list_name\": \"a_new_list\", \"display_name\": \"A_new_list\", \"list_id\": \"a_new_list.example.com\"}], \"start\": 0, \"http_etag\": \"\\\"dee96dcb9d3f736cc6fa170baeea8f879d7db6f0\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/a_new_list.example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "329"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/a_new_list.example.com\", \"fqdn_listname\": \"a_new_list@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"447e005af2b208bfea01f6425b786356f0a374de\\\"\", \"member_count\": 0, \"list_name\": \"a_new_list\", \"display_name\": \"A_new_list\", \"list_id\": \"a_new_list.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "DELETE",
+ "uri": "http://localhost:9001/3.0/lists/a_new_list@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/postorius/tests/fixtures/vcr_cassettes/test_list_summary/list_summary_page/list_summary_logged_in.yaml b/src/postorius/tests/fixtures/vcr_cassettes/test_list_summary/list_summary_page/list_summary_logged_in.yaml
new file mode 100644
index 0000000..bd70783
--- /dev/null
+++ b/src/postorius/tests/fixtures/vcr_cassettes/test_list_summary/list_summary_page/list_summary_logged_in.yaml
@@ -0,0 +1,210 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/owner"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/moderator"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com/roster/member"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com/config"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "1583"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"post_id\": 1, \"autoresponse_postings_text\": \"\", \"autorespond_owner\": \"none\", \"administrivia\": true, \"owner_address\": \"foo-owner@example.com\", \"created_at\": \"2015-01-26T08:25:36.029238\", \"admin_notify_mchanges\": false, \"convert_html_to_plaintext\": false, \"admin_immed_notify\": true, \"autoresponse_grace_period\": \"90d\", \"autorespond_requests\": \"none\", \"send_welcome_message\": true, \"scheme\": \"http\", \"first_strip_reply_to\": false, \"display_name\": \"Foo\", \"digest_size_threshold\": 30.0, \"acceptable_aliases\": [], \"next_digest_number\": 1, \"leave_address\": \"foo-leave@example.com\", \"web_host\": \"example.com\", \"reply_goes_to_list\": \"no_munging\", \"http_etag\": \"\\\"7aa5e4f9a81e3368808f8b83173049cd9426274a\\\"\", \"posting_address\": \"foo@example.com\", \"anonymous_list\": false, \"collapse_alternatives\": true, \"join_address\": \"foo-join@example.com\", \"default_nonmember_action\": \"hold\", \"allow_list_posts\": true, \"reply_to_address\": \"\", \"default_member_action\": \"defer\", \"posting_pipeline\": \"default-posting-pipeline\", \"autoresponse_request_text\": \"\", \"include_rfc2369_headers\": true, \"archive_policy\": \"public\", \"no_reply_address\": \"noreply@example.com\", \"request_address\": \"foo-request@example.com\", \"last_post_at\": null, \"subject_prefix\": \"[Foo] \", \"advertised\": true, \"volume\": 1, \"fqdn_listname\": \"foo@example.com\", \"filter_content\": false, \"autorespond_postings\": \"none\", \"mail_host\": \"example.com\", \"bounces_address\": \"foo-bounces@example.com\", \"description\": \"\", \"autoresponse_owner_text\": \"\", \"digest_last_sent_at\": null, \"list_name\": \"foo\", \"welcome_message_uri\": \"mailman:///welcome.txt\"}"
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/postorius/tests/fixtures/vcr_cassettes/test_list_summary/list_summary_page/list_summary_logged_out.yaml b/src/postorius/tests/fixtures/vcr_cassettes/test_list_summary/list_summary_page/list_summary_logged_out.yaml
new file mode 100644
index 0000000..92ce707
--- /dev/null
+++ b/src/postorius/tests/fixtures/vcr_cassettes/test_list_summary/list_summary_page/list_summary_logged_out.yaml
@@ -0,0 +1,128 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com/roster/member"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com/config"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "1583"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"post_id\": 1, \"autoresponse_postings_text\": \"\", \"autorespond_owner\": \"none\", \"administrivia\": true, \"owner_address\": \"foo-owner@example.com\", \"created_at\": \"2015-01-26T08:25:36.395748\", \"admin_notify_mchanges\": false, \"convert_html_to_plaintext\": false, \"admin_immed_notify\": true, \"autoresponse_grace_period\": \"90d\", \"autorespond_requests\": \"none\", \"send_welcome_message\": true, \"scheme\": \"http\", \"first_strip_reply_to\": false, \"display_name\": \"Foo\", \"digest_size_threshold\": 30.0, \"acceptable_aliases\": [], \"next_digest_number\": 1, \"leave_address\": \"foo-leave@example.com\", \"web_host\": \"example.com\", \"reply_goes_to_list\": \"no_munging\", \"http_etag\": \"\\\"c6fda2d804349f890f788d4251861c499b72f814\\\"\", \"posting_address\": \"foo@example.com\", \"anonymous_list\": false, \"collapse_alternatives\": true, \"join_address\": \"foo-join@example.com\", \"default_nonmember_action\": \"hold\", \"allow_list_posts\": true, \"reply_to_address\": \"\", \"default_member_action\": \"defer\", \"posting_pipeline\": \"default-posting-pipeline\", \"autoresponse_request_text\": \"\", \"include_rfc2369_headers\": true, \"archive_policy\": \"public\", \"no_reply_address\": \"noreply@example.com\", \"request_address\": \"foo-request@example.com\", \"last_post_at\": null, \"subject_prefix\": \"[Foo] \", \"advertised\": true, \"volume\": 1, \"fqdn_listname\": \"foo@example.com\", \"filter_content\": false, \"autorespond_postings\": \"none\", \"mail_host\": \"example.com\", \"bounces_address\": \"foo-bounces@example.com\", \"description\": \"\", \"autoresponse_owner_text\": \"\", \"digest_last_sent_at\": null, \"list_name\": \"foo\", \"welcome_message_uri\": \"mailman:///welcome.txt\"}"
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/postorius/tests/fixtures/vcr_cassettes/test_list_summary/list_summary_page/setup.yaml b/src/postorius/tests/fixtures/vcr_cassettes/test_list_summary/list_summary_page/setup.yaml
new file mode 100644
index 0000000..6f1c0c8
--- /dev/null
+++ b/src/postorius/tests/fixtures/vcr_cassettes/test_list_summary/list_summary_page/setup.yaml
@@ -0,0 +1,345 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": "mail_host=example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "Bad Request",
+ "code": 400
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "13"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "Domain exists"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "fqdn_listname=foo%40example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/lists/foo.example.com"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "mail_host=example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "Bad Request",
+ "code": 400
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "13"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "Domain exists"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "fqdn_listname=foo%40example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/lists/foo.example.com"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/postorius/tests/fixtures/vcr_cassettes/test_list_summary/list_summary_page/teardown.yaml b/src/postorius/tests/fixtures/vcr_cassettes/test_list_summary/list_summary_page/teardown.yaml
new file mode 100644
index 0000000..6087668
--- /dev/null
+++ b/src/postorius/tests/fixtures/vcr_cassettes/test_list_summary/list_summary_page/teardown.yaml
@@ -0,0 +1,245 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "399"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}], \"start\": 0, \"http_etag\": \"\\\"0eb6d0b88c89b5c491b7966eab97a79e221096ad\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "DELETE",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "399"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}], \"start\": 0, \"http_etag\": \"\\\"0eb6d0b88c89b5c491b7966eab97a79e221096ad\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "DELETE",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/postorius/tests/mailman_api_tests/test_list_members.py b/src/postorius/tests/mailman_api_tests/test_list_members.py
index ca07aa4..abc3768 100644
--- a/src/postorius/tests/mailman_api_tests/test_list_members.py
+++ b/src/postorius/tests/mailman_api_tests/test_list_members.py
@@ -45,6 +45,7 @@
@MM_VCR.use_cassette('list_members_access.yaml')
def setUp(self):
+ self.client = Client()
try:
self.domain = get_client().create_domain('example.com')
except HTTPError:
@@ -53,7 +54,6 @@
self.foo_list = self.domain.create_list('foo')
except HTTPError:
self.foo_list = get_client().get_list('foo.example.com')
- logger.warning(self.foo_list)
self.user = User.objects.create_user(
'testuser', 'test@example.com', 'testpass')
self.superuser = User.objects.create_superuser(
@@ -117,6 +117,7 @@
@MM_VCR.use_cassette('test_list_members/add_owner_setup.yaml')
def setUp(self):
+ self.client = Client()
try:
self.domain = get_client().create_domain('example.com')
except HTTPError:
@@ -149,6 +150,7 @@
@MM_VCR.use_cassette('test_list_members/add_moderator_setup.yaml')
def setUp(self):
+ self.client = Client()
try:
self.domain = get_client().create_domain('example.com')
except HTTPError:
diff --git a/src/postorius/tests/mailman_api_tests/test_list_metrics.py b/src/postorius/tests/mailman_api_tests/test_list_metrics.py
new file mode 100644
index 0000000..388fb80
--- /dev/null
+++ b/src/postorius/tests/mailman_api_tests/test_list_metrics.py
@@ -0,0 +1,61 @@
+from __future__ import (
+ absolute_import, division, print_function, unicode_literals)
+
+
+import six
+import logging
+
+
+from django.contrib.auth.models import User
+from django.core.urlresolvers import reverse
+from django.test import Client, SimpleTestCase
+from django.test.utils import override_settings
+from six.moves.urllib_error import HTTPError
+
+from postorius.utils import get_client
+from postorius.tests import MM_VCR
+
+
+logger = logging.getLogger(__name__)
+vcr_log = logging.getLogger('vcr')
+vcr_log.setLevel(logging.WARNING)
+
+
+TEST_API_CREDENTIALS = {'MAILMAN_API_URL': 'http://localhost:9001',
+ 'MAILMAN_USER': 'restadmin',
+ 'MAILMAN_PASS': 'restpass'}
+
+
+@override_settings(**TEST_API_CREDENTIALS)
+class TestListMetrics(SimpleTestCase):
+
+ @MM_VCR.use_cassette('test_list_metrics/list_metrics.yaml')
+ def setUp(self):
+ self.mm_client = get_client()
+ self.client = Client()
+ try:
+ self.domain = self.mm_client.create_domain('example.org')
+ except HTTPError:
+ self.domain = self.mm_client.get_domain('example.org')
+ self.domain.create_list('test')
+ self.test_list = self.mm_client.get_list('test@example.org')
+ User.objects.filter(username='su').delete()
+ self.superuser = User.objects.create_superuser(
+ 'su', 'su@example.com', 'pwd')
+
+ @MM_VCR.use_cassette('test_list_metrics/list_metrics.yaml')
+ def test_metrics_page_not_accessible_to_anonymous(self):
+ response = self.client.get(reverse('list_metrics', args=['test@example.org']))
+ self.assertEqual(response.status_code, 403)
+
+ @MM_VCR.use_cassette('test_list_metrics/list_metrics.yaml')
+ def test_metrics_page_contains_metrics(self):
+ self.client.login(username='su', password='pwd')
+ response = self.client.get(reverse('list_metrics', args=['test@example.org']))
+ self.assertEqual(response.status_code, 200)
+
+ @MM_VCR.use_cassette('test_list_metrics/list_metrics.yaml')
+ def tearDown(self):
+ self.superuser.delete()
+ self.test_list.delete()
+ self.mm_client.delete_domain('example.org')
diff --git a/src/postorius/tests/mailman_api_tests/test_list_new.py b/src/postorius/tests/mailman_api_tests/test_list_new.py
index 584899a..f13d918 100644
--- a/src/postorius/tests/mailman_api_tests/test_list_new.py
+++ b/src/postorius/tests/mailman_api_tests/test_list_new.py
@@ -19,7 +19,7 @@
from django.contrib.auth.models import User
from django.core.urlresolvers import reverse
-from django.test import SimpleTestCase
+from django.test import Client, SimpleTestCase
from django.test.utils import override_settings
from urllib2 import HTTPError
@@ -43,6 +43,7 @@
@MM_VCR.use_cassette('test_list_new/list_creation/setup.yaml')
def setUp(self):
+ self.client = Client()
self.user = User.objects.create_user('user', 'user@example.com', 'pwd')
self.superuser = User.objects.create_superuser('su', 'su@example.com',
'pwd')
@@ -61,9 +62,9 @@
def test_permission_denied(self):
self.client.login(username='user', password='pwd')
response = self.client.get(reverse('list_new'))
- self.assertRedirects(
- response,
- '/postorius/accounts/login/?next=/postorius/lists/new/')
+ self.assertEqual(
+ response['location'],
+ 'http://testserver/postorius/accounts/login/?next=/lists/new/')
@MM_VCR.use_cassette('test_list_new/list_creation/'
'new_list_created_with_owner.yaml')
diff --git a/test_requirements.txt b/test_requirements.txt
deleted file mode 100644
index 18081eb..0000000
--- a/test_requirements.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-mock
-django-nose
-coverage
-vcrpy
diff --git a/testing/__init__.py b/testing/__init__.py
new file mode 100644
index 0000000..4bc6bcf
--- /dev/null
+++ b/testing/__init__.py
@@ -0,0 +1,30 @@
+# -*- coding: utf-8 -*-
+# Copyright (C) 2012-2014 by the Free Software Foundation, Inc.
+#
+# This file is part of Postorius.
+#
+# Postorius 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.
+# Postorius 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
+# Postorius. If not, see .
+
+import os
+import vcr
+
+from django.conf import settings
+
+
+TEST_DIR = os.path.abspath(os.path.dirname(__file__))
+FIXTURES_DIR = os.path.join(TEST_DIR, 'fixtures', 'vcr_cassettes')
+
+
+MM_VCR = vcr.VCR(serializer='json',
+ cassette_library_dir=FIXTURES_DIR,
+ match_on=['uri', 'method'])
diff --git a/testing/fixtures/vcr_cassettes/list_members_access.yaml b/testing/fixtures/vcr_cassettes/list_members_access.yaml
new file mode 100644
index 0000000..bf86c9b
--- /dev/null
+++ b/testing/fixtures/vcr_cassettes/list_members_access.yaml
@@ -0,0 +1,2018 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": "mail_host=example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "Bad Request",
+ "code": 400
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "13"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "Domain exists"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "fqdn_listname=foo%40example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/lists/foo.example.com"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "subscriber=owner%40example.com&role=owner&list_id=foo.example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/members"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/members/123585249075835731428389495947596435700"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "subscriber=moderator%40example.com&role=moderator&list_id=foo.example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/members"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/members/32502339775210491680319526557605964294"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "DELETE",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "mail_host=example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "Bad Request",
+ "code": 400
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "13"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "Domain exists"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "fqdn_listname=foo%40example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/lists/foo.example.com"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "subscriber=owner%40example.com&role=owner&list_id=foo.example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/members"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/members/151471169288183877277024599908199818140"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "subscriber=moderator%40example.com&role=moderator&list_id=foo.example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/members"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/members/26372226836145567517839439079403865390"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "DELETE",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "mail_host=example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "Bad Request",
+ "code": 400
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "13"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "Domain exists"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "fqdn_listname=foo%40example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/lists/foo.example.com"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "subscriber=owner%40example.com&role=owner&list_id=foo.example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/members"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/members/132763266197365266689997447538260432385"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "subscriber=moderator%40example.com&role=moderator&list_id=foo.example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/members"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/members/8409072350447944978514998380781320925"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "DELETE",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "mail_host=example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "Bad Request",
+ "code": 400
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "13"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "Domain exists"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "fqdn_listname=foo%40example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/lists/foo.example.com"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "subscriber=owner%40example.com&role=owner&list_id=foo.example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/members"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/members/224522391207690880616248866598090586375"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "subscriber=moderator%40example.com&role=moderator&list_id=foo.example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/members"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/members/314153091812930326411879831597008310574"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com/roster/member?count=25&page=1"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/owner"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "512"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/owner@example.com\", \"role\": \"owner\", \"self_link\": \"http://localhost:9001/3.0/members/224522391207690880616248866598090586375\", \"user\": \"http://localhost:9001/3.0/users/109011471419690310842107289812022048641\", \"email\": \"owner@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"4b7d4995a4e2742b6591b7a5abc2b8f6fd6981b3\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"147f6d9360f80aefbacb78194b7a5dd2705eb901\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/moderator"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "523"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/moderator@example.com\", \"role\": \"moderator\", \"self_link\": \"http://localhost:9001/3.0/members/314153091812930326411879831597008310574\", \"user\": \"http://localhost:9001/3.0/users/16565898431885471640724918770551558513\", \"email\": \"moderator@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"df7b822391e53ba658b1e4f2046a318f14ef67ba\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"619c37fa2b6fa872efdcef7a7e2c4c10048f31ba\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/owner"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "512"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/owner@example.com\", \"role\": \"owner\", \"self_link\": \"http://localhost:9001/3.0/members/224522391207690880616248866598090586375\", \"user\": \"http://localhost:9001/3.0/users/109011471419690310842107289812022048641\", \"email\": \"owner@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"4b7d4995a4e2742b6591b7a5abc2b8f6fd6981b3\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"147f6d9360f80aefbacb78194b7a5dd2705eb901\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "DELETE",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "mail_host=example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "Bad Request",
+ "code": 400
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "13"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "Domain exists"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "fqdn_listname=foo%40example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/lists/foo.example.com"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:34 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "subscriber=owner%40example.com&role=owner&list_id=foo.example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/members"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/members/204044941486712230127194776511360614115"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "subscriber=moderator%40example.com&role=moderator&list_id=foo.example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/members"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/members/91047135545737029145396335805810473958"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com/roster/member?count=25&page=1"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "DELETE",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/testing/fixtures/vcr_cassettes/list_members_page.yaml b/testing/fixtures/vcr_cassettes/list_members_page.yaml
new file mode 100644
index 0000000..55d40f6
--- /dev/null
+++ b/testing/fixtures/vcr_cassettes/list_members_page.yaml
@@ -0,0 +1,743 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com/roster/member?count=25&page=1"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/owner"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "512"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/owner@example.com\", \"role\": \"owner\", \"self_link\": \"http://localhost:9001/3.0/members/123585249075835731428389495947596435700\", \"user\": \"http://localhost:9001/3.0/users/109011471419690310842107289812022048641\", \"email\": \"owner@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"648844c2e58cc164c8f0856062bb52a1e9527559\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"0a1dfe9d6b11809139886be6ac807b8611e28615\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/moderator"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "522"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/moderator@example.com\", \"role\": \"moderator\", \"self_link\": \"http://localhost:9001/3.0/members/32502339775210491680319526557605964294\", \"user\": \"http://localhost:9001/3.0/users/16565898431885471640724918770551558513\", \"email\": \"moderator@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"4646c52df575a8f6897f3c3c6c6fac7f10655846\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"2a46086c6d25fa90e2ee492019cc84c9f18a0d1b\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/owner"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:32 GMT"
+ ],
+ "content-length": [
+ "512"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/owner@example.com\", \"role\": \"owner\", \"self_link\": \"http://localhost:9001/3.0/members/123585249075835731428389495947596435700\", \"user\": \"http://localhost:9001/3.0/users/109011471419690310842107289812022048641\", \"email\": \"owner@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"648844c2e58cc164c8f0856062bb52a1e9527559\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"0a1dfe9d6b11809139886be6ac807b8611e28615\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com/roster/member?count=25&page=1"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/owner"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "512"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/owner@example.com\", \"role\": \"owner\", \"self_link\": \"http://localhost:9001/3.0/members/151471169288183877277024599908199818140\", \"user\": \"http://localhost:9001/3.0/users/109011471419690310842107289812022048641\", \"email\": \"owner@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"d61382bd732a93115368674e54f6b41a606570a8\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"ea32d01647d10053c4dbcba95fac84787ea1a65a\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/moderator"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "522"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/moderator@example.com\", \"role\": \"moderator\", \"self_link\": \"http://localhost:9001/3.0/members/26372226836145567517839439079403865390\", \"user\": \"http://localhost:9001/3.0/users/16565898431885471640724918770551558513\", \"email\": \"moderator@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"4fa39dfde86bc1e78e1af0cbe61a2a5505b29562\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"9619e7d542a49493130c31f8fe7d6230d8b06793\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/owner"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "512"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/owner@example.com\", \"role\": \"owner\", \"self_link\": \"http://localhost:9001/3.0/members/151471169288183877277024599908199818140\", \"user\": \"http://localhost:9001/3.0/users/109011471419690310842107289812022048641\", \"email\": \"owner@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"d61382bd732a93115368674e54f6b41a606570a8\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"ea32d01647d10053c4dbcba95fac84787ea1a65a\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/moderator"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "522"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/moderator@example.com\", \"role\": \"moderator\", \"self_link\": \"http://localhost:9001/3.0/members/26372226836145567517839439079403865390\", \"user\": \"http://localhost:9001/3.0/users/16565898431885471640724918770551558513\", \"email\": \"moderator@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"4fa39dfde86bc1e78e1af0cbe61a2a5505b29562\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"9619e7d542a49493130c31f8fe7d6230d8b06793\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com/roster/member?count=25&page=1"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/owner"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "512"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/owner@example.com\", \"role\": \"owner\", \"self_link\": \"http://localhost:9001/3.0/members/132763266197365266689997447538260432385\", \"user\": \"http://localhost:9001/3.0/users/109011471419690310842107289812022048641\", \"email\": \"owner@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"8cc55f29d7ecb65d0bacef2eca6089b60897b82f\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"b84b363bcff01d980660299b2d41c231f42c6da0\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/moderator"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "521"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/moderator@example.com\", \"role\": \"moderator\", \"self_link\": \"http://localhost:9001/3.0/members/8409072350447944978514998380781320925\", \"user\": \"http://localhost:9001/3.0/users/16565898431885471640724918770551558513\", \"email\": \"moderator@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"cb44c151d13f0c1d33673aeba9ad6a8f8fa84bcb\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"8496e70004fd41fa96e83bfa4808391bb049918e\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/owner"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "512"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/owner@example.com\", \"role\": \"owner\", \"self_link\": \"http://localhost:9001/3.0/members/132763266197365266689997447538260432385\", \"user\": \"http://localhost:9001/3.0/users/109011471419690310842107289812022048641\", \"email\": \"owner@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"8cc55f29d7ecb65d0bacef2eca6089b60897b82f\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"b84b363bcff01d980660299b2d41c231f42c6da0\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/moderator"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:33 GMT"
+ ],
+ "content-length": [
+ "521"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/moderator@example.com\", \"role\": \"moderator\", \"self_link\": \"http://localhost:9001/3.0/members/8409072350447944978514998380781320925\", \"user\": \"http://localhost:9001/3.0/users/16565898431885471640724918770551558513\", \"email\": \"moderator@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"cb44c151d13f0c1d33673aeba9ad6a8f8fa84bcb\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"8496e70004fd41fa96e83bfa4808391bb049918e\\\"\"}"
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/testing/fixtures/vcr_cassettes/test_list_index/list_index_page/list_index_contains_one_list.yaml b/testing/fixtures/vcr_cassettes/test_list_index/list_index_page/list_index_contains_one_list.yaml
new file mode 100644
index 0000000..61cdc30
--- /dev/null
+++ b/testing/fixtures/vcr_cassettes/test_list_index/list_index_page/list_index_contains_one_list.yaml
@@ -0,0 +1,251 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:30 GMT"
+ ],
+ "content-length": [
+ "399"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}], \"start\": 0, \"http_etag\": \"\\\"0eb6d0b88c89b5c491b7966eab97a79e221096ad\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:30 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com/config"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "1583"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"post_id\": 1, \"autoresponse_postings_text\": \"\", \"autorespond_owner\": \"none\", \"administrivia\": true, \"owner_address\": \"foo-owner@example.com\", \"created_at\": \"2015-01-26T08:25:30.769287\", \"admin_notify_mchanges\": false, \"convert_html_to_plaintext\": false, \"admin_immed_notify\": true, \"autoresponse_grace_period\": \"90d\", \"autorespond_requests\": \"none\", \"send_welcome_message\": true, \"scheme\": \"http\", \"first_strip_reply_to\": false, \"display_name\": \"Foo\", \"digest_size_threshold\": 30.0, \"acceptable_aliases\": [], \"next_digest_number\": 1, \"leave_address\": \"foo-leave@example.com\", \"web_host\": \"example.com\", \"reply_goes_to_list\": \"no_munging\", \"http_etag\": \"\\\"4e38e2da722dbecc783a7fdca2c322be447168c0\\\"\", \"posting_address\": \"foo@example.com\", \"anonymous_list\": false, \"collapse_alternatives\": true, \"join_address\": \"foo-join@example.com\", \"default_nonmember_action\": \"hold\", \"allow_list_posts\": true, \"reply_to_address\": \"\", \"default_member_action\": \"defer\", \"posting_pipeline\": \"default-posting-pipeline\", \"autoresponse_request_text\": \"\", \"include_rfc2369_headers\": true, \"archive_policy\": \"public\", \"no_reply_address\": \"noreply@example.com\", \"request_address\": \"foo-request@example.com\", \"last_post_at\": null, \"subject_prefix\": \"[Foo] \", \"advertised\": true, \"volume\": 1, \"fqdn_listname\": \"foo@example.com\", \"filter_content\": false, \"autorespond_postings\": \"none\", \"mail_host\": \"example.com\", \"bounces_address\": \"foo-bounces@example.com\", \"description\": \"\", \"autoresponse_owner_text\": \"\", \"digest_last_sent_at\": null, \"list_name\": \"foo\", \"welcome_message_uri\": \"mailman:///welcome.txt\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "383"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}], \"start\": 0, \"http_etag\": \"\\\"b4ea7109190ac24defea706a8fc8807090dabba4\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com/config"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "1583"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"post_id\": 1, \"autoresponse_postings_text\": \"\", \"autorespond_owner\": \"none\", \"administrivia\": true, \"owner_address\": \"foo-owner@example.com\", \"created_at\": \"2015-01-26T08:25:30.769287\", \"admin_notify_mchanges\": false, \"convert_html_to_plaintext\": false, \"admin_immed_notify\": true, \"autoresponse_grace_period\": \"90d\", \"autorespond_requests\": \"none\", \"send_welcome_message\": true, \"scheme\": \"http\", \"first_strip_reply_to\": false, \"display_name\": \"Foo\", \"digest_size_threshold\": 30.0, \"acceptable_aliases\": [], \"next_digest_number\": 1, \"leave_address\": \"foo-leave@example.com\", \"web_host\": \"example.com\", \"reply_goes_to_list\": \"no_munging\", \"http_etag\": \"\\\"4e38e2da722dbecc783a7fdca2c322be447168c0\\\"\", \"posting_address\": \"foo@example.com\", \"anonymous_list\": false, \"collapse_alternatives\": true, \"join_address\": \"foo-join@example.com\", \"default_nonmember_action\": \"hold\", \"allow_list_posts\": true, \"reply_to_address\": \"\", \"default_member_action\": \"defer\", \"posting_pipeline\": \"default-posting-pipeline\", \"autoresponse_request_text\": \"\", \"include_rfc2369_headers\": true, \"archive_policy\": \"public\", \"no_reply_address\": \"noreply@example.com\", \"request_address\": \"foo-request@example.com\", \"last_post_at\": null, \"subject_prefix\": \"[Foo] \", \"advertised\": true, \"volume\": 1, \"fqdn_listname\": \"foo@example.com\", \"filter_content\": false, \"autorespond_postings\": \"none\", \"mail_host\": \"example.com\", \"bounces_address\": \"foo-bounces@example.com\", \"description\": \"\", \"autoresponse_owner_text\": \"\", \"digest_last_sent_at\": null, \"list_name\": \"foo\", \"welcome_message_uri\": \"mailman:///welcome.txt\"}"
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/testing/fixtures/vcr_cassettes/test_list_index/list_index_page/setup.yaml b/testing/fixtures/vcr_cassettes/test_list_index/list_index_page/setup.yaml
new file mode 100644
index 0000000..f97ac35
--- /dev/null
+++ b/testing/fixtures/vcr_cassettes/test_list_index/list_index_page/setup.yaml
@@ -0,0 +1,134 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": "mail_host=example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:30 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/domains/example.com"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:30 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "fqdn_listname=foo%40example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:30 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/lists/foo.example.com"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/testing/fixtures/vcr_cassettes/test_list_index/list_index_page/teardown.yaml b/testing/fixtures/vcr_cassettes/test_list_index/list_index_page/teardown.yaml
new file mode 100644
index 0000000..93e9272
--- /dev/null
+++ b/testing/fixtures/vcr_cassettes/test_list_index/list_index_page/teardown.yaml
@@ -0,0 +1,125 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "399"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}], \"start\": 0, \"http_etag\": \"\\\"0eb6d0b88c89b5c491b7966eab97a79e221096ad\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "DELETE",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/testing/fixtures/vcr_cassettes/test_list_members/add_moderator_setup.yaml b/testing/fixtures/vcr_cassettes/test_list_members/add_moderator_setup.yaml
new file mode 100644
index 0000000..367720e
--- /dev/null
+++ b/testing/fixtures/vcr_cassettes/test_list_members/add_moderator_setup.yaml
@@ -0,0 +1,465 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": "mail_host=example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "Bad Request",
+ "code": 400
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "13"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "Domain exists"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "fqdn_listname=foo%40example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/lists/foo.example.com"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com/roster/member?count=25&page=1"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/owner"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/moderator"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "subscriber=newmod%40example.com&role=moderator&list_id=foo.example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/members"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/members/315756937425945116465287447364399887375"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/owner"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/moderator"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "517"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/newmod@example.com\", \"role\": \"moderator\", \"self_link\": \"http://localhost:9001/3.0/members/315756937425945116465287447364399887375\", \"user\": \"http://localhost:9001/3.0/users/16696964522011058967978427006495656346\", \"email\": \"newmod@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"b8f4e31c2680c7ed5bb3026111e9d3e4393dc658\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"1c4fb4ee1e0e166dca89a40aafcb6703530e2ab9\\\"\"}"
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/testing/fixtures/vcr_cassettes/test_list_members/add_moderator_teardown.yaml b/testing/fixtures/vcr_cassettes/test_list_members/add_moderator_teardown.yaml
new file mode 100644
index 0000000..50e931a
--- /dev/null
+++ b/testing/fixtures/vcr_cassettes/test_list_members/add_moderator_teardown.yaml
@@ -0,0 +1,84 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "DELETE",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/testing/fixtures/vcr_cassettes/test_list_members/new_moderator_added.yaml b/testing/fixtures/vcr_cassettes/test_list_members/new_moderator_added.yaml
new file mode 100644
index 0000000..e7e8588
--- /dev/null
+++ b/testing/fixtures/vcr_cassettes/test_list_members/new_moderator_added.yaml
@@ -0,0 +1,46 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/moderator"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:31 GMT"
+ ],
+ "content-length": [
+ "517"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/newmod@example.com\", \"role\": \"moderator\", \"self_link\": \"http://localhost:9001/3.0/members/315756937425945116465287447364399887375\", \"user\": \"http://localhost:9001/3.0/users/16696964522011058967978427006495656346\", \"email\": \"newmod@example.com\", \"list_id\": \"foo.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"b8f4e31c2680c7ed5bb3026111e9d3e4393dc658\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"1c4fb4ee1e0e166dca89a40aafcb6703530e2ab9\\\"\"}"
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/testing/fixtures/vcr_cassettes/test_list_metrics/list_metrics.yaml b/testing/fixtures/vcr_cassettes/test_list_metrics/list_metrics.yaml
new file mode 100644
index 0000000..36e5185
--- /dev/null
+++ b/testing/fixtures/vcr_cassettes/test_list_metrics/list_metrics.yaml
@@ -0,0 +1,825 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": "mail_host=example.org",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:22 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/domains/example.org"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.org"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:22 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"730f23a7a90aecfe1248f952d15bcfe97ce9e51f\\\"\", \"self_link\": \"http://localhost:9001/3.0/domains/example.org\", \"url_host\": \"example.org\", \"contact_address\": \"postmaster@example.org\", \"mail_host\": \"example.org\", \"base_url\": \"http://example.org\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "fqdn_listname=test%40example.org",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:22 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/lists/test.example.org"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/test@example.org"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:22 GMT"
+ ],
+ "content-length": [
+ "299"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"volume\": 1, \"member_count\": 0, \"self_link\": \"http://localhost:9001/3.0/lists/test.example.org\", \"fqdn_listname\": \"test@example.org\", \"mail_host\": \"example.org\", \"list_id\": \"test.example.org\", \"list_name\": \"test\", \"http_etag\": \"\\\"bdbe0068d985e63808436177de1063200d586b0d\\\"\", \"display_name\": \"Test\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/test@example.org"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "299"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"volume\": 1, \"member_count\": 0, \"self_link\": \"http://localhost:9001/3.0/lists/test.example.org\", \"fqdn_listname\": \"test@example.org\", \"mail_host\": \"example.org\", \"list_id\": \"test.example.org\", \"list_name\": \"test\", \"http_etag\": \"\\\"bdbe0068d985e63808436177de1063200d586b0d\\\"\", \"display_name\": \"Test\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/test.example.org/roster/owner"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/test.example.org/roster/moderator"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/test@example.org/config"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "1593"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"autorespond_owner\": \"none\", \"archive_policy\": \"public\", \"reply_goes_to_list\": \"no_munging\", \"scheme\": \"http\", \"next_digest_number\": 1, \"subject_prefix\": \"[Test] \", \"first_strip_reply_to\": false, \"digest_size_threshold\": 30.0, \"autoresponse_request_text\": \"\", \"http_etag\": \"\\\"b3b8d8ab2977865effd4fa746a2d02522342076e\\\"\", \"bounces_address\": \"test-bounces@example.org\", \"autoresponse_postings_text\": \"\", \"anonymous_list\": false, \"description\": \"\", \"join_address\": \"test-join@example.org\", \"default_member_action\": \"defer\", \"allow_list_posts\": true, \"collapse_alternatives\": true, \"created_at\": \"2015-02-08T08:42:22.739054\", \"autoresponse_owner_text\": \"\", \"no_reply_address\": \"noreply@example.org\", \"filter_content\": false, \"owner_address\": \"test-owner@example.org\", \"post_id\": 1, \"administrivia\": true, \"posting_address\": \"test@example.org\", \"last_post_at\": null, \"request_address\": \"test-request@example.org\", \"display_name\": \"Test\", \"autoresponse_grace_period\": \"90d\", \"acceptable_aliases\": [], \"admin_notify_mchanges\": false, \"mail_host\": \"example.org\", \"default_nonmember_action\": \"hold\", \"posting_pipeline\": \"default-posting-pipeline\", \"admin_immed_notify\": true, \"welcome_message_uri\": \"mailman:///welcome.txt\", \"autorespond_requests\": \"none\", \"autorespond_postings\": \"none\", \"convert_html_to_plaintext\": false, \"volume\": 1, \"advertised\": true, \"list_name\": \"test\", \"fqdn_listname\": \"test@example.org\", \"reply_to_address\": \"\", \"digest_last_sent_at\": null, \"include_rfc2369_headers\": true, \"leave_address\": \"test-leave@example.org\", \"send_welcome_message\": true, \"web_host\": \"example.org\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/test@example.org/config"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "1593"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"autorespond_owner\": \"none\", \"archive_policy\": \"public\", \"reply_goes_to_list\": \"no_munging\", \"scheme\": \"http\", \"next_digest_number\": 1, \"subject_prefix\": \"[Test] \", \"first_strip_reply_to\": false, \"digest_size_threshold\": 30.0, \"autoresponse_request_text\": \"\", \"http_etag\": \"\\\"b3b8d8ab2977865effd4fa746a2d02522342076e\\\"\", \"bounces_address\": \"test-bounces@example.org\", \"autoresponse_postings_text\": \"\", \"anonymous_list\": false, \"description\": \"\", \"join_address\": \"test-join@example.org\", \"default_member_action\": \"defer\", \"allow_list_posts\": true, \"collapse_alternatives\": true, \"created_at\": \"2015-02-08T08:42:22.739054\", \"autoresponse_owner_text\": \"\", \"no_reply_address\": \"noreply@example.org\", \"filter_content\": false, \"owner_address\": \"test-owner@example.org\", \"post_id\": 1, \"administrivia\": true, \"posting_address\": \"test@example.org\", \"last_post_at\": null, \"request_address\": \"test-request@example.org\", \"display_name\": \"Test\", \"autoresponse_grace_period\": \"90d\", \"acceptable_aliases\": [], \"admin_notify_mchanges\": false, \"mail_host\": \"example.org\", \"default_nonmember_action\": \"hold\", \"posting_pipeline\": \"default-posting-pipeline\", \"admin_immed_notify\": true, \"welcome_message_uri\": \"mailman:///welcome.txt\", \"autorespond_requests\": \"none\", \"autorespond_postings\": \"none\", \"convert_html_to_plaintext\": false, \"volume\": 1, \"advertised\": true, \"list_name\": \"test\", \"fqdn_listname\": \"test@example.org\", \"reply_to_address\": \"\", \"digest_last_sent_at\": null, \"include_rfc2369_headers\": true, \"leave_address\": \"test-leave@example.org\", \"send_welcome_message\": true, \"web_host\": \"example.org\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/test@example.org/config"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "1593"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"autorespond_owner\": \"none\", \"archive_policy\": \"public\", \"reply_goes_to_list\": \"no_munging\", \"scheme\": \"http\", \"next_digest_number\": 1, \"subject_prefix\": \"[Test] \", \"first_strip_reply_to\": false, \"digest_size_threshold\": 30.0, \"autoresponse_request_text\": \"\", \"http_etag\": \"\\\"b3b8d8ab2977865effd4fa746a2d02522342076e\\\"\", \"bounces_address\": \"test-bounces@example.org\", \"autoresponse_postings_text\": \"\", \"anonymous_list\": false, \"description\": \"\", \"join_address\": \"test-join@example.org\", \"default_member_action\": \"defer\", \"allow_list_posts\": true, \"collapse_alternatives\": true, \"created_at\": \"2015-02-08T08:42:22.739054\", \"autoresponse_owner_text\": \"\", \"no_reply_address\": \"noreply@example.org\", \"filter_content\": false, \"owner_address\": \"test-owner@example.org\", \"post_id\": 1, \"administrivia\": true, \"posting_address\": \"test@example.org\", \"last_post_at\": null, \"request_address\": \"test-request@example.org\", \"display_name\": \"Test\", \"autoresponse_grace_period\": \"90d\", \"acceptable_aliases\": [], \"admin_notify_mchanges\": false, \"mail_host\": \"example.org\", \"default_nonmember_action\": \"hold\", \"posting_pipeline\": \"default-posting-pipeline\", \"admin_immed_notify\": true, \"welcome_message_uri\": \"mailman:///welcome.txt\", \"autorespond_requests\": \"none\", \"autorespond_postings\": \"none\", \"convert_html_to_plaintext\": false, \"volume\": 1, \"advertised\": true, \"list_name\": \"test\", \"fqdn_listname\": \"test@example.org\", \"reply_to_address\": \"\", \"digest_last_sent_at\": null, \"include_rfc2369_headers\": true, \"leave_address\": \"test-leave@example.org\", \"send_welcome_message\": true, \"web_host\": \"example.org\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/test@example.org/config"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "1593"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"autorespond_owner\": \"none\", \"archive_policy\": \"public\", \"reply_goes_to_list\": \"no_munging\", \"scheme\": \"http\", \"next_digest_number\": 1, \"subject_prefix\": \"[Test] \", \"first_strip_reply_to\": false, \"digest_size_threshold\": 30.0, \"autoresponse_request_text\": \"\", \"http_etag\": \"\\\"b3b8d8ab2977865effd4fa746a2d02522342076e\\\"\", \"bounces_address\": \"test-bounces@example.org\", \"autoresponse_postings_text\": \"\", \"anonymous_list\": false, \"description\": \"\", \"join_address\": \"test-join@example.org\", \"default_member_action\": \"defer\", \"allow_list_posts\": true, \"collapse_alternatives\": true, \"created_at\": \"2015-02-08T08:42:22.739054\", \"autoresponse_owner_text\": \"\", \"no_reply_address\": \"noreply@example.org\", \"filter_content\": false, \"owner_address\": \"test-owner@example.org\", \"post_id\": 1, \"administrivia\": true, \"posting_address\": \"test@example.org\", \"last_post_at\": null, \"request_address\": \"test-request@example.org\", \"display_name\": \"Test\", \"autoresponse_grace_period\": \"90d\", \"acceptable_aliases\": [], \"admin_notify_mchanges\": false, \"mail_host\": \"example.org\", \"default_nonmember_action\": \"hold\", \"posting_pipeline\": \"default-posting-pipeline\", \"admin_immed_notify\": true, \"welcome_message_uri\": \"mailman:///welcome.txt\", \"autorespond_requests\": \"none\", \"autorespond_postings\": \"none\", \"convert_html_to_plaintext\": false, \"volume\": 1, \"advertised\": true, \"list_name\": \"test\", \"fqdn_listname\": \"test@example.org\", \"reply_to_address\": \"\", \"digest_last_sent_at\": null, \"include_rfc2369_headers\": true, \"leave_address\": \"test-leave@example.org\", \"send_welcome_message\": true, \"web_host\": \"example.org\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "DELETE",
+ "uri": "http://localhost:9001/3.0/lists/test@example.org"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "DELETE",
+ "uri": "http://localhost:9001/3.0/domains/example.org"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "mail_host=example.org",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/domains/example.org"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.org"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"730f23a7a90aecfe1248f952d15bcfe97ce9e51f\\\"\", \"self_link\": \"http://localhost:9001/3.0/domains/example.org\", \"url_host\": \"example.org\", \"contact_address\": \"postmaster@example.org\", \"mail_host\": \"example.org\", \"base_url\": \"http://example.org\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "fqdn_listname=test%40example.org",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/lists/test.example.org"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/test@example.org"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "299"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"volume\": 1, \"member_count\": 0, \"self_link\": \"http://localhost:9001/3.0/lists/test.example.org\", \"fqdn_listname\": \"test@example.org\", \"mail_host\": \"example.org\", \"list_id\": \"test.example.org\", \"list_name\": \"test\", \"http_etag\": \"\\\"bdbe0068d985e63808436177de1063200d586b0d\\\"\", \"display_name\": \"Test\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/test@example.org"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "299"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"volume\": 1, \"member_count\": 0, \"self_link\": \"http://localhost:9001/3.0/lists/test.example.org\", \"fqdn_listname\": \"test@example.org\", \"mail_host\": \"example.org\", \"list_id\": \"test.example.org\", \"list_name\": \"test\", \"http_etag\": \"\\\"bdbe0068d985e63808436177de1063200d586b0d\\\"\", \"display_name\": \"Test\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "DELETE",
+ "uri": "http://localhost:9001/3.0/lists/test@example.org"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "DELETE",
+ "uri": "http://localhost:9001/3.0/domains/example.org"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Sun, 08 Feb 2015 08:42:23 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/testing/fixtures/vcr_cassettes/test_list_new/list_creation/new_list_created_with_owner.yaml b/testing/fixtures/vcr_cassettes/test_list_new/list_creation/new_list_created_with_owner.yaml
new file mode 100644
index 0000000..487eed3
--- /dev/null
+++ b/testing/fixtures/vcr_cassettes/test_list_new/list_creation/new_list_created_with_owner.yaml
@@ -0,0 +1,462 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "383"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}], \"start\": 0, \"http_etag\": \"\\\"b4ea7109190ac24defea706a8fc8807090dabba4\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "fqdn_listname=a_new_list%40example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/lists/a_new_list.example.com"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/a_new_list.example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "329"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/a_new_list.example.com\", \"fqdn_listname\": \"a_new_list@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"447e005af2b208bfea01f6425b786356f0a374de\\\"\", \"member_count\": 0, \"list_name\": \"a_new_list\", \"display_name\": \"A_new_list\", \"list_id\": \"a_new_list.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "subscriber=owner%40example.com&role=owner&list_id=a_new_list.example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/members"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/members/288493333369309519831004492815866386400"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/a_new_list@example.com/config"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "1653"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"post_id\": 1, \"autoresponse_postings_text\": \"\", \"autorespond_owner\": \"none\", \"administrivia\": true, \"owner_address\": \"a_new_list-owner@example.com\", \"created_at\": \"2015-01-26T08:25:35.458128\", \"admin_notify_mchanges\": false, \"convert_html_to_plaintext\": false, \"admin_immed_notify\": true, \"autoresponse_grace_period\": \"90d\", \"autorespond_requests\": \"none\", \"send_welcome_message\": true, \"scheme\": \"http\", \"first_strip_reply_to\": false, \"display_name\": \"A_new_list\", \"digest_size_threshold\": 30.0, \"acceptable_aliases\": [], \"next_digest_number\": 1, \"leave_address\": \"a_new_list-leave@example.com\", \"web_host\": \"example.com\", \"reply_goes_to_list\": \"no_munging\", \"http_etag\": \"\\\"454b3714f2aaaf4824e756e9f3578d7e44585d6b\\\"\", \"posting_address\": \"a_new_list@example.com\", \"anonymous_list\": false, \"collapse_alternatives\": true, \"join_address\": \"a_new_list-join@example.com\", \"default_nonmember_action\": \"hold\", \"allow_list_posts\": true, \"reply_to_address\": \"\", \"default_member_action\": \"defer\", \"posting_pipeline\": \"default-posting-pipeline\", \"autoresponse_request_text\": \"\", \"include_rfc2369_headers\": true, \"archive_policy\": \"public\", \"no_reply_address\": \"noreply@example.com\", \"request_address\": \"a_new_list-request@example.com\", \"last_post_at\": null, \"subject_prefix\": \"[A_new_list] \", \"advertised\": true, \"volume\": 1, \"fqdn_listname\": \"a_new_list@example.com\", \"filter_content\": false, \"autorespond_postings\": \"none\", \"mail_host\": \"example.com\", \"bounces_address\": \"a_new_list-bounces@example.com\", \"description\": \"\", \"autoresponse_owner_text\": \"\", \"digest_last_sent_at\": null, \"list_name\": \"a_new_list\", \"welcome_message_uri\": \"mailman:///welcome.txt\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "default_nonmember_action=hold&default_member_action=defer&admin_notify_mchanges=False&send_welcome_message=True&allow_list_posts=True&posting_pipeline=default-posting-pipeline&administrivia=True&filter_content=False&autorespond_owner=none&display_name=A_new_list&advertised=True&first_strip_reply_to=False&autoresponse_request_text=&description=A+new+list.&reply_to_address=&autoresponse_owner_text=&subject_prefix=%5BA_new_list%5D+&include_rfc2369_headers=True&convert_html_to_plaintext=False&anonymous_list=False&archive_policy=public&autorespond_postings=none&digest_size_threshold=30.0&autoresponse_grace_period=90d&reply_goes_to_list=no_munging&autorespond_requests=none&welcome_message_uri=mailman%3A%2F%2F%2Fwelcome.txt&admin_immed_notify=True&autoresponse_postings_text=&collapse_alternatives=True",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "PATCH",
+ "uri": "http://localhost:9001/3.0/lists/a_new_list@example.com/config"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/a_new_list@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "329"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/a_new_list.example.com\", \"fqdn_listname\": \"a_new_list@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"447e005af2b208bfea01f6425b786356f0a374de\\\"\", \"member_count\": 0, \"list_name\": \"a_new_list\", \"display_name\": \"A_new_list\", \"list_id\": \"a_new_list.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/a_new_list.example.com/roster/owner"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "519"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"address\": \"http://localhost:9001/3.0/addresses/owner@example.com\", \"role\": \"owner\", \"self_link\": \"http://localhost:9001/3.0/members/288493333369309519831004492815866386400\", \"user\": \"http://localhost:9001/3.0/users/109011471419690310842107289812022048641\", \"email\": \"owner@example.com\", \"list_id\": \"a_new_list.example.com\", \"delivery_mode\": \"regular\", \"http_etag\": \"\\\"3f7ae2b750fa25dbcbd2ece2efeb0e628c5d90f1\\\"\"}], \"start\": 0, \"http_etag\": \"\\\"ec9375eab5a7b4d890c5e3a07c16ca67795207ef\\\"\"}"
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/testing/fixtures/vcr_cassettes/test_list_new/list_creation/setup.yaml b/testing/fixtures/vcr_cassettes/test_list_new/list_creation/setup.yaml
new file mode 100644
index 0000000..0bc46d3
--- /dev/null
+++ b/testing/fixtures/vcr_cassettes/test_list_new/list_creation/setup.yaml
@@ -0,0 +1,175 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": "mail_host=example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "Bad Request",
+ "code": 400
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "13"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "Domain exists"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "mail_host=example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "Bad Request",
+ "code": 400
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "13"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "Domain exists"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/testing/fixtures/vcr_cassettes/test_list_new/list_creation/teardown.yaml b/testing/fixtures/vcr_cassettes/test_list_new/list_creation/teardown.yaml
new file mode 100644
index 0000000..0e536c4
--- /dev/null
+++ b/testing/fixtures/vcr_cassettes/test_list_new/list_creation/teardown.yaml
@@ -0,0 +1,166 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "434"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"self_link\": \"http://localhost:9001/3.0/lists/a_new_list.example.com\", \"fqdn_listname\": \"a_new_list@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"447e005af2b208bfea01f6425b786356f0a374de\\\"\", \"member_count\": 0, \"list_name\": \"a_new_list\", \"display_name\": \"A_new_list\", \"list_id\": \"a_new_list.example.com\"}], \"start\": 0, \"http_etag\": \"\\\"dee96dcb9d3f736cc6fa170baeea8f879d7db6f0\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/a_new_list.example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "329"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/a_new_list.example.com\", \"fqdn_listname\": \"a_new_list@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"447e005af2b208bfea01f6425b786356f0a374de\\\"\", \"member_count\": 0, \"list_name\": \"a_new_list\", \"display_name\": \"A_new_list\", \"list_id\": \"a_new_list.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "DELETE",
+ "uri": "http://localhost:9001/3.0/lists/a_new_list@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/testing/fixtures/vcr_cassettes/test_list_summary/list_summary_page/list_summary_logged_in.yaml b/testing/fixtures/vcr_cassettes/test_list_summary/list_summary_page/list_summary_logged_in.yaml
new file mode 100644
index 0000000..bd70783
--- /dev/null
+++ b/testing/fixtures/vcr_cassettes/test_list_summary/list_summary_page/list_summary_logged_in.yaml
@@ -0,0 +1,210 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/owner"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com/roster/moderator"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com/roster/member"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com/config"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "1583"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"post_id\": 1, \"autoresponse_postings_text\": \"\", \"autorespond_owner\": \"none\", \"administrivia\": true, \"owner_address\": \"foo-owner@example.com\", \"created_at\": \"2015-01-26T08:25:36.029238\", \"admin_notify_mchanges\": false, \"convert_html_to_plaintext\": false, \"admin_immed_notify\": true, \"autoresponse_grace_period\": \"90d\", \"autorespond_requests\": \"none\", \"send_welcome_message\": true, \"scheme\": \"http\", \"first_strip_reply_to\": false, \"display_name\": \"Foo\", \"digest_size_threshold\": 30.0, \"acceptable_aliases\": [], \"next_digest_number\": 1, \"leave_address\": \"foo-leave@example.com\", \"web_host\": \"example.com\", \"reply_goes_to_list\": \"no_munging\", \"http_etag\": \"\\\"7aa5e4f9a81e3368808f8b83173049cd9426274a\\\"\", \"posting_address\": \"foo@example.com\", \"anonymous_list\": false, \"collapse_alternatives\": true, \"join_address\": \"foo-join@example.com\", \"default_nonmember_action\": \"hold\", \"allow_list_posts\": true, \"reply_to_address\": \"\", \"default_member_action\": \"defer\", \"posting_pipeline\": \"default-posting-pipeline\", \"autoresponse_request_text\": \"\", \"include_rfc2369_headers\": true, \"archive_policy\": \"public\", \"no_reply_address\": \"noreply@example.com\", \"request_address\": \"foo-request@example.com\", \"last_post_at\": null, \"subject_prefix\": \"[Foo] \", \"advertised\": true, \"volume\": 1, \"fqdn_listname\": \"foo@example.com\", \"filter_content\": false, \"autorespond_postings\": \"none\", \"mail_host\": \"example.com\", \"bounces_address\": \"foo-bounces@example.com\", \"description\": \"\", \"autoresponse_owner_text\": \"\", \"digest_last_sent_at\": null, \"list_name\": \"foo\", \"welcome_message_uri\": \"mailman:///welcome.txt\"}"
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/testing/fixtures/vcr_cassettes/test_list_summary/list_summary_page/list_summary_logged_out.yaml b/testing/fixtures/vcr_cassettes/test_list_summary/list_summary_page/list_summary_logged_out.yaml
new file mode 100644
index 0000000..92ce707
--- /dev/null
+++ b/testing/fixtures/vcr_cassettes/test_list_summary/list_summary_page/list_summary_logged_out.yaml
@@ -0,0 +1,128 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com/roster/member"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "90"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 0, \"start\": 0, \"http_etag\": \"\\\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com/config"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "1583"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"post_id\": 1, \"autoresponse_postings_text\": \"\", \"autorespond_owner\": \"none\", \"administrivia\": true, \"owner_address\": \"foo-owner@example.com\", \"created_at\": \"2015-01-26T08:25:36.395748\", \"admin_notify_mchanges\": false, \"convert_html_to_plaintext\": false, \"admin_immed_notify\": true, \"autoresponse_grace_period\": \"90d\", \"autorespond_requests\": \"none\", \"send_welcome_message\": true, \"scheme\": \"http\", \"first_strip_reply_to\": false, \"display_name\": \"Foo\", \"digest_size_threshold\": 30.0, \"acceptable_aliases\": [], \"next_digest_number\": 1, \"leave_address\": \"foo-leave@example.com\", \"web_host\": \"example.com\", \"reply_goes_to_list\": \"no_munging\", \"http_etag\": \"\\\"c6fda2d804349f890f788d4251861c499b72f814\\\"\", \"posting_address\": \"foo@example.com\", \"anonymous_list\": false, \"collapse_alternatives\": true, \"join_address\": \"foo-join@example.com\", \"default_nonmember_action\": \"hold\", \"allow_list_posts\": true, \"reply_to_address\": \"\", \"default_member_action\": \"defer\", \"posting_pipeline\": \"default-posting-pipeline\", \"autoresponse_request_text\": \"\", \"include_rfc2369_headers\": true, \"archive_policy\": \"public\", \"no_reply_address\": \"noreply@example.com\", \"request_address\": \"foo-request@example.com\", \"last_post_at\": null, \"subject_prefix\": \"[Foo] \", \"advertised\": true, \"volume\": 1, \"fqdn_listname\": \"foo@example.com\", \"filter_content\": false, \"autorespond_postings\": \"none\", \"mail_host\": \"example.com\", \"bounces_address\": \"foo-bounces@example.com\", \"description\": \"\", \"autoresponse_owner_text\": \"\", \"digest_last_sent_at\": null, \"list_name\": \"foo\", \"welcome_message_uri\": \"mailman:///welcome.txt\"}"
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/testing/fixtures/vcr_cassettes/test_list_summary/list_summary_page/setup.yaml b/testing/fixtures/vcr_cassettes/test_list_summary/list_summary_page/setup.yaml
new file mode 100644
index 0000000..6f1c0c8
--- /dev/null
+++ b/testing/fixtures/vcr_cassettes/test_list_summary/list_summary_page/setup.yaml
@@ -0,0 +1,345 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": "mail_host=example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "Bad Request",
+ "code": 400
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:35 GMT"
+ ],
+ "content-length": [
+ "13"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "Domain exists"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "fqdn_listname=foo%40example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/lists/foo.example.com"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "mail_host=example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/domains"
+ },
+ "response": {
+ "status": {
+ "message": "Bad Request",
+ "code": 400
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "13"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "Domain exists"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/domains/example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "278"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"http_etag\": \"\\\"40f27b0d07b71e91cc08047b8171e2b0bb1d5967\\\"\", \"base_url\": \"http://example.com\", \"contact_address\": \"postmaster@example.com\", \"url_host\": \"example.com\", \"mail_host\": \"example.com\", \"self_link\": \"http://localhost:9001/3.0/domains/example.com\", \"description\": null}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": "fqdn_listname=foo%40example.com",
+ "headers": {
+ "content-type": [
+ "application/x-www-form-urlencoded"
+ ],
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "POST",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "Created",
+ "code": 201
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "location": [
+ "http://localhost:9001/3.0/lists/foo.example.com"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/testing/fixtures/vcr_cassettes/test_list_summary/list_summary_page/teardown.yaml b/testing/fixtures/vcr_cassettes/test_list_summary/list_summary_page/teardown.yaml
new file mode 100644
index 0000000..6087668
--- /dev/null
+++ b/testing/fixtures/vcr_cassettes/test_list_summary/list_summary_page/teardown.yaml
@@ -0,0 +1,245 @@
+{
+ "version": 1,
+ "interactions": [
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "399"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}], \"start\": 0, \"http_etag\": \"\\\"0eb6d0b88c89b5c491b7966eab97a79e221096ad\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "DELETE",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "399"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"total_size\": 1, \"entries\": [{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}], \"start\": 0, \"http_etag\": \"\\\"0eb6d0b88c89b5c491b7966eab97a79e221096ad\\\"\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "GET",
+ "uri": "http://localhost:9001/3.0/lists/foo.example.com"
+ },
+ "response": {
+ "status": {
+ "message": "OK",
+ "code": 200
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "294"
+ ],
+ "content-type": [
+ "application/json; charset=utf-8"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": "{\"self_link\": \"http://localhost:9001/3.0/lists/foo.example.com\", \"fqdn_listname\": \"foo@example.com\", \"volume\": 1, \"mail_host\": \"example.com\", \"http_etag\": \"\\\"698a819bbb6b902096a8c5543cc7fac2328960d5\\\"\", \"member_count\": 0, \"list_name\": \"foo\", \"display_name\": \"Foo\", \"list_id\": \"foo.example.com\"}"
+ }
+ }
+ },
+ {
+ "request": {
+ "body": null,
+ "headers": {
+ "accept-encoding": [
+ "gzip, deflate"
+ ],
+ "authorization": [
+ "Basic cmVzdGFkbWluOnJlc3RwYXNz"
+ ],
+ "user-agent": [
+ "GNU Mailman REST client v1.0.0b1"
+ ]
+ },
+ "method": "DELETE",
+ "uri": "http://localhost:9001/3.0/lists/foo@example.com"
+ },
+ "response": {
+ "status": {
+ "message": "No Content",
+ "code": 204
+ },
+ "headers": {
+ "date": [
+ "Mon, 26 Jan 2015 08:25:36 GMT"
+ ],
+ "content-length": [
+ "0"
+ ],
+ "server": [
+ "WSGIServer/0.2 CPython/3.4.2"
+ ]
+ },
+ "body": {
+ "string": ""
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/testing/test_settings.py b/testing/test_settings.py
new file mode 100755
index 0000000..08f84a0
--- /dev/null
+++ b/testing/test_settings.py
@@ -0,0 +1,162 @@
+#-*- coding: utf-8 -*-
+# Copyright (C) 1998-2012 by the Free Software Foundation, Inc.
+#
+# This file is part of Postorius.
+#
+# Postorius 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.
+#
+# Postorius 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
+# Postorius. If not, see .
+
+import os
+import sys
+
+"""Django settings for postorius project."""
+
+import os.path
+
+# Mailman API credentials for testing
+MAILMAN_API_URL = 'http://localhost:9001'
+MAILMAN_USER = 'restadmin'
+MAILMAN_PASS = 'restpass'
+
+PROJECT_PATH = os.path.abspath(os.path.dirname(__file__))
+
+DEBUG = True
+TEMPLATE_DEBUG = DEBUG
+ALLOWED_HOSTS = ('localhost', )
+
+ADMINS = (
+ #('Admin', 'webmaster@example.com'),
+)
+
+MANAGERS = ADMINS
+
+DATABASES = {
+ 'default': {
+ 'ENGINE': 'django.db.backends.sqlite3',
+ 'NAME': os.path.join(PROJECT_PATH,'postorius.db')
+ }
+}
+
+# Local time zone for this installation. Choices can be found here:
+# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
+# although not all choices may be available on all operating systems.
+# If running in a Windows environment this must be set to the same as your
+# system time zone.
+TIME_ZONE = 'America/Chicago'
+
+# Language code for this installation. All choices can be found here:
+# http://www.i18nguy.com/unicode/language-identifiers.html
+LANGUAGE_CODE = 'en-us'
+
+SITE_ID = 1
+
+# If you set this to False, Django will make some optimizations so as not
+# to load the internationalization machinery.
+USE_I18N = True
+
+# Absolute path to the directory that holds static files.
+STATIC_ROOT = os.path.join(PROJECT_PATH, 'static/')
+# Absolute path to the directory that holds media files.
+MEDIA_ROOT = os.path.join(PROJECT_PATH, 'media/')
+# URL that handles the media served from STATIC_ROOT. Make sure to use a
+STATIC_URL = '/static/'
+# URL that handles the media served from MEDIA_ROOT. Make sure to use a
+MEDIA_URL = '/media/'
+
+# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
+# trailing slash.
+# Examples: "http://foo.com/media/", "/media/".
+ADMIN_MEDIA_PREFIX = '/static/admin/'
+
+# Make this unique, and don't share it with anybody.
+SECRET_KEY = '$!-7^wl#wiifjbh)5@f7ji%x!vp7s1vzbvwt26hxv$idixq0u0'
+
+# List of callables that know how to import templates from various sources.
+TEMPLATE_LOADERS = (
+ 'django.template.loaders.filesystem.Loader',
+ 'django.template.loaders.app_directories.Loader',
+)
+
+AUTHENTICATION_BACKENDS = (
+ 'django.contrib.auth.backends.ModelBackend',
+ 'social_auth.backends.OpenIDBackend',
+ 'social_auth.backends.browserid.BrowserIDBackend',
+)
+
+TEMPLATE_CONTEXT_PROCESSORS = (
+ "django.contrib.auth.context_processors.auth",
+ "django.contrib.messages.context_processors.messages",
+ "django.core.context_processors.debug",
+ "django.core.context_processors.i18n",
+ "django.core.context_processors.media",
+ "django.core.context_processors.static",
+ "django.core.context_processors.csrf",
+ "django.contrib.messages.context_processors.messages",
+ "postorius.context_processors.postorius",
+ 'social_auth.context_processors.social_auth_by_name_backends',
+ 'social_auth.context_processors.social_auth_backends',
+ 'social_auth.context_processors.social_auth_by_type_backends',
+)
+
+MIDDLEWARE_CLASSES = (
+ 'django.middleware.common.CommonMiddleware',
+ 'django.middleware.csrf.CsrfViewMiddleware',
+ 'django.contrib.sessions.middleware.SessionMiddleware',
+ 'django.middleware.locale.LocaleMiddleware',
+ 'django.contrib.auth.middleware.AuthenticationMiddleware',
+ 'django.contrib.messages.middleware.MessageMiddleware',
+ #'debug_toolbar.middleware.DebugToolbarMiddleware',
+)
+
+# Set `postorius.urls` as main url config if postorius
+# is the only app you want to serve.
+ROOT_URLCONF = 'postorius.urls'
+
+TEMPLATE_DIRS = (
+ # uncomment if you like to overwrite the default templates:
+ # os.path.join(PROJECT_PATH, "/templates/postorius"),
+)
+
+STATICFILES_FINDERS = (
+ "django.contrib.staticfiles.finders.FileSystemFinder",
+ "django.contrib.staticfiles.finders.AppDirectoriesFinder",
+)
+
+INSTALLED_APPS = (
+ 'django.contrib.auth',
+ 'django.contrib.messages',
+ 'django.contrib.contenttypes',
+ 'django.contrib.sessions',
+ 'django.contrib.sites',
+ 'django.contrib.admin',
+ 'django.contrib.staticfiles',
+ 'postorius',
+ 'social_auth',
+ # These are only used for development
+ # 'debug_toolbar',
+)
+LOGIN_URL = '/postorius/accounts/login/'
+LOGIN_REDIRECT_URL = '/postorius/'
+LOGIN_ERROR_URL = '/postorius/accounts/login/'
+
+TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
+NOSE_ARGS = [
+ '--with-coverage',
+ '--cover-package=postorius',
+ '--cover-erase',
+ '--cover-html',
+]
+
+# Set VCR_RECORD_MODE to 'all' to re-record all API responses.
+# (Remember to use an empty mailman database!)
+# VCR_RECORD_MODE = 'all'
diff --git a/tox.ini b/tox.ini
new file mode 100644
index 0000000..c73445f
--- /dev/null
+++ b/tox.ini
@@ -0,0 +1,23 @@
+[tox]
+envlist = py27-django{1.5,1.6,1.7}
+
+[testenv]
+usedevelop = True
+commands = django-admin.py test postorius --settings=testing.test_settings
+setenv =
+ PYTHONPATH = {toxinidir}
+
+[testenv:py27-django1.5]
+deps =
+ -rdev-requirements.txt
+ Django<1.6
+
+[testenv:py27-django1.6]
+deps =
+ -rdev-requirements.txt
+ Django<1.7
+
+[testenv:py27-django1.7]
+deps =
+ -rdev-requirements.txt
+ Django==1.7