)]}'
{"functionaltests/api/v1/behaviors/consumer_behaviors.py":[{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"0f560c724bbfab033995bc4f4cd0cfb016e4a1cf","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        if resp.status_code \u003d\u003d 401 and not use_auth:"},{"line_number":109,"context_line":"            return resp, None"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        if resp.status_code is not 200:"},{"line_number":112,"context_line":"            return resp, None"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        returned_data \u003d self.get_json(resp)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a29b11f_d6f003cc","line":111,"updated":"2015-10-27 03:26:54.000000000","message":"why \"is not\" and not \"!\u003d\" ?","commit_id":"13981e7a1f24be70877aa5352646963929eac90a"},{"author":{"_account_id":15274,"name":"Christopher Solis","email":"cnsolis@us.ibm.com","username":"cplusone"},"change_message_id":"5674e0b68f9a4c9d745333410df0d45da1269cf1","unresolved":false,"context_lines":[{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        if resp.status_code \u003d\u003d 401 and not use_auth:"},{"line_number":109,"context_line":"            return resp, None"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        if resp.status_code is not 200:"},{"line_number":112,"context_line":"            return resp, None"},{"line_number":113,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a26ad4f_347e3ce5","line":110,"updated":"2015-10-27 20:53:07.000000000","message":"I agree with Steve\u0027s previous comment on this line. Why is it \"is not\" and not \"!\u003d\"\n I think putting it as \"is not\" might not always return the correct result.","commit_id":"1ab6233d5263fa97301f5eb0ecbdb8cdf3b9eb55"}],"functionaltests/api/v1/functional/test_acls.py":[{"author":{"_account_id":15274,"name":"Christopher Solis","email":"cnsolis@us.ibm.com","username":"cplusone"},"change_message_id":"1b7007003687dc11fcc6c1ffbf51a7663ef8647c","unresolved":false,"context_lines":[{"line_number":144,"context_line":"}"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"test_data_create_container_consumer_acl_only \u003d {"},{"line_number":147,"context_line":"    \u0027with_admin_a\u0027: {\u0027user\u0027: admin_a, \u0027expected_return\u0027: 200},"},{"line_number":148,"context_line":"    \u0027with_creator_a\u0027: {\u0027user\u0027: creator_a, \u0027expected_return\u0027: 403},"},{"line_number":149,"context_line":"    \u0027with_observer_a\u0027: {\u0027user\u0027: observer_a, \u0027expected_return\u0027: 403},"},{"line_number":150,"context_line":"    \u0027with_auditor_a\u0027: {\u0027user\u0027: auditor_a, \u0027expected_return\u0027: 403},"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a26ad4f_7820079c","line":147,"updated":"2015-10-28 16:40:47.000000000","message":"I might be missing something but shouldn\u0027t creator be able to create a consumer as well? I thought that was the main difference between creator and observer. This is probably more of an implementation question but just curious.","commit_id":"1d6f40aa8aa21d20deaea56310f93007149c92e3"},{"author":{"_account_id":16046,"name":"Fernando Diaz","email":"diazjf@us.ibm.com","username":"diazjf"},"change_message_id":"5a93502fb1f114a15a2d00a2ddccfa27e6740540","unresolved":false,"context_lines":[{"line_number":144,"context_line":"}"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"test_data_create_container_consumer_acl_only \u003d {"},{"line_number":147,"context_line":"    \u0027with_admin_a\u0027: {\u0027user\u0027: admin_a, \u0027expected_return\u0027: 200},"},{"line_number":148,"context_line":"    \u0027with_creator_a\u0027: {\u0027user\u0027: creator_a, \u0027expected_return\u0027: 403},"},{"line_number":149,"context_line":"    \u0027with_observer_a\u0027: {\u0027user\u0027: observer_a, \u0027expected_return\u0027: 403},"},{"line_number":150,"context_line":"    \u0027with_auditor_a\u0027: {\u0027user\u0027: auditor_a, \u0027expected_return\u0027: 403},"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a26ad4f_f8cc92bc","line":147,"in_reply_to":"1a26ad4f_040b3b8f","updated":"2015-11-03 05:18:25.000000000","message":"From Barbican\u0027s policy.json:\n\n\"container_acls:put_patch\": \"rule:container_project_admin or rule:container_project_creator\"\n\nshowing roles admin, and creator can create a container as long as they are in the scoped project.","commit_id":"1d6f40aa8aa21d20deaea56310f93007149c92e3"},{"author":{"_account_id":10873,"name":"Juan Antonio Osorio Robles","email":"jaosorior@redhat.com","username":"ejuaoso"},"change_message_id":"fec85e3ed6ab7db56ef93f1ae2678111e1a0bf55","unresolved":false,"context_lines":[{"line_number":144,"context_line":"}"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"test_data_create_container_consumer_acl_only \u003d {"},{"line_number":147,"context_line":"    \u0027with_admin_a\u0027: {\u0027user\u0027: admin_a, \u0027expected_return\u0027: 200},"},{"line_number":148,"context_line":"    \u0027with_creator_a\u0027: {\u0027user\u0027: creator_a, \u0027expected_return\u0027: 403},"},{"line_number":149,"context_line":"    \u0027with_observer_a\u0027: {\u0027user\u0027: observer_a, \u0027expected_return\u0027: 403},"},{"line_number":150,"context_line":"    \u0027with_auditor_a\u0027: {\u0027user\u0027: auditor_a, \u0027expected_return\u0027: 403},"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a26ad4f_040b3b8f","line":147,"in_reply_to":"1a26ad4f_7820079c","updated":"2015-11-02 18:57:33.000000000","message":"I actually have the same question as you do.","commit_id":"1d6f40aa8aa21d20deaea56310f93007149c92e3"},{"author":{"_account_id":15274,"name":"Christopher Solis","email":"cnsolis@us.ibm.com","username":"cplusone"},"change_message_id":"0b16dfef06977997f0597de7e795b9cce2c49aca","unresolved":false,"context_lines":[{"line_number":144,"context_line":"}"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"test_data_create_container_consumer_acl_only \u003d {"},{"line_number":147,"context_line":"    \u0027with_admin_a\u0027: {\u0027user\u0027: admin_a, \u0027expected_return\u0027: 200},"},{"line_number":148,"context_line":"    \u0027with_creator_a\u0027: {\u0027user\u0027: creator_a, \u0027expected_return\u0027: 403},"},{"line_number":149,"context_line":"    \u0027with_observer_a\u0027: {\u0027user\u0027: observer_a, \u0027expected_return\u0027: 403},"},{"line_number":150,"context_line":"    \u0027with_auditor_a\u0027: {\u0027user\u0027: auditor_a, \u0027expected_return\u0027: 403},"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa80f949_c6dab478","line":147,"in_reply_to":"1a26ad4f_f8cc92bc","updated":"2015-11-03 16:12:27.000000000","message":"I think the test using this data is actually checking to see if being on the container ACL does not affect the user\u0027s role when creating a consumer for the container. According to the policy.json file it looks like only admin can create a consumer on a container: https://github.com/openstack/barbican/blob/master/etc/barbican/policy.json#L43 , which means this code is right. It\u0027s just weird that creator cannot create a consumer. I feel like that\u0027s almost a bug unless this was discussed previously.","commit_id":"1d6f40aa8aa21d20deaea56310f93007149c92e3"},{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"70ae9ba9826ef93f1f98cbc7abb2cef9e6ba40c0","unresolved":false,"context_lines":[{"line_number":246,"context_line":"    @utils.parameterized_dataset(test_data_read_container_consumer_acl_only)"},{"line_number":247,"context_line":"    def test_container_acl_read_consumers(self, user, expected_return):"},{"line_number":248,"context_line":"        \"\"\"Test shows granting acl access to a container will"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"        not allow you to see the list of consumers"},{"line_number":251,"context_line":"        \"\"\""},{"line_number":252,"context_line":"        container_ref \u003d self.store_container(user_name\u003dcreator_a,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a26ad4f_1b1303ba","line":249,"updated":"2015-10-29 05:11:38.000000000","message":"nit - blank line in the middle of a sentence","commit_id":"1d6f40aa8aa21d20deaea56310f93007149c92e3"},{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"70ae9ba9826ef93f1f98cbc7abb2cef9e6ba40c0","unresolved":false,"context_lines":[{"line_number":275,"context_line":"    @utils.parameterized_dataset(test_data_delete_container_consumer_acl_only)"},{"line_number":276,"context_line":"    def test_container_acl_remove_consumer(self, user, expected_return):"},{"line_number":277,"context_line":"        \"\"\"Test shows granting acl access will not allow you to add a"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"        consumer"},{"line_number":280,"context_line":"        \"\"\""},{"line_number":281,"context_line":"        container_ref \u003d self.store_container(user_name\u003dcreator_a,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a26ad4f_3b16ffa7","line":278,"updated":"2015-10-29 05:11:38.000000000","message":"nit - blank line in the middle of a sentence","commit_id":"1d6f40aa8aa21d20deaea56310f93007149c92e3"},{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"70ae9ba9826ef93f1f98cbc7abb2cef9e6ba40c0","unresolved":false,"context_lines":[{"line_number":304,"context_line":"    @utils.parameterized_dataset(test_data_create_container_consumer_acl_only)"},{"line_number":305,"context_line":"    def test_container_acl_create_consumer(self, user, expected_return):"},{"line_number":306,"context_line":"        \"\"\"Test shows granting acl access will not allow you to add a"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"        consumer"},{"line_number":309,"context_line":"        \"\"\""},{"line_number":310,"context_line":"        container_ref \u003d self.store_container(user_name\u003dcreator_a,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a26ad4f_db0cab96","line":307,"updated":"2015-10-29 05:11:38.000000000","message":"nit - blank line in the middle of a sentence","commit_id":"1d6f40aa8aa21d20deaea56310f93007149c92e3"},{"author":{"_account_id":7789,"name":"John Wood","email":"john.wood@rackspace.com","username":"woodster"},"change_message_id":"0286a66054aa4a95cb47ef5c21527493a07f8ea9","unresolved":false,"context_lines":[{"line_number":325,"context_line":"            user_name\u003duser)"},{"line_number":326,"context_line":"        self.assertEqual(expected_return, resp.status_code)"},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"    @testcase.attr(\u0027negative\u0027)"},{"line_number":329,"context_line":"    def test_secret_acl_auditor_with_acl_cannot_read(self):"},{"line_number":330,"context_line":"        \"\"\"This test shows that an auditor granted access to a secret"},{"line_number":331,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"fa80f949_f7d196fc","line":328,"updated":"2015-11-03 23:42:50.000000000","message":"It seems like these secret ACL oriented tests could be parameterized as well?","commit_id":"1d6f40aa8aa21d20deaea56310f93007149c92e3"},{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"70ae9ba9826ef93f1f98cbc7abb2cef9e6ba40c0","unresolved":false,"context_lines":[{"line_number":328,"context_line":"    @testcase.attr(\u0027negative\u0027)"},{"line_number":329,"context_line":"    def test_secret_acl_auditor_with_acl_cannot_read(self):"},{"line_number":330,"context_line":"        \"\"\"This test shows that an auditor granted access to a secret"},{"line_number":331,"context_line":""},{"line_number":332,"context_line":"        still cannot read that secret"},{"line_number":333,"context_line":"        \"\"\""},{"line_number":334,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a26ad4f_fb0f2786","line":331,"updated":"2015-10-29 05:11:38.000000000","message":"nit - blank line in the middle of a sentence","commit_id":"1d6f40aa8aa21d20deaea56310f93007149c92e3"},{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"70ae9ba9826ef93f1f98cbc7abb2cef9e6ba40c0","unresolved":false,"context_lines":[{"line_number":342,"context_line":"    @testcase.attr(\u0027negative\u0027)"},{"line_number":343,"context_line":"    def test_secret_acl_put_as_observer(self):"},{"line_number":344,"context_line":"        \"\"\"Test will show that an observer can not put to a secret when"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"        granted access via acl"},{"line_number":347,"context_line":"        \"\"\""},{"line_number":348,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a26ad4f_bb220f00","line":345,"updated":"2015-10-29 05:11:38.000000000","message":"nit - blank line in the middle of a sentence","commit_id":"1d6f40aa8aa21d20deaea56310f93007149c92e3"},{"author":{"_account_id":14926,"name":"Jeff Feng","email":"jianhua@us.ibm.com","username":"jhfeng"},"change_message_id":"0063d8982b83242ac366ddd8c7abe1d180ad64f6","unresolved":false,"context_lines":[{"line_number":271,"context_line":""},{"line_number":272,"context_line":"    @utils.parameterized_dataset(test_data_delete_container_consumer_acl_only)"},{"line_number":273,"context_line":"    def test_container_acl_remove_consumer(self, user, expected_return):"},{"line_number":274,"context_line":"        \"\"\"Acl access will not allow you to add a consumer\"\"\""},{"line_number":275,"context_line":"        container_ref \u003d self.store_container(user_name\u003dcreator_a,"},{"line_number":276,"context_line":"                                             admin\u003dadmin_a)"},{"line_number":277,"context_line":"        consumer_model \u003d get_consumer_model()"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a8ffd7b_9357cac9","line":274,"updated":"2015-12-01 17:54:13.000000000","message":"it should be \u0027delete\u0027 not \u0027add\u0027 in the comment","commit_id":"a43d4238eacd39888656faf1b7365b0266a2716d"}]}
