)]}'
{"test/functional/test_access_control.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"468f923529f108dd3f6b2569abe2f5e6ebf66da7","unresolved":false,"context_lines":[{"line_number":884,"context_line":"     None,"},{"line_number":885,"context_line":"     None, \u0027UUID\u0027, \u0027UUID\u0027,"},{"line_number":886,"context_line":"     {\u0027X-Container-Read\u0027: \u0027test:tester3\u0027},"},{"line_number":887,"context_line":"     None, \u0027tester3\u0027, \u0027tester3\u0027, None, 403),"},{"line_number":888,"context_line":"    (\u0027PUT\u0027,"},{"line_number":889,"context_line":"     None,"},{"line_number":890,"context_line":"     None, \u0027UUID\u0027, \u0027UUID\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"dab17558_92e388a3","line":887,"updated":"2016-05-17 21:57:14.000000000","message":"Just to make sure I understand how these tests work, this scenario means we\u0027ll:\n- have tester6 (our reseller admin) create an container \u0027UUID\u0027 in tester3\u0027s default account with the given container ACL, then\n- have tester3 try to create an object \u0027UUID\u0027 inside that container, and finally\n- confirm that the above request 403s.\n\nRight?","commit_id":"e3147ba2229770a43cce2884f10b4354cd3b01b8"},{"author":{"_account_id":12193,"name":"Hisashi Osanai","email":"osanai.hisashi@jp.fujitsu.com","username":"ho"},"change_message_id":"194318f7c3f200e977ce1f78dd6613765b1a66f1","unresolved":false,"context_lines":[{"line_number":884,"context_line":"     None,"},{"line_number":885,"context_line":"     None, \u0027UUID\u0027, \u0027UUID\u0027,"},{"line_number":886,"context_line":"     {\u0027X-Container-Read\u0027: \u0027test:tester3\u0027},"},{"line_number":887,"context_line":"     None, \u0027tester3\u0027, \u0027tester3\u0027, None, 403),"},{"line_number":888,"context_line":"    (\u0027PUT\u0027,"},{"line_number":889,"context_line":"     None,"},{"line_number":890,"context_line":"     None, \u0027UUID\u0027, \u0027UUID\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"1aa78d24_37686121","line":887,"in_reply_to":"dab17558_92e388a3","updated":"2016-07-11 04:00:18.000000000","message":"You are right. (it\u0027s correct understanding)","commit_id":"e3147ba2229770a43cce2884f10b4354cd3b01b8"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"468f923529f108dd3f6b2569abe2f5e6ebf66da7","unresolved":false,"context_lines":[{"line_number":963,"context_line":"    (\u0027PUT\u0027,"},{"line_number":964,"context_line":"     None,"},{"line_number":965,"context_line":"     None, \u0027UUID\u0027, \u0027UUID\u0027,"},{"line_number":966,"context_line":"     {\u0027X-Container-Read\u0027: \u0027.r:*\u0027},"},{"line_number":967,"context_line":"     None, \u0027tester3\u0027, \u0027tester3\u0027, None, 403),"},{"line_number":968,"context_line":"    (\u0027PUT\u0027,"},{"line_number":969,"context_line":"     None,"}],"source_content_type":"text/x-python","patch_set":11,"id":"dab17558_4ca500a0","line":966,"updated":"2016-05-17 21:57:14.000000000","message":"No corresponding write acl tests?","commit_id":"e3147ba2229770a43cce2884f10b4354cd3b01b8"},{"author":{"_account_id":12193,"name":"Hisashi Osanai","email":"osanai.hisashi@jp.fujitsu.com","username":"ho"},"change_message_id":"f31b24f20ccff8250b2212afcea96dfa5b06736c","unresolved":false,"context_lines":[{"line_number":963,"context_line":"    (\u0027PUT\u0027,"},{"line_number":964,"context_line":"     None,"},{"line_number":965,"context_line":"     None, \u0027UUID\u0027, \u0027UUID\u0027,"},{"line_number":966,"context_line":"     {\u0027X-Container-Read\u0027: \u0027.r:*\u0027},"},{"line_number":967,"context_line":"     None, \u0027tester3\u0027, \u0027tester3\u0027, None, 403),"},{"line_number":968,"context_line":"    (\u0027PUT\u0027,"},{"line_number":969,"context_line":"     None,"}],"source_content_type":"text/x-python","patch_set":11,"id":"1aa78d24_0e2fde88","line":966,"in_reply_to":"1aa78d24_b2061f83","updated":"2016-07-11 22:44:49.000000000","message":"I wrote our discussion here.\nI think we don\u0027t need to take care of the combination b/w X-Container-Write and referer. \u0027*\u0027 works only for referer and referer works with read acl.","commit_id":"e3147ba2229770a43cce2884f10b4354cd3b01b8"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"c03ab98adebc9409806e7b85ac103c2b368ecce1","unresolved":false,"context_lines":[{"line_number":963,"context_line":"    (\u0027PUT\u0027,"},{"line_number":964,"context_line":"     None,"},{"line_number":965,"context_line":"     None, \u0027UUID\u0027, \u0027UUID\u0027,"},{"line_number":966,"context_line":"     {\u0027X-Container-Read\u0027: \u0027.r:*\u0027},"},{"line_number":967,"context_line":"     None, \u0027tester3\u0027, \u0027tester3\u0027, None, 403),"},{"line_number":968,"context_line":"    (\u0027PUT\u0027,"},{"line_number":969,"context_line":"     None,"}],"source_content_type":"text/x-python","patch_set":11,"id":"1aa78d24_b2061f83","line":966,"in_reply_to":"1aa78d24_b762913b","updated":"2016-07-11 04:18:21.000000000","message":"The test at 1058 was for \u0027*:*\u0027 (which I *think* means \"any authenticated user\"). There was another one for \u0027*\u0027 (which I don\u0027t remember what it means; maybe anyone?), but I didn\u0027t see one for \u0027.r:*\u0027 or anything involving \u0027.rlistings\u0027.","commit_id":"e3147ba2229770a43cce2884f10b4354cd3b01b8"},{"author":{"_account_id":12193,"name":"Hisashi Osanai","email":"osanai.hisashi@jp.fujitsu.com","username":"ho"},"change_message_id":"194318f7c3f200e977ce1f78dd6613765b1a66f1","unresolved":false,"context_lines":[{"line_number":963,"context_line":"    (\u0027PUT\u0027,"},{"line_number":964,"context_line":"     None,"},{"line_number":965,"context_line":"     None, \u0027UUID\u0027, \u0027UUID\u0027,"},{"line_number":966,"context_line":"     {\u0027X-Container-Read\u0027: \u0027.r:*\u0027},"},{"line_number":967,"context_line":"     None, \u0027tester3\u0027, \u0027tester3\u0027, None, 403),"},{"line_number":968,"context_line":"    (\u0027PUT\u0027,"},{"line_number":969,"context_line":"     None,"}],"source_content_type":"text/x-python","patch_set":11,"id":"1aa78d24_b762913b","line":966,"in_reply_to":"dab17558_4ca500a0","updated":"2016-07-11 04:00:18.000000000","message":"There is a test for write acl at L1058.","commit_id":"e3147ba2229770a43cce2884f10b4354cd3b01b8"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"468f923529f108dd3f6b2569abe2f5e6ebf66da7","unresolved":false,"context_lines":[{"line_number":993,"context_line":"    (\u0027PUT\u0027,"},{"line_number":994,"context_line":"     None,"},{"line_number":995,"context_line":"     None, \u0027UUID\u0027, \u0027UUID\u0027,"},{"line_number":996,"context_line":"     {\u0027X-Container-Write\u0027: \u0027test:%(tester3_id)s\u0027},"},{"line_number":997,"context_line":"     None, \u0027tester3\u0027, \u0027tester3\u0027, None, 201),"},{"line_number":998,"context_line":"    (\u0027PUT\u0027,"},{"line_number":999,"context_line":"     None,"}],"source_content_type":"text/x-python","patch_set":11,"id":"dab17558_ec5834fb","line":996,"updated":"2016-05-17 21:57:14.000000000","message":"What about {\u0027X-Container-Write\u0027: \u0027%(tester3_id)s\u0027}? If we have a complete ID, is the project-scoping necessary?","commit_id":"e3147ba2229770a43cce2884f10b4354cd3b01b8"},{"author":{"_account_id":12193,"name":"Hisashi Osanai","email":"osanai.hisashi@jp.fujitsu.com","username":"ho"},"change_message_id":"194318f7c3f200e977ce1f78dd6613765b1a66f1","unresolved":false,"context_lines":[{"line_number":993,"context_line":"    (\u0027PUT\u0027,"},{"line_number":994,"context_line":"     None,"},{"line_number":995,"context_line":"     None, \u0027UUID\u0027, \u0027UUID\u0027,"},{"line_number":996,"context_line":"     {\u0027X-Container-Write\u0027: \u0027test:%(tester3_id)s\u0027},"},{"line_number":997,"context_line":"     None, \u0027tester3\u0027, \u0027tester3\u0027, None, 201),"},{"line_number":998,"context_line":"    (\u0027PUT\u0027,"},{"line_number":999,"context_line":"     None,"}],"source_content_type":"text/x-python","patch_set":11,"id":"1aa78d24_77e02997","line":996,"in_reply_to":"dab17558_ec5834fb","updated":"2016-07-11 04:00:18.000000000","message":"I think the project-scoping is necessary because the acl format is \"\u003cproject name or id\u003e:\u003cuser name or id\u003e\"","commit_id":"e3147ba2229770a43cce2884f10b4354cd3b01b8"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"468f923529f108dd3f6b2569abe2f5e6ebf66da7","unresolved":false,"context_lines":[{"line_number":1013,"context_line":"    (\u0027PUT\u0027,"},{"line_number":1014,"context_line":"     None,"},{"line_number":1015,"context_line":"     None, \u0027UUID\u0027, \u0027UUID\u0027,"},{"line_number":1016,"context_line":"     {\u0027X-Container-Write\u0027: \u0027test:*\u0027},"},{"line_number":1017,"context_line":"     None, \u0027tester3\u0027, \u0027tester3\u0027, None, 201),"},{"line_number":1018,"context_line":"    (\u0027PUT\u0027,"},{"line_number":1019,"context_line":"     None,"}],"source_content_type":"text/x-python","patch_set":11,"id":"dab17558_6cfc44b5","line":1016,"updated":"2016-05-17 21:57:14.000000000","message":"Cool. I didn\u0027t know you could use wildcards like that with container acls and keystone projects...","commit_id":"e3147ba2229770a43cce2884f10b4354cd3b01b8"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"468f923529f108dd3f6b2569abe2f5e6ebf66da7","unresolved":false,"context_lines":[{"line_number":1048,"context_line":"    (\u0027PUT\u0027,"},{"line_number":1049,"context_line":"     None,"},{"line_number":1050,"context_line":"     None, \u0027UUID\u0027, \u0027UUID\u0027,"},{"line_number":1051,"context_line":"     {\u0027X-Container-Write\u0027: \u0027*:tester3\u0027},"},{"line_number":1052,"context_line":"     None, \u0027tester3\u0027, \u0027tester3\u0027, None, 201),"},{"line_number":1053,"context_line":"    (\u0027PUT\u0027,"},{"line_number":1054,"context_line":"     None,"}],"source_content_type":"text/x-python","patch_set":11,"id":"dab17558_8c9d2868","line":1051,"updated":"2016-05-17 21:57:14.000000000","message":"Also interesting. And a little worrying...\n\nWhy would you want to allow all users named \u0027tester3\u0027 regardless of what project they\u0027re associated with?","commit_id":"e3147ba2229770a43cce2884f10b4354cd3b01b8"},{"author":{"_account_id":12193,"name":"Hisashi Osanai","email":"osanai.hisashi@jp.fujitsu.com","username":"ho"},"change_message_id":"194318f7c3f200e977ce1f78dd6613765b1a66f1","unresolved":false,"context_lines":[{"line_number":1048,"context_line":"    (\u0027PUT\u0027,"},{"line_number":1049,"context_line":"     None,"},{"line_number":1050,"context_line":"     None, \u0027UUID\u0027, \u0027UUID\u0027,"},{"line_number":1051,"context_line":"     {\u0027X-Container-Write\u0027: \u0027*:tester3\u0027},"},{"line_number":1052,"context_line":"     None, \u0027tester3\u0027, \u0027tester3\u0027, None, 201),"},{"line_number":1053,"context_line":"    (\u0027PUT\u0027,"},{"line_number":1054,"context_line":"     None,"}],"source_content_type":"text/x-python","patch_set":11,"id":"1aa78d24_d2fe4b04","line":1051,"in_reply_to":"dab17558_8c9d2868","updated":"2016-07-11 04:00:18.000000000","message":"The cases are created logically.\nBut here might be a case like allow acl access for admins in an organization.\n\nthere is a domain (organization) and there are users (admins) who have same name in each projects under the domain.","commit_id":"e3147ba2229770a43cce2884f10b4354cd3b01b8"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"468f923529f108dd3f6b2569abe2f5e6ebf66da7","unresolved":false,"context_lines":[{"line_number":1368,"context_line":"    (\u0027GET\u0027,"},{"line_number":1369,"context_line":"     None,"},{"line_number":1370,"context_line":"     None, \u0027UUID\u0027, None,"},{"line_number":1371,"context_line":"     {\u0027X-Container-Read\u0027: \u0027.r:invalid.domain.com,.rlistings\u0027},"},{"line_number":1372,"context_line":"     None, \u0027tester3\u0027, \u0027tester3\u0027, None, 403),"},{"line_number":1373,"context_line":"    (\u0027GET\u0027,"},{"line_number":1374,"context_line":"     None,"}],"source_content_type":"text/x-python","patch_set":11,"id":"dab17558_af78de8f","line":1371,"updated":"2016-05-17 21:57:14.000000000","message":"Should there be a comparable test with a valid domain? That is, one that includes a Referrer header?","commit_id":"e3147ba2229770a43cce2884f10b4354cd3b01b8"},{"author":{"_account_id":12193,"name":"Hisashi Osanai","email":"osanai.hisashi@jp.fujitsu.com","username":"ho"},"change_message_id":"194318f7c3f200e977ce1f78dd6613765b1a66f1","unresolved":false,"context_lines":[{"line_number":1368,"context_line":"    (\u0027GET\u0027,"},{"line_number":1369,"context_line":"     None,"},{"line_number":1370,"context_line":"     None, \u0027UUID\u0027, None,"},{"line_number":1371,"context_line":"     {\u0027X-Container-Read\u0027: \u0027.r:invalid.domain.com,.rlistings\u0027},"},{"line_number":1372,"context_line":"     None, \u0027tester3\u0027, \u0027tester3\u0027, None, 403),"},{"line_number":1373,"context_line":"    (\u0027GET\u0027,"},{"line_number":1374,"context_line":"     None,"}],"source_content_type":"text/x-python","patch_set":11,"id":"1aa78d24_d273ebb2","line":1371,"in_reply_to":"dab17558_af78de8f","updated":"2016-07-11 04:00:18.000000000","message":"Test test cases are focused on Container ACL so there is no tests with referrer header (client side) but they should be in test patches. I will add the cases in patch 253371.","commit_id":"e3147ba2229770a43cce2884f10b4354cd3b01b8"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"468f923529f108dd3f6b2569abe2f5e6ebf66da7","unresolved":false,"context_lines":[{"line_number":1553,"context_line":"    (\u0027GET\u0027,"},{"line_number":1554,"context_line":"     None,"},{"line_number":1555,"context_line":"     None, \u0027UUID\u0027, \u0027UUID\u0027,"},{"line_number":1556,"context_line":"     {\u0027X-Container-Read\u0027: \u0027.r:invalid.domain.com\u0027},"},{"line_number":1557,"context_line":"     None, \u0027tester3\u0027, \u0027tester3\u0027, None, 403),"},{"line_number":1558,"context_line":"    (\u0027GET\u0027,"},{"line_number":1559,"context_line":"     None,"}],"source_content_type":"text/x-python","patch_set":11,"id":"dab17558_6fe0b626","line":1556,"updated":"2016-05-17 21:57:14.000000000","message":"Again, might be worth having a valid domain test.","commit_id":"e3147ba2229770a43cce2884f10b4354cd3b01b8"},{"author":{"_account_id":12193,"name":"Hisashi Osanai","email":"osanai.hisashi@jp.fujitsu.com","username":"ho"},"change_message_id":"194318f7c3f200e977ce1f78dd6613765b1a66f1","unresolved":false,"context_lines":[{"line_number":1553,"context_line":"    (\u0027GET\u0027,"},{"line_number":1554,"context_line":"     None,"},{"line_number":1555,"context_line":"     None, \u0027UUID\u0027, \u0027UUID\u0027,"},{"line_number":1556,"context_line":"     {\u0027X-Container-Read\u0027: \u0027.r:invalid.domain.com\u0027},"},{"line_number":1557,"context_line":"     None, \u0027tester3\u0027, \u0027tester3\u0027, None, 403),"},{"line_number":1558,"context_line":"    (\u0027GET\u0027,"},{"line_number":1559,"context_line":"     None,"}],"source_content_type":"text/x-python","patch_set":11,"id":"1aa78d24_32634fdf","line":1556,"in_reply_to":"dab17558_6fe0b626","updated":"2016-07-11 04:00:18.000000000","message":"same with above.","commit_id":"e3147ba2229770a43cce2884f10b4354cd3b01b8"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"468f923529f108dd3f6b2569abe2f5e6ebf66da7","unresolved":false,"context_lines":[{"line_number":2149,"context_line":"     None,"},{"line_number":2150,"context_line":"     None, \u0027UUID\u0027, \u0027UUID\u0027,"},{"line_number":2151,"context_line":"     {\u0027X-Container-Write\u0027: \u0027test:tester3\u0027},"},{"line_number":2152,"context_line":"     None, \u0027tester3\u0027, \u0027tester3\u0027, None, 403),"},{"line_number":2153,"context_line":"    (\u0027POST\u0027,"},{"line_number":2154,"context_line":"     None,"},{"line_number":2155,"context_line":"     None, \u0027UUID\u0027, \u0027UUID\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"dab17558_afe1fed1","line":2152,"range":{"start_line":2152,"start_character":39,"end_line":2152,"end_character":42},"updated":"2016-05-17 21:57:14.000000000","message":"Why not 202? Is this assuming POST-as-COPY, and prior to https://review.openstack.org/#/c/264961/?","commit_id":"e3147ba2229770a43cce2884f10b4354cd3b01b8"},{"author":{"_account_id":12193,"name":"Hisashi Osanai","email":"osanai.hisashi@jp.fujitsu.com","username":"ho"},"change_message_id":"194318f7c3f200e977ce1f78dd6613765b1a66f1","unresolved":false,"context_lines":[{"line_number":2149,"context_line":"     None,"},{"line_number":2150,"context_line":"     None, \u0027UUID\u0027, \u0027UUID\u0027,"},{"line_number":2151,"context_line":"     {\u0027X-Container-Write\u0027: \u0027test:tester3\u0027},"},{"line_number":2152,"context_line":"     None, \u0027tester3\u0027, \u0027tester3\u0027, None, 403),"},{"line_number":2153,"context_line":"    (\u0027POST\u0027,"},{"line_number":2154,"context_line":"     None,"},{"line_number":2155,"context_line":"     None, \u0027UUID\u0027, \u0027UUID\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"1aa78d24_5296db94","line":2152,"range":{"start_line":2152,"start_character":39,"end_line":2152,"end_character":42},"in_reply_to":"dab17558_afe1fed1","updated":"2016-07-11 04:00:18.000000000","message":"I see. I couldn\u0027t follow the patch. I will fix it/them.","commit_id":"e3147ba2229770a43cce2884f10b4354cd3b01b8"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"468f923529f108dd3f6b2569abe2f5e6ebf66da7","unresolved":false,"context_lines":[{"line_number":2771,"context_line":"        return id_info"},{"line_number":2772,"context_line":""},{"line_number":2773,"context_line":"    def _get_id(self, user_name):"},{"line_number":2774,"context_line":"        info \u003d self.users.get(user_name)"},{"line_number":2775,"context_line":"        keystone_client \u003d client.Client("},{"line_number":2776,"context_line":"            auth_url\u003dself.auth_url,"},{"line_number":2777,"context_line":"            version\u003d(self.auth_version,),"}],"source_content_type":"text/x-python","patch_set":11,"id":"dab17558_5556ead2","line":2774,"range":{"start_line":2774,"start_character":15,"end_line":2774,"end_character":40},"updated":"2016-05-17 21:57:14.000000000","message":"nit: I think this would be better as self.users[user_name]\n\nThen, if anything goes wrong and we try to get a user that isn\u0027t defined, we\u0027ll get a KeyError here that includes user_name instead of\n\n TypeError: \u0027NoneType\u0027 object has no attribute \u0027__getitem__\u0027\n\n...later when we try to use info.","commit_id":"e3147ba2229770a43cce2884f10b4354cd3b01b8"},{"author":{"_account_id":12193,"name":"Hisashi Osanai","email":"osanai.hisashi@jp.fujitsu.com","username":"ho"},"change_message_id":"194318f7c3f200e977ce1f78dd6613765b1a66f1","unresolved":false,"context_lines":[{"line_number":2771,"context_line":"        return id_info"},{"line_number":2772,"context_line":""},{"line_number":2773,"context_line":"    def _get_id(self, user_name):"},{"line_number":2774,"context_line":"        info \u003d self.users.get(user_name)"},{"line_number":2775,"context_line":"        keystone_client \u003d client.Client("},{"line_number":2776,"context_line":"            auth_url\u003dself.auth_url,"},{"line_number":2777,"context_line":"            version\u003d(self.auth_version,),"}],"source_content_type":"text/x-python","patch_set":11,"id":"1aa78d24_b2d29f59","line":2774,"range":{"start_line":2774,"start_character":15,"end_line":2774,"end_character":40},"in_reply_to":"dab17558_5556ead2","updated":"2016-07-11 04:00:18.000000000","message":"I see. I will fix this in patch 253371.","commit_id":"e3147ba2229770a43cce2884f10b4354cd3b01b8"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"468f923529f108dd3f6b2569abe2f5e6ebf66da7","unresolved":false,"context_lines":[{"line_number":2897,"context_line":""},{"line_number":2898,"context_line":"        elif test_case[\u0027http_method\u0027] in (\u0027PUT\u0027,):"},{"line_number":2899,"context_line":"            if test_case[\u0027object_name\u0027]:"},{"line_number":2900,"context_line":"                self._put_container(storage_url, reseller_token, test_case)"},{"line_number":2901,"context_line":""},{"line_number":2902,"context_line":"    def _execute(self, test_case):"},{"line_number":2903,"context_line":"        storage_url, token \u003d self._get_storage_url_and_token("}],"source_content_type":"text/x-python","patch_set":11,"id":"dab17558_72ff0402","line":2900,"updated":"2016-05-17 21:57:14.000000000","message":"Do we ever confirm that we got a 2xx here?","commit_id":"e3147ba2229770a43cce2884f10b4354cd3b01b8"},{"author":{"_account_id":12193,"name":"Hisashi Osanai","email":"osanai.hisashi@jp.fujitsu.com","username":"ho"},"change_message_id":"194318f7c3f200e977ce1f78dd6613765b1a66f1","unresolved":false,"context_lines":[{"line_number":2897,"context_line":""},{"line_number":2898,"context_line":"        elif test_case[\u0027http_method\u0027] in (\u0027PUT\u0027,):"},{"line_number":2899,"context_line":"            if test_case[\u0027object_name\u0027]:"},{"line_number":2900,"context_line":"                self._put_container(storage_url, reseller_token, test_case)"},{"line_number":2901,"context_line":""},{"line_number":2902,"context_line":"    def _execute(self, test_case):"},{"line_number":2903,"context_line":"        storage_url, token \u003d self._get_storage_url_and_token("}],"source_content_type":"text/x-python","patch_set":11,"id":"1aa78d24_32bfcffd","line":2900,"in_reply_to":"dab17558_72ff0402","updated":"2016-07-11 04:00:18.000000000","message":"I will confirm it in patch 253371.","commit_id":"e3147ba2229770a43cce2884f10b4354cd3b01b8"}]}
