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