diff --git a/src/postorius/tests/fixtures/vcr_cassettes/list_settings.yaml b/src/postorius/tests/fixtures/vcr_cassettes/list_settings.yaml
new file mode 100644
index 0000000..946d322
--- /dev/null
+++ b/src/postorius/tests/fixtures/vcr_cassettes/list_settings.yaml
@@ -0,0 +1,106 @@
+interactions:
+- request:
+ body: mail_host=example.com
+ headers:
+ accept-encoding: ['gzip, deflate']
+ !!python/unicode content-type: [!!python/unicode application/x-www-form-urlencoded]
+ method: !!python/unicode POST
+ uri: http://localhost:9001/3.0/domains
+ response:
+ body: {string: !!python/unicode ''}
+ headers:
+ content-length: ['0']
+ location: ['http://localhost:9001/3.0/domains/example.com']
+ status: {code: 201, message: Created}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/domains/example.com
+ response:
+ body: {string: !!python/unicode '{"base_url": "http://example.com", "description":
+ null, "http_etag": "\"e736411818ff1815ca83575e0958c38c5188f0a4\"", "mail_host":
+ "example.com", "self_link": "http://localhost:9001/3.0/domains/example.com",
+ "url_host": "example.com"}'}
+ headers:
+ content-length: ['233']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: fqdn_listname=foo%40example.com
+ headers:
+ accept-encoding: ['gzip, deflate']
+ !!python/unicode content-type: [!!python/unicode application/x-www-form-urlencoded]
+ method: !!python/unicode POST
+ uri: http://localhost:9001/3.0/lists
+ response:
+ body: {string: !!python/unicode ''}
+ headers:
+ content-length: ['0']
+ location: ['http://localhost:9001/3.0/lists/foo.example.com']
+ status: {code: 201, message: Created}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: list_id=foo.example.com&role=owner&subscriber=owner%40example.com
+ headers:
+ accept-encoding: ['gzip, deflate']
+ !!python/unicode content-type: [!!python/unicode application/x-www-form-urlencoded]
+ method: !!python/unicode POST
+ uri: http://localhost:9001/3.0/members
+ response:
+ body: {string: !!python/unicode ''}
+ headers:
+ content-length: ['0']
+ location: ['http://localhost:9001/3.0/members/1']
+ status: {code: 201, message: Created}
+- request:
+ body: list_id=foo.example.com&role=moderator&subscriber=moderator%40example.com
+ headers:
+ accept-encoding: ['gzip, deflate']
+ !!python/unicode content-type: [!!python/unicode application/x-www-form-urlencoded]
+ method: !!python/unicode POST
+ uri: http://localhost:9001/3.0/members
+ response:
+ body: {string: !!python/unicode ''}
+ headers:
+ content-length: ['0']
+ location: ['http://localhost:9001/3.0/members/2']
+ status: {code: 201, message: Created}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode DELETE
+ uri: http://localhost:9001/3.0/lists/foo@example.com
+ response:
+ body: {string: !!python/unicode ''}
+ headers:
+ content-length: ['0']
+ status: {code: 204, message: No Content}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode DELETE
+ uri: http://localhost:9001/3.0/domains/example.com
+ response:
+ body: {string: !!python/unicode ''}
+ headers:
+ content-length: ['0']
+ status: {code: 204, message: No Content}
+version: 1
diff --git a/src/postorius/tests/fixtures/vcr_cassettes/list_settings_access.yaml b/src/postorius/tests/fixtures/vcr_cassettes/list_settings_access.yaml
new file mode 100644
index 0000000..e213d9d
--- /dev/null
+++ b/src/postorius/tests/fixtures/vcr_cassettes/list_settings_access.yaml
@@ -0,0 +1,2221 @@
+interactions:
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/moderator@example.com
+ response:
+ body: {string: !!python/unicode '{"created_on": "2005-08-01T07:49:23", "http_etag":
+ "\"b36f8ca1d91d583901c768dc116815282d469c66\"", "is_server_owner": false,
+ "self_link": "http://localhost:9001/3.0/users/2", "user_id": 2}'}
+ headers:
+ content-length: ['188']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/2/addresses
+ response:
+ body: {string: !!python/unicode '{"entries": [{"email": "moderator@example.com",
+ "http_etag": "\"d66892925a5affe7cea14d53f0bca01231ca8678\"", "original_email":
+ "moderator@example.com", "registered_on": "2005-08-01T07:49:23", "self_link":
+ "http://localhost:9001/3.0/addresses/moderator@example.com", "user": "http://localhost:9001/3.0/users/2"}],
+ "http_etag": "\"0811f8b56d843ad04a8d71ed461ea6f9dafebdb4\"", "start": 0, "total_size":
+ 1}'}
+ headers:
+ content-length: ['402']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/owner
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/owner@example.com",
+ "delivery_mode": "regular", "email": "owner@example.com", "http_etag": "\"aae1006e53c7a99725e6412f9f177c110bb49a8a\"",
+ "list_id": "foo.example.com", "member_id": 3, "moderation_action": "accept",
+ "role": "owner", "self_link": "http://localhost:9001/3.0/members/3", "user":
+ "http://localhost:9001/3.0/users/1"}], "http_etag": "\"abb0989ac0841263d6c94b6411fbae7ebc77ed0f\"",
+ "start": 0, "total_size": 1}'}
+ headers:
+ content-length: ['483']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/moderator
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/moderator@example.com",
+ "delivery_mode": "regular", "email": "moderator@example.com", "http_etag":
+ "\"332c57e9fc51bdfd6e386a2328ac61b79b406fcc\"", "list_id": "foo.example.com",
+ "member_id": 4, "moderation_action": "accept", "role": "moderator", "self_link":
+ "http://localhost:9001/3.0/members/4", "user": "http://localhost:9001/3.0/users/2"}],
+ "http_etag": "\"2bdd6d1b84348a9792719ea887d11f7d164a1ce8\"", "start": 0, "total_size":
+ 1}'}
+ headers:
+ content-length: ['495']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/moderator@example.com
+ response:
+ body: {string: !!python/unicode '{"created_on": "2005-08-01T07:49:23", "http_etag":
+ "\"b36f8ca1d91d583901c768dc116815282d469c66\"", "is_server_owner": false,
+ "self_link": "http://localhost:9001/3.0/users/2", "user_id": 2}'}
+ headers:
+ content-length: ['188']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/2/addresses
+ response:
+ body: {string: !!python/unicode '{"entries": [{"email": "moderator@example.com",
+ "http_etag": "\"d66892925a5affe7cea14d53f0bca01231ca8678\"", "original_email":
+ "moderator@example.com", "registered_on": "2005-08-01T07:49:23", "self_link":
+ "http://localhost:9001/3.0/addresses/moderator@example.com", "user": "http://localhost:9001/3.0/users/2"}],
+ "http_etag": "\"0811f8b56d843ad04a8d71ed461ea6f9dafebdb4\"", "start": 0, "total_size":
+ 1}'}
+ headers:
+ content-length: ['402']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/owner
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/owner@example.com",
+ "delivery_mode": "regular", "email": "owner@example.com", "http_etag": "\"aae1006e53c7a99725e6412f9f177c110bb49a8a\"",
+ "list_id": "foo.example.com", "member_id": 3, "moderation_action": "accept",
+ "role": "owner", "self_link": "http://localhost:9001/3.0/members/3", "user":
+ "http://localhost:9001/3.0/users/1"}], "http_etag": "\"abb0989ac0841263d6c94b6411fbae7ebc77ed0f\"",
+ "start": 0, "total_size": 1}'}
+ headers:
+ content-length: ['483']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/moderator
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/moderator@example.com",
+ "delivery_mode": "regular", "email": "moderator@example.com", "http_etag":
+ "\"332c57e9fc51bdfd6e386a2328ac61b79b406fcc\"", "list_id": "foo.example.com",
+ "member_id": 4, "moderation_action": "accept", "role": "moderator", "self_link":
+ "http://localhost:9001/3.0/members/4", "user": "http://localhost:9001/3.0/users/2"}],
+ "http_etag": "\"2bdd6d1b84348a9792719ea887d11f7d164a1ce8\"", "start": 0, "total_size":
+ 1}'}
+ headers:
+ content-length: ['495']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/moderator@example.com
+ response:
+ body: {string: !!python/unicode '{"created_on": "2005-08-01T07:49:23", "http_etag":
+ "\"b36f8ca1d91d583901c768dc116815282d469c66\"", "is_server_owner": false,
+ "self_link": "http://localhost:9001/3.0/users/2", "user_id": 2}'}
+ headers:
+ content-length: ['188']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/2/addresses
+ response:
+ body: {string: !!python/unicode '{"entries": [{"email": "moderator@example.com",
+ "http_etag": "\"d66892925a5affe7cea14d53f0bca01231ca8678\"", "original_email":
+ "moderator@example.com", "registered_on": "2005-08-01T07:49:23", "self_link":
+ "http://localhost:9001/3.0/addresses/moderator@example.com", "user": "http://localhost:9001/3.0/users/2"}],
+ "http_etag": "\"0811f8b56d843ad04a8d71ed461ea6f9dafebdb4\"", "start": 0, "total_size":
+ 1}'}
+ headers:
+ content-length: ['402']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/owner
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/owner@example.com",
+ "delivery_mode": "regular", "email": "owner@example.com", "http_etag": "\"aae1006e53c7a99725e6412f9f177c110bb49a8a\"",
+ "list_id": "foo.example.com", "member_id": 3, "moderation_action": "accept",
+ "role": "owner", "self_link": "http://localhost:9001/3.0/members/3", "user":
+ "http://localhost:9001/3.0/users/1"}], "http_etag": "\"abb0989ac0841263d6c94b6411fbae7ebc77ed0f\"",
+ "start": 0, "total_size": 1}'}
+ headers:
+ content-length: ['483']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/moderator
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/moderator@example.com",
+ "delivery_mode": "regular", "email": "moderator@example.com", "http_etag":
+ "\"332c57e9fc51bdfd6e386a2328ac61b79b406fcc\"", "list_id": "foo.example.com",
+ "member_id": 4, "moderation_action": "accept", "role": "moderator", "self_link":
+ "http://localhost:9001/3.0/members/4", "user": "http://localhost:9001/3.0/users/2"}],
+ "http_etag": "\"2bdd6d1b84348a9792719ea887d11f7d164a1ce8\"", "start": 0, "total_size":
+ 1}'}
+ headers:
+ content-length: ['495']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/moderator@example.com
+ response:
+ body: {string: !!python/unicode '{"created_on": "2005-08-01T07:49:23", "http_etag":
+ "\"b36f8ca1d91d583901c768dc116815282d469c66\"", "is_server_owner": false,
+ "self_link": "http://localhost:9001/3.0/users/2", "user_id": 2}'}
+ headers:
+ content-length: ['188']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/2/addresses
+ response:
+ body: {string: !!python/unicode '{"entries": [{"email": "moderator@example.com",
+ "http_etag": "\"d66892925a5affe7cea14d53f0bca01231ca8678\"", "original_email":
+ "moderator@example.com", "registered_on": "2005-08-01T07:49:23", "self_link":
+ "http://localhost:9001/3.0/addresses/moderator@example.com", "user": "http://localhost:9001/3.0/users/2"}],
+ "http_etag": "\"0811f8b56d843ad04a8d71ed461ea6f9dafebdb4\"", "start": 0, "total_size":
+ 1}'}
+ headers:
+ content-length: ['402']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/owner
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/owner@example.com",
+ "delivery_mode": "regular", "email": "owner@example.com", "http_etag": "\"aae1006e53c7a99725e6412f9f177c110bb49a8a\"",
+ "list_id": "foo.example.com", "member_id": 3, "moderation_action": "accept",
+ "role": "owner", "self_link": "http://localhost:9001/3.0/members/3", "user":
+ "http://localhost:9001/3.0/users/1"}], "http_etag": "\"abb0989ac0841263d6c94b6411fbae7ebc77ed0f\"",
+ "start": 0, "total_size": 1}'}
+ headers:
+ content-length: ['483']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/moderator
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/moderator@example.com",
+ "delivery_mode": "regular", "email": "moderator@example.com", "http_etag":
+ "\"332c57e9fc51bdfd6e386a2328ac61b79b406fcc\"", "list_id": "foo.example.com",
+ "member_id": 4, "moderation_action": "accept", "role": "moderator", "self_link":
+ "http://localhost:9001/3.0/members/4", "user": "http://localhost:9001/3.0/users/2"}],
+ "http_etag": "\"2bdd6d1b84348a9792719ea887d11f7d164a1ce8\"", "start": 0, "total_size":
+ 1}'}
+ headers:
+ content-length: ['495']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/moderator@example.com
+ response:
+ body: {string: !!python/unicode '{"created_on": "2005-08-01T07:49:23", "http_etag":
+ "\"b36f8ca1d91d583901c768dc116815282d469c66\"", "is_server_owner": false,
+ "self_link": "http://localhost:9001/3.0/users/2", "user_id": 2}'}
+ headers:
+ content-length: ['188']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/2/addresses
+ response:
+ body: {string: !!python/unicode '{"entries": [{"email": "moderator@example.com",
+ "http_etag": "\"d66892925a5affe7cea14d53f0bca01231ca8678\"", "original_email":
+ "moderator@example.com", "registered_on": "2005-08-01T07:49:23", "self_link":
+ "http://localhost:9001/3.0/addresses/moderator@example.com", "user": "http://localhost:9001/3.0/users/2"}],
+ "http_etag": "\"0811f8b56d843ad04a8d71ed461ea6f9dafebdb4\"", "start": 0, "total_size":
+ 1}'}
+ headers:
+ content-length: ['402']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/owner
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/owner@example.com",
+ "delivery_mode": "regular", "email": "owner@example.com", "http_etag": "\"aae1006e53c7a99725e6412f9f177c110bb49a8a\"",
+ "list_id": "foo.example.com", "member_id": 3, "moderation_action": "accept",
+ "role": "owner", "self_link": "http://localhost:9001/3.0/members/3", "user":
+ "http://localhost:9001/3.0/users/1"}], "http_etag": "\"abb0989ac0841263d6c94b6411fbae7ebc77ed0f\"",
+ "start": 0, "total_size": 1}'}
+ headers:
+ content-length: ['483']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/moderator
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/moderator@example.com",
+ "delivery_mode": "regular", "email": "moderator@example.com", "http_etag":
+ "\"332c57e9fc51bdfd6e386a2328ac61b79b406fcc\"", "list_id": "foo.example.com",
+ "member_id": 4, "moderation_action": "accept", "role": "moderator", "self_link":
+ "http://localhost:9001/3.0/members/4", "user": "http://localhost:9001/3.0/users/2"}],
+ "http_etag": "\"2bdd6d1b84348a9792719ea887d11f7d164a1ce8\"", "start": 0, "total_size":
+ 1}'}
+ headers:
+ content-length: ['495']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/moderator@example.com
+ response:
+ body: {string: !!python/unicode '{"created_on": "2005-08-01T07:49:23", "http_etag":
+ "\"b36f8ca1d91d583901c768dc116815282d469c66\"", "is_server_owner": false,
+ "self_link": "http://localhost:9001/3.0/users/2", "user_id": 2}'}
+ headers:
+ content-length: ['188']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/2/addresses
+ response:
+ body: {string: !!python/unicode '{"entries": [{"email": "moderator@example.com",
+ "http_etag": "\"d66892925a5affe7cea14d53f0bca01231ca8678\"", "original_email":
+ "moderator@example.com", "registered_on": "2005-08-01T07:49:23", "self_link":
+ "http://localhost:9001/3.0/addresses/moderator@example.com", "user": "http://localhost:9001/3.0/users/2"}],
+ "http_etag": "\"0811f8b56d843ad04a8d71ed461ea6f9dafebdb4\"", "start": 0, "total_size":
+ 1}'}
+ headers:
+ content-length: ['402']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/owner
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/owner@example.com",
+ "delivery_mode": "regular", "email": "owner@example.com", "http_etag": "\"aae1006e53c7a99725e6412f9f177c110bb49a8a\"",
+ "list_id": "foo.example.com", "member_id": 3, "moderation_action": "accept",
+ "role": "owner", "self_link": "http://localhost:9001/3.0/members/3", "user":
+ "http://localhost:9001/3.0/users/1"}], "http_etag": "\"abb0989ac0841263d6c94b6411fbae7ebc77ed0f\"",
+ "start": 0, "total_size": 1}'}
+ headers:
+ content-length: ['483']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/moderator
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/moderator@example.com",
+ "delivery_mode": "regular", "email": "moderator@example.com", "http_etag":
+ "\"332c57e9fc51bdfd6e386a2328ac61b79b406fcc\"", "list_id": "foo.example.com",
+ "member_id": 4, "moderation_action": "accept", "role": "moderator", "self_link":
+ "http://localhost:9001/3.0/members/4", "user": "http://localhost:9001/3.0/users/2"}],
+ "http_etag": "\"2bdd6d1b84348a9792719ea887d11f7d164a1ce8\"", "start": 0, "total_size":
+ 1}'}
+ headers:
+ content-length: ['495']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/moderator@example.com
+ response:
+ body: {string: !!python/unicode '{"created_on": "2005-08-01T07:49:23", "http_etag":
+ "\"b36f8ca1d91d583901c768dc116815282d469c66\"", "is_server_owner": false,
+ "self_link": "http://localhost:9001/3.0/users/2", "user_id": 2}'}
+ headers:
+ content-length: ['188']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/2/addresses
+ response:
+ body: {string: !!python/unicode '{"entries": [{"email": "moderator@example.com",
+ "http_etag": "\"d66892925a5affe7cea14d53f0bca01231ca8678\"", "original_email":
+ "moderator@example.com", "registered_on": "2005-08-01T07:49:23", "self_link":
+ "http://localhost:9001/3.0/addresses/moderator@example.com", "user": "http://localhost:9001/3.0/users/2"}],
+ "http_etag": "\"0811f8b56d843ad04a8d71ed461ea6f9dafebdb4\"", "start": 0, "total_size":
+ 1}'}
+ headers:
+ content-length: ['402']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/owner
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/owner@example.com",
+ "delivery_mode": "regular", "email": "owner@example.com", "http_etag": "\"aae1006e53c7a99725e6412f9f177c110bb49a8a\"",
+ "list_id": "foo.example.com", "member_id": 3, "moderation_action": "accept",
+ "role": "owner", "self_link": "http://localhost:9001/3.0/members/3", "user":
+ "http://localhost:9001/3.0/users/1"}], "http_etag": "\"abb0989ac0841263d6c94b6411fbae7ebc77ed0f\"",
+ "start": 0, "total_size": 1}'}
+ headers:
+ content-length: ['483']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/moderator
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/moderator@example.com",
+ "delivery_mode": "regular", "email": "moderator@example.com", "http_etag":
+ "\"332c57e9fc51bdfd6e386a2328ac61b79b406fcc\"", "list_id": "foo.example.com",
+ "member_id": 4, "moderation_action": "accept", "role": "moderator", "self_link":
+ "http://localhost:9001/3.0/members/4", "user": "http://localhost:9001/3.0/users/2"}],
+ "http_etag": "\"2bdd6d1b84348a9792719ea887d11f7d164a1ce8\"", "start": 0, "total_size":
+ 1}'}
+ headers:
+ content-length: ['495']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/owner@example.com
+ response:
+ body: {string: !!python/unicode '{"created_on": "2005-08-01T07:49:23", "http_etag":
+ "\"eb591d9720aa0ac944b49315b6af1c950410b54c\"", "is_server_owner": false,
+ "self_link": "http://localhost:9001/3.0/users/1", "user_id": 1}'}
+ headers:
+ content-length: ['188']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/1/addresses
+ response:
+ body: {string: !!python/unicode '{"entries": [{"email": "owner@example.com", "http_etag":
+ "\"e6d67c65e782700ec282030cc1f46675567d0491\"", "original_email": "owner@example.com",
+ "registered_on": "2005-08-01T07:49:23", "self_link": "http://localhost:9001/3.0/addresses/owner@example.com",
+ "user": "http://localhost:9001/3.0/users/1"}], "http_etag": "\"6eed867ab84bd2d6cb9b16eba23e7d3811c782b7\"",
+ "start": 0, "total_size": 1}'}
+ headers:
+ content-length: ['390']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/owner
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/owner@example.com",
+ "delivery_mode": "regular", "email": "owner@example.com", "http_etag": "\"478a0d66aa61c7b2b12a7f6f0b70afc9508277af\"",
+ "list_id": "foo.example.com", "member_id": 5, "moderation_action": "accept",
+ "role": "owner", "self_link": "http://localhost:9001/3.0/members/5", "user":
+ "http://localhost:9001/3.0/users/1"}], "http_etag": "\"6c16bf67eece007e9ffbb20fd9ddc9f0bc7fe607\"",
+ "start": 0, "total_size": 1}'}
+ headers:
+ content-length: ['483']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/moderator
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/moderator@example.com",
+ "delivery_mode": "regular", "email": "moderator@example.com", "http_etag":
+ "\"d3e9131d7037ac5eef200d7804c359c2a56752f1\"", "list_id": "foo.example.com",
+ "member_id": 6, "moderation_action": "accept", "role": "moderator", "self_link":
+ "http://localhost:9001/3.0/members/6", "user": "http://localhost:9001/3.0/users/2"}],
+ "http_etag": "\"37b6661551e430080d161d97f6bc0cc1617a2dc8\"", "start": 0, "total_size":
+ 1}'}
+ headers:
+ content-length: ['495']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo@example.com/config
+ response:
+ body: {string: !!python/unicode '{"acceptable_aliases": [], "admin_immed_notify":
+ true, "admin_notify_mchanges": false, "administrivia": true, "advertised":
+ true, "allow_list_posts": true, "anonymous_list": false, "archive_policy":
+ "public", "autorespond_owner": "none", "autorespond_postings": "none", "autorespond_requests":
+ "none", "autoresponse_grace_period": "90d", "autoresponse_owner_text": "",
+ "autoresponse_postings_text": "", "autoresponse_request_text": "", "bounces_address":
+ "foo-bounces@example.com", "collapse_alternatives": true, "convert_html_to_plaintext":
+ false, "created_at": "2005-08-01T07:49:23", "default_member_action": "defer",
+ "default_nonmember_action": "hold", "description": "", "digest_last_sent_at":
+ null, "digest_send_periodic": true, "digest_size_threshold": 30.0, "digest_volume_frequency":
+ "monthly", "digests_enabled": true, "display_name": "Foo", "filter_content":
+ false, "first_strip_reply_to": false, "fqdn_listname": "foo@example.com",
+ "http_etag": "\"4d90227445fe59860c01275cf1b0633c27f87673\"", "include_rfc2369_headers":
+ true, "join_address": "foo-join@example.com", "last_post_at": null, "leave_address":
+ "foo-leave@example.com", "list_name": "foo", "mail_host": "example.com", "next_digest_number":
+ 1, "no_reply_address": "noreply@example.com", "owner_address": "foo-owner@example.com",
+ "post_id": 1, "posting_address": "foo@example.com", "posting_pipeline": "default-posting-pipeline",
+ "reply_goes_to_list": "no_munging", "reply_to_address": "", "request_address":
+ "foo-request@example.com", "scheme": "http", "send_welcome_message": true,
+ "subject_prefix": "[Foo] ", "subscription_policy": "confirm", "volume": 1,
+ "web_host": "example.com", "welcome_message_uri": "mailman:///welcome.txt"}'}
+ headers:
+ content-length: ['1703']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/owner@example.com
+ response:
+ body: {string: !!python/unicode '{"created_on": "2005-08-01T07:49:23", "http_etag":
+ "\"eb591d9720aa0ac944b49315b6af1c950410b54c\"", "is_server_owner": false,
+ "self_link": "http://localhost:9001/3.0/users/1", "user_id": 1}'}
+ headers:
+ content-length: ['188']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/1/addresses
+ response:
+ body: {string: !!python/unicode '{"entries": [{"email": "owner@example.com", "http_etag":
+ "\"e6d67c65e782700ec282030cc1f46675567d0491\"", "original_email": "owner@example.com",
+ "registered_on": "2005-08-01T07:49:23", "self_link": "http://localhost:9001/3.0/addresses/owner@example.com",
+ "user": "http://localhost:9001/3.0/users/1"}], "http_etag": "\"6eed867ab84bd2d6cb9b16eba23e7d3811c782b7\"",
+ "start": 0, "total_size": 1}'}
+ headers:
+ content-length: ['390']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/owner
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/owner@example.com",
+ "delivery_mode": "regular", "email": "owner@example.com", "http_etag": "\"478a0d66aa61c7b2b12a7f6f0b70afc9508277af\"",
+ "list_id": "foo.example.com", "member_id": 5, "moderation_action": "accept",
+ "role": "owner", "self_link": "http://localhost:9001/3.0/members/5", "user":
+ "http://localhost:9001/3.0/users/1"}], "http_etag": "\"6c16bf67eece007e9ffbb20fd9ddc9f0bc7fe607\"",
+ "start": 0, "total_size": 1}'}
+ headers:
+ content-length: ['483']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/moderator
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/moderator@example.com",
+ "delivery_mode": "regular", "email": "moderator@example.com", "http_etag":
+ "\"d3e9131d7037ac5eef200d7804c359c2a56752f1\"", "list_id": "foo.example.com",
+ "member_id": 6, "moderation_action": "accept", "role": "moderator", "self_link":
+ "http://localhost:9001/3.0/members/6", "user": "http://localhost:9001/3.0/users/2"}],
+ "http_etag": "\"37b6661551e430080d161d97f6bc0cc1617a2dc8\"", "start": 0, "total_size":
+ 1}'}
+ headers:
+ content-length: ['495']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo@example.com/config
+ response:
+ body: {string: !!python/unicode '{"acceptable_aliases": [], "admin_immed_notify":
+ true, "admin_notify_mchanges": false, "administrivia": true, "advertised":
+ true, "allow_list_posts": true, "anonymous_list": false, "archive_policy":
+ "public", "autorespond_owner": "none", "autorespond_postings": "none", "autorespond_requests":
+ "none", "autoresponse_grace_period": "90d", "autoresponse_owner_text": "",
+ "autoresponse_postings_text": "", "autoresponse_request_text": "", "bounces_address":
+ "foo-bounces@example.com", "collapse_alternatives": true, "convert_html_to_plaintext":
+ false, "created_at": "2005-08-01T07:49:23", "default_member_action": "defer",
+ "default_nonmember_action": "hold", "description": "", "digest_last_sent_at":
+ null, "digest_send_periodic": true, "digest_size_threshold": 30.0, "digest_volume_frequency":
+ "monthly", "digests_enabled": true, "display_name": "Foo", "filter_content":
+ false, "first_strip_reply_to": false, "fqdn_listname": "foo@example.com",
+ "http_etag": "\"4d90227445fe59860c01275cf1b0633c27f87673\"", "include_rfc2369_headers":
+ true, "join_address": "foo-join@example.com", "last_post_at": null, "leave_address":
+ "foo-leave@example.com", "list_name": "foo", "mail_host": "example.com", "next_digest_number":
+ 1, "no_reply_address": "noreply@example.com", "owner_address": "foo-owner@example.com",
+ "post_id": 1, "posting_address": "foo@example.com", "posting_pipeline": "default-posting-pipeline",
+ "reply_goes_to_list": "no_munging", "reply_to_address": "", "request_address":
+ "foo-request@example.com", "scheme": "http", "send_welcome_message": true,
+ "subject_prefix": "[Foo] ", "subscription_policy": "confirm", "volume": 1,
+ "web_host": "example.com", "welcome_message_uri": "mailman:///welcome.txt"}'}
+ headers:
+ content-length: ['1703']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/owner@example.com
+ response:
+ body: {string: !!python/unicode '{"created_on": "2005-08-01T07:49:23", "http_etag":
+ "\"eb591d9720aa0ac944b49315b6af1c950410b54c\"", "is_server_owner": false,
+ "self_link": "http://localhost:9001/3.0/users/1", "user_id": 1}'}
+ headers:
+ content-length: ['188']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/1/addresses
+ response:
+ body: {string: !!python/unicode '{"entries": [{"email": "owner@example.com", "http_etag":
+ "\"e6d67c65e782700ec282030cc1f46675567d0491\"", "original_email": "owner@example.com",
+ "registered_on": "2005-08-01T07:49:23", "self_link": "http://localhost:9001/3.0/addresses/owner@example.com",
+ "user": "http://localhost:9001/3.0/users/1"}], "http_etag": "\"6eed867ab84bd2d6cb9b16eba23e7d3811c782b7\"",
+ "start": 0, "total_size": 1}'}
+ headers:
+ content-length: ['390']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/owner
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/owner@example.com",
+ "delivery_mode": "regular", "email": "owner@example.com", "http_etag": "\"478a0d66aa61c7b2b12a7f6f0b70afc9508277af\"",
+ "list_id": "foo.example.com", "member_id": 5, "moderation_action": "accept",
+ "role": "owner", "self_link": "http://localhost:9001/3.0/members/5", "user":
+ "http://localhost:9001/3.0/users/1"}], "http_etag": "\"6c16bf67eece007e9ffbb20fd9ddc9f0bc7fe607\"",
+ "start": 0, "total_size": 1}'}
+ headers:
+ content-length: ['483']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/moderator
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/moderator@example.com",
+ "delivery_mode": "regular", "email": "moderator@example.com", "http_etag":
+ "\"d3e9131d7037ac5eef200d7804c359c2a56752f1\"", "list_id": "foo.example.com",
+ "member_id": 6, "moderation_action": "accept", "role": "moderator", "self_link":
+ "http://localhost:9001/3.0/members/6", "user": "http://localhost:9001/3.0/users/2"}],
+ "http_etag": "\"37b6661551e430080d161d97f6bc0cc1617a2dc8\"", "start": 0, "total_size":
+ 1}'}
+ headers:
+ content-length: ['495']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo@example.com/config
+ response:
+ body: {string: !!python/unicode '{"acceptable_aliases": [], "admin_immed_notify":
+ true, "admin_notify_mchanges": false, "administrivia": true, "advertised":
+ true, "allow_list_posts": true, "anonymous_list": false, "archive_policy":
+ "public", "autorespond_owner": "none", "autorespond_postings": "none", "autorespond_requests":
+ "none", "autoresponse_grace_period": "90d", "autoresponse_owner_text": "",
+ "autoresponse_postings_text": "", "autoresponse_request_text": "", "bounces_address":
+ "foo-bounces@example.com", "collapse_alternatives": true, "convert_html_to_plaintext":
+ false, "created_at": "2005-08-01T07:49:23", "default_member_action": "defer",
+ "default_nonmember_action": "hold", "description": "", "digest_last_sent_at":
+ null, "digest_send_periodic": true, "digest_size_threshold": 30.0, "digest_volume_frequency":
+ "monthly", "digests_enabled": true, "display_name": "Foo", "filter_content":
+ false, "first_strip_reply_to": false, "fqdn_listname": "foo@example.com",
+ "http_etag": "\"4d90227445fe59860c01275cf1b0633c27f87673\"", "include_rfc2369_headers":
+ true, "join_address": "foo-join@example.com", "last_post_at": null, "leave_address":
+ "foo-leave@example.com", "list_name": "foo", "mail_host": "example.com", "next_digest_number":
+ 1, "no_reply_address": "noreply@example.com", "owner_address": "foo-owner@example.com",
+ "post_id": 1, "posting_address": "foo@example.com", "posting_pipeline": "default-posting-pipeline",
+ "reply_goes_to_list": "no_munging", "reply_to_address": "", "request_address":
+ "foo-request@example.com", "scheme": "http", "send_welcome_message": true,
+ "subject_prefix": "[Foo] ", "subscription_policy": "confirm", "volume": 1,
+ "web_host": "example.com", "welcome_message_uri": "mailman:///welcome.txt"}'}
+ headers:
+ content-length: ['1703']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/owner@example.com
+ response:
+ body: {string: !!python/unicode '{"created_on": "2005-08-01T07:49:23", "http_etag":
+ "\"eb591d9720aa0ac944b49315b6af1c950410b54c\"", "is_server_owner": false,
+ "self_link": "http://localhost:9001/3.0/users/1", "user_id": 1}'}
+ headers:
+ content-length: ['188']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/1/addresses
+ response:
+ body: {string: !!python/unicode '{"entries": [{"email": "owner@example.com", "http_etag":
+ "\"e6d67c65e782700ec282030cc1f46675567d0491\"", "original_email": "owner@example.com",
+ "registered_on": "2005-08-01T07:49:23", "self_link": "http://localhost:9001/3.0/addresses/owner@example.com",
+ "user": "http://localhost:9001/3.0/users/1"}], "http_etag": "\"6eed867ab84bd2d6cb9b16eba23e7d3811c782b7\"",
+ "start": 0, "total_size": 1}'}
+ headers:
+ content-length: ['390']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/owner
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/owner@example.com",
+ "delivery_mode": "regular", "email": "owner@example.com", "http_etag": "\"478a0d66aa61c7b2b12a7f6f0b70afc9508277af\"",
+ "list_id": "foo.example.com", "member_id": 5, "moderation_action": "accept",
+ "role": "owner", "self_link": "http://localhost:9001/3.0/members/5", "user":
+ "http://localhost:9001/3.0/users/1"}], "http_etag": "\"6c16bf67eece007e9ffbb20fd9ddc9f0bc7fe607\"",
+ "start": 0, "total_size": 1}'}
+ headers:
+ content-length: ['483']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/moderator
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/moderator@example.com",
+ "delivery_mode": "regular", "email": "moderator@example.com", "http_etag":
+ "\"d3e9131d7037ac5eef200d7804c359c2a56752f1\"", "list_id": "foo.example.com",
+ "member_id": 6, "moderation_action": "accept", "role": "moderator", "self_link":
+ "http://localhost:9001/3.0/members/6", "user": "http://localhost:9001/3.0/users/2"}],
+ "http_etag": "\"37b6661551e430080d161d97f6bc0cc1617a2dc8\"", "start": 0, "total_size":
+ 1}'}
+ headers:
+ content-length: ['495']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo@example.com/config
+ response:
+ body: {string: !!python/unicode '{"acceptable_aliases": [], "admin_immed_notify":
+ true, "admin_notify_mchanges": false, "administrivia": true, "advertised":
+ true, "allow_list_posts": true, "anonymous_list": false, "archive_policy":
+ "public", "autorespond_owner": "none", "autorespond_postings": "none", "autorespond_requests":
+ "none", "autoresponse_grace_period": "90d", "autoresponse_owner_text": "",
+ "autoresponse_postings_text": "", "autoresponse_request_text": "", "bounces_address":
+ "foo-bounces@example.com", "collapse_alternatives": true, "convert_html_to_plaintext":
+ false, "created_at": "2005-08-01T07:49:23", "default_member_action": "defer",
+ "default_nonmember_action": "hold", "description": "", "digest_last_sent_at":
+ null, "digest_send_periodic": true, "digest_size_threshold": 30.0, "digest_volume_frequency":
+ "monthly", "digests_enabled": true, "display_name": "Foo", "filter_content":
+ false, "first_strip_reply_to": false, "fqdn_listname": "foo@example.com",
+ "http_etag": "\"4d90227445fe59860c01275cf1b0633c27f87673\"", "include_rfc2369_headers":
+ true, "join_address": "foo-join@example.com", "last_post_at": null, "leave_address":
+ "foo-leave@example.com", "list_name": "foo", "mail_host": "example.com", "next_digest_number":
+ 1, "no_reply_address": "noreply@example.com", "owner_address": "foo-owner@example.com",
+ "post_id": 1, "posting_address": "foo@example.com", "posting_pipeline": "default-posting-pipeline",
+ "reply_goes_to_list": "no_munging", "reply_to_address": "", "request_address":
+ "foo-request@example.com", "scheme": "http", "send_welcome_message": true,
+ "subject_prefix": "[Foo] ", "subscription_policy": "confirm", "volume": 1,
+ "web_host": "example.com", "welcome_message_uri": "mailman:///welcome.txt"}'}
+ headers:
+ content-length: ['1703']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/owner@example.com
+ response:
+ body: {string: !!python/unicode '{"created_on": "2005-08-01T07:49:23", "http_etag":
+ "\"eb591d9720aa0ac944b49315b6af1c950410b54c\"", "is_server_owner": false,
+ "self_link": "http://localhost:9001/3.0/users/1", "user_id": 1}'}
+ headers:
+ content-length: ['188']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/1/addresses
+ response:
+ body: {string: !!python/unicode '{"entries": [{"email": "owner@example.com", "http_etag":
+ "\"e6d67c65e782700ec282030cc1f46675567d0491\"", "original_email": "owner@example.com",
+ "registered_on": "2005-08-01T07:49:23", "self_link": "http://localhost:9001/3.0/addresses/owner@example.com",
+ "user": "http://localhost:9001/3.0/users/1"}], "http_etag": "\"6eed867ab84bd2d6cb9b16eba23e7d3811c782b7\"",
+ "start": 0, "total_size": 1}'}
+ headers:
+ content-length: ['390']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/owner
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/owner@example.com",
+ "delivery_mode": "regular", "email": "owner@example.com", "http_etag": "\"478a0d66aa61c7b2b12a7f6f0b70afc9508277af\"",
+ "list_id": "foo.example.com", "member_id": 5, "moderation_action": "accept",
+ "role": "owner", "self_link": "http://localhost:9001/3.0/members/5", "user":
+ "http://localhost:9001/3.0/users/1"}], "http_etag": "\"6c16bf67eece007e9ffbb20fd9ddc9f0bc7fe607\"",
+ "start": 0, "total_size": 1}'}
+ headers:
+ content-length: ['483']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/moderator
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/moderator@example.com",
+ "delivery_mode": "regular", "email": "moderator@example.com", "http_etag":
+ "\"d3e9131d7037ac5eef200d7804c359c2a56752f1\"", "list_id": "foo.example.com",
+ "member_id": 6, "moderation_action": "accept", "role": "moderator", "self_link":
+ "http://localhost:9001/3.0/members/6", "user": "http://localhost:9001/3.0/users/2"}],
+ "http_etag": "\"37b6661551e430080d161d97f6bc0cc1617a2dc8\"", "start": 0, "total_size":
+ 1}'}
+ headers:
+ content-length: ['495']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo@example.com/config
+ response:
+ body: {string: !!python/unicode '{"acceptable_aliases": [], "admin_immed_notify":
+ true, "admin_notify_mchanges": false, "administrivia": true, "advertised":
+ true, "allow_list_posts": true, "anonymous_list": false, "archive_policy":
+ "public", "autorespond_owner": "none", "autorespond_postings": "none", "autorespond_requests":
+ "none", "autoresponse_grace_period": "90d", "autoresponse_owner_text": "",
+ "autoresponse_postings_text": "", "autoresponse_request_text": "", "bounces_address":
+ "foo-bounces@example.com", "collapse_alternatives": true, "convert_html_to_plaintext":
+ false, "created_at": "2005-08-01T07:49:23", "default_member_action": "defer",
+ "default_nonmember_action": "hold", "description": "", "digest_last_sent_at":
+ null, "digest_send_periodic": true, "digest_size_threshold": 30.0, "digest_volume_frequency":
+ "monthly", "digests_enabled": true, "display_name": "Foo", "filter_content":
+ false, "first_strip_reply_to": false, "fqdn_listname": "foo@example.com",
+ "http_etag": "\"4d90227445fe59860c01275cf1b0633c27f87673\"", "include_rfc2369_headers":
+ true, "join_address": "foo-join@example.com", "last_post_at": null, "leave_address":
+ "foo-leave@example.com", "list_name": "foo", "mail_host": "example.com", "next_digest_number":
+ 1, "no_reply_address": "noreply@example.com", "owner_address": "foo-owner@example.com",
+ "post_id": 1, "posting_address": "foo@example.com", "posting_pipeline": "default-posting-pipeline",
+ "reply_goes_to_list": "no_munging", "reply_to_address": "", "request_address":
+ "foo-request@example.com", "scheme": "http", "send_welcome_message": true,
+ "subject_prefix": "[Foo] ", "subscription_policy": "confirm", "volume": 1,
+ "web_host": "example.com", "welcome_message_uri": "mailman:///welcome.txt"}'}
+ headers:
+ content-length: ['1703']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/owner@example.com
+ response:
+ body: {string: !!python/unicode '{"created_on": "2005-08-01T07:49:23", "http_etag":
+ "\"eb591d9720aa0ac944b49315b6af1c950410b54c\"", "is_server_owner": false,
+ "self_link": "http://localhost:9001/3.0/users/1", "user_id": 1}'}
+ headers:
+ content-length: ['188']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/1/addresses
+ response:
+ body: {string: !!python/unicode '{"entries": [{"email": "owner@example.com", "http_etag":
+ "\"e6d67c65e782700ec282030cc1f46675567d0491\"", "original_email": "owner@example.com",
+ "registered_on": "2005-08-01T07:49:23", "self_link": "http://localhost:9001/3.0/addresses/owner@example.com",
+ "user": "http://localhost:9001/3.0/users/1"}], "http_etag": "\"6eed867ab84bd2d6cb9b16eba23e7d3811c782b7\"",
+ "start": 0, "total_size": 1}'}
+ headers:
+ content-length: ['390']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/owner
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/owner@example.com",
+ "delivery_mode": "regular", "email": "owner@example.com", "http_etag": "\"478a0d66aa61c7b2b12a7f6f0b70afc9508277af\"",
+ "list_id": "foo.example.com", "member_id": 5, "moderation_action": "accept",
+ "role": "owner", "self_link": "http://localhost:9001/3.0/members/5", "user":
+ "http://localhost:9001/3.0/users/1"}], "http_etag": "\"6c16bf67eece007e9ffbb20fd9ddc9f0bc7fe607\"",
+ "start": 0, "total_size": 1}'}
+ headers:
+ content-length: ['483']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/moderator
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/moderator@example.com",
+ "delivery_mode": "regular", "email": "moderator@example.com", "http_etag":
+ "\"d3e9131d7037ac5eef200d7804c359c2a56752f1\"", "list_id": "foo.example.com",
+ "member_id": 6, "moderation_action": "accept", "role": "moderator", "self_link":
+ "http://localhost:9001/3.0/members/6", "user": "http://localhost:9001/3.0/users/2"}],
+ "http_etag": "\"37b6661551e430080d161d97f6bc0cc1617a2dc8\"", "start": 0, "total_size":
+ 1}'}
+ headers:
+ content-length: ['495']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo@example.com/config
+ response:
+ body: {string: !!python/unicode '{"acceptable_aliases": [], "admin_immed_notify":
+ true, "admin_notify_mchanges": false, "administrivia": true, "advertised":
+ true, "allow_list_posts": true, "anonymous_list": false, "archive_policy":
+ "public", "autorespond_owner": "none", "autorespond_postings": "none", "autorespond_requests":
+ "none", "autoresponse_grace_period": "90d", "autoresponse_owner_text": "",
+ "autoresponse_postings_text": "", "autoresponse_request_text": "", "bounces_address":
+ "foo-bounces@example.com", "collapse_alternatives": true, "convert_html_to_plaintext":
+ false, "created_at": "2005-08-01T07:49:23", "default_member_action": "defer",
+ "default_nonmember_action": "hold", "description": "", "digest_last_sent_at":
+ null, "digest_send_periodic": true, "digest_size_threshold": 30.0, "digest_volume_frequency":
+ "monthly", "digests_enabled": true, "display_name": "Foo", "filter_content":
+ false, "first_strip_reply_to": false, "fqdn_listname": "foo@example.com",
+ "http_etag": "\"4d90227445fe59860c01275cf1b0633c27f87673\"", "include_rfc2369_headers":
+ true, "join_address": "foo-join@example.com", "last_post_at": null, "leave_address":
+ "foo-leave@example.com", "list_name": "foo", "mail_host": "example.com", "next_digest_number":
+ 1, "no_reply_address": "noreply@example.com", "owner_address": "foo-owner@example.com",
+ "post_id": 1, "posting_address": "foo@example.com", "posting_pipeline": "default-posting-pipeline",
+ "reply_goes_to_list": "no_munging", "reply_to_address": "", "request_address":
+ "foo-request@example.com", "scheme": "http", "send_welcome_message": true,
+ "subject_prefix": "[Foo] ", "subscription_policy": "confirm", "volume": 1,
+ "web_host": "example.com", "welcome_message_uri": "mailman:///welcome.txt"}'}
+ headers:
+ content-length: ['1703']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/owner@example.com
+ response:
+ body: {string: !!python/unicode '{"created_on": "2005-08-01T07:49:23", "http_etag":
+ "\"eb591d9720aa0ac944b49315b6af1c950410b54c\"", "is_server_owner": false,
+ "self_link": "http://localhost:9001/3.0/users/1", "user_id": 1}'}
+ headers:
+ content-length: ['188']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/1/addresses
+ response:
+ body: {string: !!python/unicode '{"entries": [{"email": "owner@example.com", "http_etag":
+ "\"e6d67c65e782700ec282030cc1f46675567d0491\"", "original_email": "owner@example.com",
+ "registered_on": "2005-08-01T07:49:23", "self_link": "http://localhost:9001/3.0/addresses/owner@example.com",
+ "user": "http://localhost:9001/3.0/users/1"}], "http_etag": "\"6eed867ab84bd2d6cb9b16eba23e7d3811c782b7\"",
+ "start": 0, "total_size": 1}'}
+ headers:
+ content-length: ['390']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/owner
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/owner@example.com",
+ "delivery_mode": "regular", "email": "owner@example.com", "http_etag": "\"478a0d66aa61c7b2b12a7f6f0b70afc9508277af\"",
+ "list_id": "foo.example.com", "member_id": 5, "moderation_action": "accept",
+ "role": "owner", "self_link": "http://localhost:9001/3.0/members/5", "user":
+ "http://localhost:9001/3.0/users/1"}], "http_etag": "\"6c16bf67eece007e9ffbb20fd9ddc9f0bc7fe607\"",
+ "start": 0, "total_size": 1}'}
+ headers:
+ content-length: ['483']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/moderator
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/moderator@example.com",
+ "delivery_mode": "regular", "email": "moderator@example.com", "http_etag":
+ "\"d3e9131d7037ac5eef200d7804c359c2a56752f1\"", "list_id": "foo.example.com",
+ "member_id": 6, "moderation_action": "accept", "role": "moderator", "self_link":
+ "http://localhost:9001/3.0/members/6", "user": "http://localhost:9001/3.0/users/2"}],
+ "http_etag": "\"37b6661551e430080d161d97f6bc0cc1617a2dc8\"", "start": 0, "total_size":
+ 1}'}
+ headers:
+ content-length: ['495']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo@example.com/config
+ response:
+ body: {string: !!python/unicode '{"acceptable_aliases": [], "admin_immed_notify":
+ true, "admin_notify_mchanges": false, "administrivia": true, "advertised":
+ true, "allow_list_posts": true, "anonymous_list": false, "archive_policy":
+ "public", "autorespond_owner": "none", "autorespond_postings": "none", "autorespond_requests":
+ "none", "autoresponse_grace_period": "90d", "autoresponse_owner_text": "",
+ "autoresponse_postings_text": "", "autoresponse_request_text": "", "bounces_address":
+ "foo-bounces@example.com", "collapse_alternatives": true, "convert_html_to_plaintext":
+ false, "created_at": "2005-08-01T07:49:23", "default_member_action": "defer",
+ "default_nonmember_action": "hold", "description": "", "digest_last_sent_at":
+ null, "digest_send_periodic": true, "digest_size_threshold": 30.0, "digest_volume_frequency":
+ "monthly", "digests_enabled": true, "display_name": "Foo", "filter_content":
+ false, "first_strip_reply_to": false, "fqdn_listname": "foo@example.com",
+ "http_etag": "\"4d90227445fe59860c01275cf1b0633c27f87673\"", "include_rfc2369_headers":
+ true, "join_address": "foo-join@example.com", "last_post_at": null, "leave_address":
+ "foo-leave@example.com", "list_name": "foo", "mail_host": "example.com", "next_digest_number":
+ 1, "no_reply_address": "noreply@example.com", "owner_address": "foo-owner@example.com",
+ "post_id": 1, "posting_address": "foo@example.com", "posting_pipeline": "default-posting-pipeline",
+ "reply_goes_to_list": "no_munging", "reply_to_address": "", "request_address":
+ "foo-request@example.com", "scheme": "http", "send_welcome_message": true,
+ "subject_prefix": "[Foo] ", "subscription_policy": "confirm", "volume": 1,
+ "web_host": "example.com", "welcome_message_uri": "mailman:///welcome.txt"}'}
+ headers:
+ content-length: ['1703']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo@example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo@example.com/config
+ response:
+ body: {string: !!python/unicode '{"acceptable_aliases": [], "admin_immed_notify":
+ true, "admin_notify_mchanges": false, "administrivia": true, "advertised":
+ true, "allow_list_posts": true, "anonymous_list": false, "archive_policy":
+ "public", "autorespond_owner": "none", "autorespond_postings": "none", "autorespond_requests":
+ "none", "autoresponse_grace_period": "90d", "autoresponse_owner_text": "",
+ "autoresponse_postings_text": "", "autoresponse_request_text": "", "bounces_address":
+ "foo-bounces@example.com", "collapse_alternatives": true, "convert_html_to_plaintext":
+ false, "created_at": "2005-08-01T07:49:23", "default_member_action": "defer",
+ "default_nonmember_action": "hold", "description": "", "digest_last_sent_at":
+ null, "digest_send_periodic": true, "digest_size_threshold": 30.0, "digest_volume_frequency":
+ "monthly", "digests_enabled": true, "display_name": "Foo", "filter_content":
+ false, "first_strip_reply_to": false, "fqdn_listname": "foo@example.com",
+ "http_etag": "\"4d90227445fe59860c01275cf1b0633c27f87673\"", "include_rfc2369_headers":
+ true, "join_address": "foo-join@example.com", "last_post_at": null, "leave_address":
+ "foo-leave@example.com", "list_name": "foo", "mail_host": "example.com", "next_digest_number":
+ 1, "no_reply_address": "noreply@example.com", "owner_address": "foo-owner@example.com",
+ "post_id": 1, "posting_address": "foo@example.com", "posting_pipeline": "default-posting-pipeline",
+ "reply_goes_to_list": "no_munging", "reply_to_address": "", "request_address":
+ "foo-request@example.com", "scheme": "http", "send_welcome_message": true,
+ "subject_prefix": "[Foo] ", "subscription_policy": "confirm", "volume": 1,
+ "web_host": "example.com", "welcome_message_uri": "mailman:///welcome.txt"}'}
+ headers:
+ content-length: ['1703']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo@example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo@example.com/config
+ response:
+ body: {string: !!python/unicode '{"acceptable_aliases": [], "admin_immed_notify":
+ true, "admin_notify_mchanges": false, "administrivia": true, "advertised":
+ true, "allow_list_posts": true, "anonymous_list": false, "archive_policy":
+ "public", "autorespond_owner": "none", "autorespond_postings": "none", "autorespond_requests":
+ "none", "autoresponse_grace_period": "90d", "autoresponse_owner_text": "",
+ "autoresponse_postings_text": "", "autoresponse_request_text": "", "bounces_address":
+ "foo-bounces@example.com", "collapse_alternatives": true, "convert_html_to_plaintext":
+ false, "created_at": "2005-08-01T07:49:23", "default_member_action": "defer",
+ "default_nonmember_action": "hold", "description": "", "digest_last_sent_at":
+ null, "digest_send_periodic": true, "digest_size_threshold": 30.0, "digest_volume_frequency":
+ "monthly", "digests_enabled": true, "display_name": "Foo", "filter_content":
+ false, "first_strip_reply_to": false, "fqdn_listname": "foo@example.com",
+ "http_etag": "\"4d90227445fe59860c01275cf1b0633c27f87673\"", "include_rfc2369_headers":
+ true, "join_address": "foo-join@example.com", "last_post_at": null, "leave_address":
+ "foo-leave@example.com", "list_name": "foo", "mail_host": "example.com", "next_digest_number":
+ 1, "no_reply_address": "noreply@example.com", "owner_address": "foo-owner@example.com",
+ "post_id": 1, "posting_address": "foo@example.com", "posting_pipeline": "default-posting-pipeline",
+ "reply_goes_to_list": "no_munging", "reply_to_address": "", "request_address":
+ "foo-request@example.com", "scheme": "http", "send_welcome_message": true,
+ "subject_prefix": "[Foo] ", "subscription_policy": "confirm", "volume": 1,
+ "web_host": "example.com", "welcome_message_uri": "mailman:///welcome.txt"}'}
+ headers:
+ content-length: ['1703']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo@example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo@example.com/config
+ response:
+ body: {string: !!python/unicode '{"acceptable_aliases": [], "admin_immed_notify":
+ true, "admin_notify_mchanges": false, "administrivia": true, "advertised":
+ true, "allow_list_posts": true, "anonymous_list": false, "archive_policy":
+ "public", "autorespond_owner": "none", "autorespond_postings": "none", "autorespond_requests":
+ "none", "autoresponse_grace_period": "90d", "autoresponse_owner_text": "",
+ "autoresponse_postings_text": "", "autoresponse_request_text": "", "bounces_address":
+ "foo-bounces@example.com", "collapse_alternatives": true, "convert_html_to_plaintext":
+ false, "created_at": "2005-08-01T07:49:23", "default_member_action": "defer",
+ "default_nonmember_action": "hold", "description": "", "digest_last_sent_at":
+ null, "digest_send_periodic": true, "digest_size_threshold": 30.0, "digest_volume_frequency":
+ "monthly", "digests_enabled": true, "display_name": "Foo", "filter_content":
+ false, "first_strip_reply_to": false, "fqdn_listname": "foo@example.com",
+ "http_etag": "\"4d90227445fe59860c01275cf1b0633c27f87673\"", "include_rfc2369_headers":
+ true, "join_address": "foo-join@example.com", "last_post_at": null, "leave_address":
+ "foo-leave@example.com", "list_name": "foo", "mail_host": "example.com", "next_digest_number":
+ 1, "no_reply_address": "noreply@example.com", "owner_address": "foo-owner@example.com",
+ "post_id": 1, "posting_address": "foo@example.com", "posting_pipeline": "default-posting-pipeline",
+ "reply_goes_to_list": "no_munging", "reply_to_address": "", "request_address":
+ "foo-request@example.com", "scheme": "http", "send_welcome_message": true,
+ "subject_prefix": "[Foo] ", "subscription_policy": "confirm", "volume": 1,
+ "web_host": "example.com", "welcome_message_uri": "mailman:///welcome.txt"}'}
+ headers:
+ content-length: ['1703']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo@example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo@example.com/config
+ response:
+ body: {string: !!python/unicode '{"acceptable_aliases": [], "admin_immed_notify":
+ true, "admin_notify_mchanges": false, "administrivia": true, "advertised":
+ true, "allow_list_posts": true, "anonymous_list": false, "archive_policy":
+ "public", "autorespond_owner": "none", "autorespond_postings": "none", "autorespond_requests":
+ "none", "autoresponse_grace_period": "90d", "autoresponse_owner_text": "",
+ "autoresponse_postings_text": "", "autoresponse_request_text": "", "bounces_address":
+ "foo-bounces@example.com", "collapse_alternatives": true, "convert_html_to_plaintext":
+ false, "created_at": "2005-08-01T07:49:23", "default_member_action": "defer",
+ "default_nonmember_action": "hold", "description": "", "digest_last_sent_at":
+ null, "digest_send_periodic": true, "digest_size_threshold": 30.0, "digest_volume_frequency":
+ "monthly", "digests_enabled": true, "display_name": "Foo", "filter_content":
+ false, "first_strip_reply_to": false, "fqdn_listname": "foo@example.com",
+ "http_etag": "\"4d90227445fe59860c01275cf1b0633c27f87673\"", "include_rfc2369_headers":
+ true, "join_address": "foo-join@example.com", "last_post_at": null, "leave_address":
+ "foo-leave@example.com", "list_name": "foo", "mail_host": "example.com", "next_digest_number":
+ 1, "no_reply_address": "noreply@example.com", "owner_address": "foo-owner@example.com",
+ "post_id": 1, "posting_address": "foo@example.com", "posting_pipeline": "default-posting-pipeline",
+ "reply_goes_to_list": "no_munging", "reply_to_address": "", "request_address":
+ "foo-request@example.com", "scheme": "http", "send_welcome_message": true,
+ "subject_prefix": "[Foo] ", "subscription_policy": "confirm", "volume": 1,
+ "web_host": "example.com", "welcome_message_uri": "mailman:///welcome.txt"}'}
+ headers:
+ content-length: ['1703']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo@example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo@example.com/config
+ response:
+ body: {string: !!python/unicode '{"acceptable_aliases": [], "admin_immed_notify":
+ true, "admin_notify_mchanges": false, "administrivia": true, "advertised":
+ true, "allow_list_posts": true, "anonymous_list": false, "archive_policy":
+ "public", "autorespond_owner": "none", "autorespond_postings": "none", "autorespond_requests":
+ "none", "autoresponse_grace_period": "90d", "autoresponse_owner_text": "",
+ "autoresponse_postings_text": "", "autoresponse_request_text": "", "bounces_address":
+ "foo-bounces@example.com", "collapse_alternatives": true, "convert_html_to_plaintext":
+ false, "created_at": "2005-08-01T07:49:23", "default_member_action": "defer",
+ "default_nonmember_action": "hold", "description": "", "digest_last_sent_at":
+ null, "digest_send_periodic": true, "digest_size_threshold": 30.0, "digest_volume_frequency":
+ "monthly", "digests_enabled": true, "display_name": "Foo", "filter_content":
+ false, "first_strip_reply_to": false, "fqdn_listname": "foo@example.com",
+ "http_etag": "\"4d90227445fe59860c01275cf1b0633c27f87673\"", "include_rfc2369_headers":
+ true, "join_address": "foo-join@example.com", "last_post_at": null, "leave_address":
+ "foo-leave@example.com", "list_name": "foo", "mail_host": "example.com", "next_digest_number":
+ 1, "no_reply_address": "noreply@example.com", "owner_address": "foo-owner@example.com",
+ "post_id": 1, "posting_address": "foo@example.com", "posting_pipeline": "default-posting-pipeline",
+ "reply_goes_to_list": "no_munging", "reply_to_address": "", "request_address":
+ "foo-request@example.com", "scheme": "http", "send_welcome_message": true,
+ "subject_prefix": "[Foo] ", "subscription_policy": "confirm", "volume": 1,
+ "web_host": "example.com", "welcome_message_uri": "mailman:///welcome.txt"}'}
+ headers:
+ content-length: ['1703']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo@example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo@example.com/config
+ response:
+ body: {string: !!python/unicode '{"acceptable_aliases": [], "admin_immed_notify":
+ true, "admin_notify_mchanges": false, "administrivia": true, "advertised":
+ true, "allow_list_posts": true, "anonymous_list": false, "archive_policy":
+ "public", "autorespond_owner": "none", "autorespond_postings": "none", "autorespond_requests":
+ "none", "autoresponse_grace_period": "90d", "autoresponse_owner_text": "",
+ "autoresponse_postings_text": "", "autoresponse_request_text": "", "bounces_address":
+ "foo-bounces@example.com", "collapse_alternatives": true, "convert_html_to_plaintext":
+ false, "created_at": "2005-08-01T07:49:23", "default_member_action": "defer",
+ "default_nonmember_action": "hold", "description": "", "digest_last_sent_at":
+ null, "digest_send_periodic": true, "digest_size_threshold": 30.0, "digest_volume_frequency":
+ "monthly", "digests_enabled": true, "display_name": "Foo", "filter_content":
+ false, "first_strip_reply_to": false, "fqdn_listname": "foo@example.com",
+ "http_etag": "\"4d90227445fe59860c01275cf1b0633c27f87673\"", "include_rfc2369_headers":
+ true, "join_address": "foo-join@example.com", "last_post_at": null, "leave_address":
+ "foo-leave@example.com", "list_name": "foo", "mail_host": "example.com", "next_digest_number":
+ 1, "no_reply_address": "noreply@example.com", "owner_address": "foo-owner@example.com",
+ "post_id": 1, "posting_address": "foo@example.com", "posting_pipeline": "default-posting-pipeline",
+ "reply_goes_to_list": "no_munging", "reply_to_address": "", "request_address":
+ "foo-request@example.com", "scheme": "http", "send_welcome_message": true,
+ "subject_prefix": "[Foo] ", "subscription_policy": "confirm", "volume": 1,
+ "web_host": "example.com", "welcome_message_uri": "mailman:///welcome.txt"}'}
+ headers:
+ content-length: ['1703']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo@example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo@example.com/config
+ response:
+ body: {string: !!python/unicode '{"acceptable_aliases": [], "admin_immed_notify":
+ true, "admin_notify_mchanges": false, "administrivia": true, "advertised":
+ true, "allow_list_posts": true, "anonymous_list": false, "archive_policy":
+ "public", "autorespond_owner": "none", "autorespond_postings": "none", "autorespond_requests":
+ "none", "autoresponse_grace_period": "90d", "autoresponse_owner_text": "",
+ "autoresponse_postings_text": "", "autoresponse_request_text": "", "bounces_address":
+ "foo-bounces@example.com", "collapse_alternatives": true, "convert_html_to_plaintext":
+ false, "created_at": "2005-08-01T07:49:23", "default_member_action": "defer",
+ "default_nonmember_action": "hold", "description": "", "digest_last_sent_at":
+ null, "digest_send_periodic": true, "digest_size_threshold": 30.0, "digest_volume_frequency":
+ "monthly", "digests_enabled": true, "display_name": "Foo", "filter_content":
+ false, "first_strip_reply_to": false, "fqdn_listname": "foo@example.com",
+ "http_etag": "\"4d90227445fe59860c01275cf1b0633c27f87673\"", "include_rfc2369_headers":
+ true, "join_address": "foo-join@example.com", "last_post_at": null, "leave_address":
+ "foo-leave@example.com", "list_name": "foo", "mail_host": "example.com", "next_digest_number":
+ 1, "no_reply_address": "noreply@example.com", "owner_address": "foo-owner@example.com",
+ "post_id": 1, "posting_address": "foo@example.com", "posting_pipeline": "default-posting-pipeline",
+ "reply_goes_to_list": "no_munging", "reply_to_address": "", "request_address":
+ "foo-request@example.com", "scheme": "http", "send_welcome_message": true,
+ "subject_prefix": "[Foo] ", "subscription_policy": "confirm", "volume": 1,
+ "web_host": "example.com", "welcome_message_uri": "mailman:///welcome.txt"}'}
+ headers:
+ content-length: ['1703']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/test@example.com
+ response:
+ body: {string: !!python/unicode 404 Not Found}
+ headers:
+ content-length: ['13']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 404, message: Not Found}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/owner
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/owner@example.com",
+ "delivery_mode": "regular", "email": "owner@example.com", "http_etag": "\"573440a46150ae27f0e5124f2481243067427bad\"",
+ "list_id": "foo.example.com", "member_id": 9, "moderation_action": "accept",
+ "role": "owner", "self_link": "http://localhost:9001/3.0/members/9", "user":
+ "http://localhost:9001/3.0/users/1"}], "http_etag": "\"6361d9988d114de83fb829ac2a5128ebcb14acdc\"",
+ "start": 0, "total_size": 1}'}
+ headers:
+ content-length: ['483']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/moderator
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/moderator@example.com",
+ "delivery_mode": "regular", "email": "moderator@example.com", "http_etag":
+ "\"2bffa5e62d6bdfd9661d0bc013597b9028a12442\"", "list_id": "foo.example.com",
+ "member_id": 10, "moderation_action": "accept", "role": "moderator", "self_link":
+ "http://localhost:9001/3.0/members/10", "user": "http://localhost:9001/3.0/users/2"}],
+ "http_etag": "\"830b6aed5cd92390931b607fa836926a4c702b58\"", "start": 0, "total_size":
+ 1}'}
+ headers:
+ content-length: ['497']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/test@example.com
+ response:
+ body: {string: !!python/unicode 404 Not Found}
+ headers:
+ content-length: ['13']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 404, message: Not Found}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/owner
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/owner@example.com",
+ "delivery_mode": "regular", "email": "owner@example.com", "http_etag": "\"573440a46150ae27f0e5124f2481243067427bad\"",
+ "list_id": "foo.example.com", "member_id": 9, "moderation_action": "accept",
+ "role": "owner", "self_link": "http://localhost:9001/3.0/members/9", "user":
+ "http://localhost:9001/3.0/users/1"}], "http_etag": "\"6361d9988d114de83fb829ac2a5128ebcb14acdc\"",
+ "start": 0, "total_size": 1}'}
+ headers:
+ content-length: ['483']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/moderator
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/moderator@example.com",
+ "delivery_mode": "regular", "email": "moderator@example.com", "http_etag":
+ "\"2bffa5e62d6bdfd9661d0bc013597b9028a12442\"", "list_id": "foo.example.com",
+ "member_id": 10, "moderation_action": "accept", "role": "moderator", "self_link":
+ "http://localhost:9001/3.0/members/10", "user": "http://localhost:9001/3.0/users/2"}],
+ "http_etag": "\"830b6aed5cd92390931b607fa836926a4c702b58\"", "start": 0, "total_size":
+ 1}'}
+ headers:
+ content-length: ['497']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/test@example.com
+ response:
+ body: {string: !!python/unicode 404 Not Found}
+ headers:
+ content-length: ['13']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 404, message: Not Found}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/owner
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/owner@example.com",
+ "delivery_mode": "regular", "email": "owner@example.com", "http_etag": "\"573440a46150ae27f0e5124f2481243067427bad\"",
+ "list_id": "foo.example.com", "member_id": 9, "moderation_action": "accept",
+ "role": "owner", "self_link": "http://localhost:9001/3.0/members/9", "user":
+ "http://localhost:9001/3.0/users/1"}], "http_etag": "\"6361d9988d114de83fb829ac2a5128ebcb14acdc\"",
+ "start": 0, "total_size": 1}'}
+ headers:
+ content-length: ['483']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/moderator
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/moderator@example.com",
+ "delivery_mode": "regular", "email": "moderator@example.com", "http_etag":
+ "\"2bffa5e62d6bdfd9661d0bc013597b9028a12442\"", "list_id": "foo.example.com",
+ "member_id": 10, "moderation_action": "accept", "role": "moderator", "self_link":
+ "http://localhost:9001/3.0/members/10", "user": "http://localhost:9001/3.0/users/2"}],
+ "http_etag": "\"830b6aed5cd92390931b607fa836926a4c702b58\"", "start": 0, "total_size":
+ 1}'}
+ headers:
+ content-length: ['497']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/test@example.com
+ response:
+ body: {string: !!python/unicode 404 Not Found}
+ headers:
+ content-length: ['13']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 404, message: Not Found}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/owner
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/owner@example.com",
+ "delivery_mode": "regular", "email": "owner@example.com", "http_etag": "\"573440a46150ae27f0e5124f2481243067427bad\"",
+ "list_id": "foo.example.com", "member_id": 9, "moderation_action": "accept",
+ "role": "owner", "self_link": "http://localhost:9001/3.0/members/9", "user":
+ "http://localhost:9001/3.0/users/1"}], "http_etag": "\"6361d9988d114de83fb829ac2a5128ebcb14acdc\"",
+ "start": 0, "total_size": 1}'}
+ headers:
+ content-length: ['483']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/moderator
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/moderator@example.com",
+ "delivery_mode": "regular", "email": "moderator@example.com", "http_etag":
+ "\"2bffa5e62d6bdfd9661d0bc013597b9028a12442\"", "list_id": "foo.example.com",
+ "member_id": 10, "moderation_action": "accept", "role": "moderator", "self_link":
+ "http://localhost:9001/3.0/members/10", "user": "http://localhost:9001/3.0/users/2"}],
+ "http_etag": "\"830b6aed5cd92390931b607fa836926a4c702b58\"", "start": 0, "total_size":
+ 1}'}
+ headers:
+ content-length: ['497']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/test@example.com
+ response:
+ body: {string: !!python/unicode 404 Not Found}
+ headers:
+ content-length: ['13']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 404, message: Not Found}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/owner
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/owner@example.com",
+ "delivery_mode": "regular", "email": "owner@example.com", "http_etag": "\"573440a46150ae27f0e5124f2481243067427bad\"",
+ "list_id": "foo.example.com", "member_id": 9, "moderation_action": "accept",
+ "role": "owner", "self_link": "http://localhost:9001/3.0/members/9", "user":
+ "http://localhost:9001/3.0/users/1"}], "http_etag": "\"6361d9988d114de83fb829ac2a5128ebcb14acdc\"",
+ "start": 0, "total_size": 1}'}
+ headers:
+ content-length: ['483']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/moderator
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/moderator@example.com",
+ "delivery_mode": "regular", "email": "moderator@example.com", "http_etag":
+ "\"2bffa5e62d6bdfd9661d0bc013597b9028a12442\"", "list_id": "foo.example.com",
+ "member_id": 10, "moderation_action": "accept", "role": "moderator", "self_link":
+ "http://localhost:9001/3.0/members/10", "user": "http://localhost:9001/3.0/users/2"}],
+ "http_etag": "\"830b6aed5cd92390931b607fa836926a4c702b58\"", "start": 0, "total_size":
+ 1}'}
+ headers:
+ content-length: ['497']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/test@example.com
+ response:
+ body: {string: !!python/unicode 404 Not Found}
+ headers:
+ content-length: ['13']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 404, message: Not Found}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/owner
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/owner@example.com",
+ "delivery_mode": "regular", "email": "owner@example.com", "http_etag": "\"573440a46150ae27f0e5124f2481243067427bad\"",
+ "list_id": "foo.example.com", "member_id": 9, "moderation_action": "accept",
+ "role": "owner", "self_link": "http://localhost:9001/3.0/members/9", "user":
+ "http://localhost:9001/3.0/users/1"}], "http_etag": "\"6361d9988d114de83fb829ac2a5128ebcb14acdc\"",
+ "start": 0, "total_size": 1}'}
+ headers:
+ content-length: ['483']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/moderator
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/moderator@example.com",
+ "delivery_mode": "regular", "email": "moderator@example.com", "http_etag":
+ "\"2bffa5e62d6bdfd9661d0bc013597b9028a12442\"", "list_id": "foo.example.com",
+ "member_id": 10, "moderation_action": "accept", "role": "moderator", "self_link":
+ "http://localhost:9001/3.0/members/10", "user": "http://localhost:9001/3.0/users/2"}],
+ "http_etag": "\"830b6aed5cd92390931b607fa836926a4c702b58\"", "start": 0, "total_size":
+ 1}'}
+ headers:
+ content-length: ['497']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/users/test@example.com
+ response:
+ body: {string: !!python/unicode 404 Not Found}
+ headers:
+ content-length: ['13']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 404, message: Not Found}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/owner
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/owner@example.com",
+ "delivery_mode": "regular", "email": "owner@example.com", "http_etag": "\"573440a46150ae27f0e5124f2481243067427bad\"",
+ "list_id": "foo.example.com", "member_id": 9, "moderation_action": "accept",
+ "role": "owner", "self_link": "http://localhost:9001/3.0/members/9", "user":
+ "http://localhost:9001/3.0/users/1"}], "http_etag": "\"6361d9988d114de83fb829ac2a5128ebcb14acdc\"",
+ "start": 0, "total_size": 1}'}
+ headers:
+ content-length: ['483']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com/roster/moderator
+ response:
+ body: {string: !!python/unicode '{"entries": [{"address": "http://localhost:9001/3.0/addresses/moderator@example.com",
+ "delivery_mode": "regular", "email": "moderator@example.com", "http_etag":
+ "\"2bffa5e62d6bdfd9661d0bc013597b9028a12442\"", "list_id": "foo.example.com",
+ "member_id": 10, "moderation_action": "accept", "role": "moderator", "self_link":
+ "http://localhost:9001/3.0/members/10", "user": "http://localhost:9001/3.0/users/2"}],
+ "http_etag": "\"830b6aed5cd92390931b607fa836926a4c702b58\"", "start": 0, "total_size":
+ 1}'}
+ headers:
+ content-length: ['497']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+version: 1
diff --git a/src/postorius/tests/fixtures/vcr_cassettes/list_settings_archiving.yaml b/src/postorius/tests/fixtures/vcr_cassettes/list_settings_archiving.yaml
new file mode 100644
index 0000000..c2461bf
--- /dev/null
+++ b/src/postorius/tests/fixtures/vcr_cassettes/list_settings_archiving.yaml
@@ -0,0 +1,187 @@
+interactions:
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo@example.com/config
+ response:
+ body: {string: !!python/unicode '{"acceptable_aliases": [], "admin_immed_notify":
+ true, "admin_notify_mchanges": false, "administrivia": true, "advertised":
+ true, "allow_list_posts": true, "anonymous_list": false, "archive_policy":
+ "public", "autorespond_owner": "none", "autorespond_postings": "none", "autorespond_requests":
+ "none", "autoresponse_grace_period": "90d", "autoresponse_owner_text": "",
+ "autoresponse_postings_text": "", "autoresponse_request_text": "", "bounces_address":
+ "foo-bounces@example.com", "collapse_alternatives": true, "convert_html_to_plaintext":
+ false, "created_at": "2005-08-01T07:49:23", "default_member_action": "defer",
+ "default_nonmember_action": "hold", "description": "", "digest_last_sent_at":
+ null, "digest_send_periodic": true, "digest_size_threshold": 30.0, "digest_volume_frequency":
+ "monthly", "digests_enabled": true, "display_name": "Foo", "filter_content":
+ false, "first_strip_reply_to": false, "fqdn_listname": "foo@example.com",
+ "http_etag": "\"4d90227445fe59860c01275cf1b0633c27f87673\"", "include_rfc2369_headers":
+ true, "join_address": "foo-join@example.com", "last_post_at": null, "leave_address":
+ "foo-leave@example.com", "list_name": "foo", "mail_host": "example.com", "next_digest_number":
+ 1, "no_reply_address": "noreply@example.com", "owner_address": "foo-owner@example.com",
+ "post_id": 1, "posting_address": "foo@example.com", "posting_pipeline": "default-posting-pipeline",
+ "reply_goes_to_list": "no_munging", "reply_to_address": "", "request_address":
+ "foo-request@example.com", "scheme": "http", "send_welcome_message": true,
+ "subject_prefix": "[Foo] ", "subscription_policy": "confirm", "volume": 1,
+ "web_host": "example.com", "welcome_message_uri": "mailman:///welcome.txt"}'}
+ headers:
+ content-length: ['1703']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo@example.com/config
+ response:
+ body: {string: !!python/unicode '{"acceptable_aliases": [], "admin_immed_notify":
+ true, "admin_notify_mchanges": false, "administrivia": true, "advertised":
+ true, "allow_list_posts": true, "anonymous_list": false, "archive_policy":
+ "public", "autorespond_owner": "none", "autorespond_postings": "none", "autorespond_requests":
+ "none", "autoresponse_grace_period": "90d", "autoresponse_owner_text": "",
+ "autoresponse_postings_text": "", "autoresponse_request_text": "", "bounces_address":
+ "foo-bounces@example.com", "collapse_alternatives": true, "convert_html_to_plaintext":
+ false, "created_at": "2005-08-01T07:49:23", "default_member_action": "defer",
+ "default_nonmember_action": "hold", "description": "", "digest_last_sent_at":
+ null, "digest_send_periodic": true, "digest_size_threshold": 30.0, "digest_volume_frequency":
+ "monthly", "digests_enabled": true, "display_name": "Foo", "filter_content":
+ false, "first_strip_reply_to": false, "fqdn_listname": "foo@example.com",
+ "http_etag": "\"4d90227445fe59860c01275cf1b0633c27f87673\"", "include_rfc2369_headers":
+ true, "join_address": "foo-join@example.com", "last_post_at": null, "leave_address":
+ "foo-leave@example.com", "list_name": "foo", "mail_host": "example.com", "next_digest_number":
+ 1, "no_reply_address": "noreply@example.com", "owner_address": "foo-owner@example.com",
+ "post_id": 1, "posting_address": "foo@example.com", "posting_pipeline": "default-posting-pipeline",
+ "reply_goes_to_list": "no_munging", "reply_to_address": "", "request_address":
+ "foo-request@example.com", "scheme": "http", "send_welcome_message": true,
+ "subject_prefix": "[Foo] ", "subscription_policy": "confirm", "volume": 1,
+ "web_host": "example.com", "welcome_message_uri": "mailman:///welcome.txt"}'}
+ headers:
+ content-length: ['1703']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo@example.com/config
+ response:
+ body: {string: !!python/unicode '{"acceptable_aliases": [], "admin_immed_notify":
+ true, "admin_notify_mchanges": false, "administrivia": true, "advertised":
+ true, "allow_list_posts": true, "anonymous_list": false, "archive_policy":
+ "public", "autorespond_owner": "none", "autorespond_postings": "none", "autorespond_requests":
+ "none", "autoresponse_grace_period": "90d", "autoresponse_owner_text": "",
+ "autoresponse_postings_text": "", "autoresponse_request_text": "", "bounces_address":
+ "foo-bounces@example.com", "collapse_alternatives": true, "convert_html_to_plaintext":
+ false, "created_at": "2005-08-01T07:49:23", "default_member_action": "defer",
+ "default_nonmember_action": "hold", "description": "", "digest_last_sent_at":
+ null, "digest_send_periodic": true, "digest_size_threshold": 30.0, "digest_volume_frequency":
+ "monthly", "digests_enabled": true, "display_name": "Foo", "filter_content":
+ false, "first_strip_reply_to": false, "fqdn_listname": "foo@example.com",
+ "http_etag": "\"4d90227445fe59860c01275cf1b0633c27f87673\"", "include_rfc2369_headers":
+ true, "join_address": "foo-join@example.com", "last_post_at": null, "leave_address":
+ "foo-leave@example.com", "list_name": "foo", "mail_host": "example.com", "next_digest_number":
+ 1, "no_reply_address": "noreply@example.com", "owner_address": "foo-owner@example.com",
+ "post_id": 1, "posting_address": "foo@example.com", "posting_pipeline": "default-posting-pipeline",
+ "reply_goes_to_list": "no_munging", "reply_to_address": "", "request_address":
+ "foo-request@example.com", "scheme": "http", "send_welcome_message": true,
+ "subject_prefix": "[Foo] ", "subscription_policy": "confirm", "volume": 1,
+ "web_host": "example.com", "welcome_message_uri": "mailman:///welcome.txt"}'}
+ headers:
+ content-length: ['1703']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: archive_policy=private
+ headers:
+ accept-encoding: ['gzip, deflate']
+ !!python/unicode content-type: [!!python/unicode application/x-www-form-urlencoded]
+ method: !!python/unicode PATCH
+ uri: http://localhost:9001/3.0/lists/foo@example.com/config
+ response:
+ body: {string: !!python/unicode ''}
+ headers:
+ content-length: ['0']
+ status: {code: 204, message: No Content}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo.example.com
+ response:
+ body: {string: !!python/unicode '{"display_name": "Foo", "fqdn_listname": "foo@example.com",
+ "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+ "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+ "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}'}
+ headers:
+ content-length: ['294']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+- request:
+ body: null
+ headers:
+ accept-encoding: ['gzip, deflate']
+ method: !!python/unicode GET
+ uri: http://localhost:9001/3.0/lists/foo@example.com/config
+ response:
+ body: {string: !!python/unicode '{"acceptable_aliases": [], "admin_immed_notify":
+ true, "admin_notify_mchanges": false, "administrivia": true, "advertised":
+ true, "allow_list_posts": true, "anonymous_list": false, "archive_policy":
+ "private", "autorespond_owner": "none", "autorespond_postings": "none", "autorespond_requests":
+ "none", "autoresponse_grace_period": "90d", "autoresponse_owner_text": "",
+ "autoresponse_postings_text": "", "autoresponse_request_text": "", "bounces_address":
+ "foo-bounces@example.com", "collapse_alternatives": true, "convert_html_to_plaintext":
+ false, "created_at": "2005-08-01T07:49:23", "default_member_action": "defer",
+ "default_nonmember_action": "hold", "description": "", "digest_last_sent_at":
+ null, "digest_send_periodic": true, "digest_size_threshold": 30.0, "digest_volume_frequency":
+ "monthly", "digests_enabled": true, "display_name": "Foo", "filter_content":
+ false, "first_strip_reply_to": false, "fqdn_listname": "foo@example.com",
+ "http_etag": "\"ee2b013f388534986873dd50897c63326f8fc57d\"", "include_rfc2369_headers":
+ true, "join_address": "foo-join@example.com", "last_post_at": null, "leave_address":
+ "foo-leave@example.com", "list_name": "foo", "mail_host": "example.com", "next_digest_number":
+ 1, "no_reply_address": "noreply@example.com", "owner_address": "foo-owner@example.com",
+ "post_id": 1, "posting_address": "foo@example.com", "posting_pipeline": "default-posting-pipeline",
+ "reply_goes_to_list": "no_munging", "reply_to_address": "", "request_address":
+ "foo-request@example.com", "scheme": "http", "send_welcome_message": true,
+ "subject_prefix": "[Foo] ", "subscription_policy": "confirm", "volume": 1,
+ "web_host": "example.com", "welcome_message_uri": "mailman:///welcome.txt"}'}
+ headers:
+ content-length: ['1704']
+ content-type: [application/json; charset=utf-8]
+ status: {code: 200, message: OK}
+version: 1
diff --git a/src/postorius/tests/mailman_api_tests/test_list_settings.py b/src/postorius/tests/mailman_api_tests/test_list_settings.py
new file mode 100644
index 0000000..ff2ddb6
--- /dev/null
+++ b/src/postorius/tests/mailman_api_tests/test_list_settings.py
@@ -0,0 +1,138 @@
+# -*- coding: utf-8 -*-
+# Copyright (C) 2016 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 .
+
+"""Tests for ban lists"""
+
+from __future__ import absolute_import, print_function, unicode_literals
+
+import logging
+
+from django.conf import settings
+from django.contrib import messages
+from django.contrib.auth.models import User
+from django.core.urlresolvers import reverse
+from django.utils.timezone import now
+from django.test import Client, TestCase
+from six.moves.urllib_error import HTTPError
+from six.moves.urllib_parse import quote
+
+from postorius.views.list import SETTINGS_FORMS
+from postorius.models import MailmanUser, Mailman404Error, List
+from postorius.tests import MM_VCR
+from postorius.tests.utils import get_flash_messages
+from postorius.utils import get_client
+
+
+logger = logging.getLogger(__name__)
+vcr_log = logging.getLogger('vcr')
+vcr_log.setLevel(logging.WARNING)
+
+
+class ListSettingsTest(TestCase):
+ """
+ Tests for the list settings page.
+ """
+
+ @MM_VCR.use_cassette('list_settings.yaml')
+ def setUp(self):
+ self.domain = get_client().create_domain('example.com')
+ self.foo_list = self.domain.create_list('foo')
+ self.user = User.objects.create_user(
+ 'testuser', 'test@example.com', 'testpass')
+ self.superuser = User.objects.create_superuser(
+ 'testsu', 'su@example.com', 'testpass')
+ self.owner = User.objects.create_user(
+ 'testowner', 'owner@example.com', 'testpass')
+ self.moderator = User.objects.create_user(
+ 'testmoderator', 'moderator@example.com', 'testpass')
+ self.foo_list.add_owner('owner@example.com')
+ self.foo_list.add_moderator('moderator@example.com')
+
+ @MM_VCR.use_cassette('list_settings.yaml')
+ def tearDown(self):
+ self.foo_list.delete()
+ self.user.delete()
+ self.superuser.delete()
+ self.owner.delete()
+ self.moderator.delete()
+ get_client().delete_domain('example.com')
+
+ def _check_redirect_login(self, url):
+ response = self.client.get(url)
+ if '%40' not in url: # Django < 1.8
+ url = quote(url)
+ expected_redirect = 'http://testserver%s?next=%s' % (
+ reverse(settings.LOGIN_URL), url)
+ self.assertEqual(response.status_code, 302)
+ self.assertEqual(response['location'], expected_redirect)
+
+ @MM_VCR.use_cassette('list_settings_access.yaml')
+ def test_page_not_accessible_if_not_logged_in(self):
+ for section_name in SETTINGS_FORMS:
+ url = reverse('list_settings', args=('foo.example.com', section_name))
+ self._check_redirect_login(url)
+
+ @MM_VCR.use_cassette('list_settings_access.yaml')
+ def test_page_not_accessible_for_unprivileged_users(self):
+ self.client.login(username='testuser', password='testpass')
+ for section_name in SETTINGS_FORMS:
+ url = reverse('list_settings', args=('foo.example.com', section_name))
+ response = self.client.get(url)
+ self.assertEqual(response.status_code, 403)
+
+ @MM_VCR.use_cassette('list_settings_access.yaml')
+ def test_not_accessible_for_moderator(self):
+ self.client.login(username='testmoderator', password='testpass')
+ for section_name in SETTINGS_FORMS:
+ url = reverse('list_settings', args=('foo.example.com', section_name))
+ response = self.client.get(url)
+ self.assertEqual(response.status_code, 403)
+
+ @MM_VCR.use_cassette('list_settings_access.yaml')
+ def test_page_accessible_for_owner(self):
+ self.client.login(username='testowner', password='testpass')
+ for section_name in SETTINGS_FORMS:
+ url = reverse('list_settings', args=('foo.example.com', section_name))
+ response = self.client.get(url)
+ self.assertEqual(response.status_code, 200)
+
+ @MM_VCR.use_cassette('list_settings_access.yaml')
+ def test_page_accessible_for_superuser(self):
+ self.client.login(username='testsu', password='testpass')
+ for section_name in SETTINGS_FORMS:
+ url = reverse('list_settings', args=('foo@example.com', section_name))
+ response = self.client.get(url)
+ self.assertEqual(response.status_code, 200)
+
+ @MM_VCR.use_cassette('list_settings_archiving.yaml')
+ def test_archiving(self):
+ self.assertEqual(self.foo_list.settings['archive_policy'], 'public')
+ self.client.login(username='testsu', password='testpass')
+ url = reverse('list_settings', args=('foo.example.com', 'archiving'))
+ response = self.client.get(url)
+ self.assertEqual(response.status_code, 200)
+ self.assertEqual(
+ response.context["form"].initial['archive_policy'], 'public')
+ response = self.client.post(url, {'archive_policy': 'private'})
+ self.assertEqual(response.status_code, 302)
+ self.assertEqual(response['location'], 'http://testserver' + url)
+ msgs = get_flash_messages(response)
+ self.assertEqual(len(msgs), 1)
+ self.assertEqual(msgs[0].level, messages.SUCCESS, msgs[0].message)
+ # Get a new list object to avoid caching
+ m_list = List.objects.get(fqdn_listname='foo.example.com')
+ self.assertEqual(m_list.settings['archive_policy'], 'private')
diff --git a/src/postorius/views/list.py b/src/postorius/views/list.py
index 383ea43..1a0347b 100644
--- a/src/postorius/views/list.py
+++ b/src/postorius/views/list.py
@@ -29,6 +29,7 @@
from django.core.exceptions import ValidationError
from django.utils.decorators import method_decorator
from django.utils.translation import gettext as _
+from django.http import Http404
try:
from urllib2 import HTTPError
except ImportError:
@@ -654,37 +655,38 @@
is optional / is used to differ in between section and option might
result in using //option
"""
- message = ""
if visible_section is None:
visible_section = 'list_identity'
- form_class = SETTINGS_FORMS.get(visible_section)
+ try:
+ form_class = SETTINGS_FORMS[visible_section]
+ except KeyError:
+ raise Http404('No such settings section')
try:
m_list = List.objects.get_or_404(fqdn_listname=list_id)
list_settings = m_list.settings
except (MailmanApiError, HTTPError):
return utils.render_api_error(request)
# List settings are grouped an processed in different forms.
- if form_class:
- if request.method == 'POST':
- form = form_class(request.POST)
- if form.is_valid():
- try:
- for key in form.fields.keys():
- list_settings[key] = form.cleaned_data[key]
- list_settings.save()
- messages.success(request, _('The settings have been updated.'))
- except HTTPError as e:
- messages.error(request, _('An error occured: %s') % e.reason)
- else:
- form = form_class(initial=list_settings)
+ if request.method == 'POST':
+ form = form_class(request.POST)
+ if form.is_valid():
+ try:
+ for key in form.fields.keys():
+ list_settings[key] = form.cleaned_data[key]
+ list_settings.save()
+ messages.success(request, _('The settings have been updated.'))
+ except HTTPError as e:
+ messages.error(request, _('An error occured: %s') % e.reason)
+ return redirect('list_settings', m_list.list_id, visible_section)
+ else:
+ form = form_class(initial=list_settings)
- return render_to_response(template,
- {'form': form,
- 'section_names': SETTINGS_SECTION_NAMES,
- 'message': message,
- 'list': m_list,
- 'visible_section': visible_section},
- context_instance=RequestContext(request))
+ return render(request, template, {
+ 'form': form,
+ 'section_names': SETTINGS_SECTION_NAMES,
+ 'list': m_list,
+ 'visible_section': visible_section,
+ })
@login_required