)]}'
{"keystone/tests/unit/test_backend.py":[{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"e31c248b4ceb25d351403721227320012924da7e","unresolved":false,"context_lines":[{"line_number":2209,"context_line":"        sub_project_id \u003d uuid.uuid4().hex"},{"line_number":2210,"context_line":"        sub_project \u003d {\u0027id\u0027: sub_project_id,"},{"line_number":2211,"context_line":"                       \u0027description\u0027: \u0027\u0027,"},{"line_number":2212,"context_line":"                       \u0027domain_id\u0027: DEFAULT_DOMAIN_ID,"},{"line_number":2213,"context_line":"                       \u0027enabled\u0027: True,"},{"line_number":2214,"context_line":"                       \u0027name\u0027: uuid.uuid4().hex,"},{"line_number":2215,"context_line":"                       \u0027parent_id\u0027: project_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_bcf00ffe","line":2212,"updated":"2015-08-13 11:39:33.000000000","message":"I don\u0027t understand why we are setting this? Aren\u0027t we asking for a project acting as a domain as a sub_domain of it\u0027s parent?  I\u0027d have expect an exception from issue a create call like this.","commit_id":"78cb5692462eff48ee2c06dd9726af57bd0c37ef"},{"author":{"_account_id":10046,"name":"Henrique Truta","email":"henrique@lsd.ufcg.edu.br","username":"henriquetruta"},"change_message_id":"746299774fa17aa545f6033370320a517bee9032","unresolved":false,"context_lines":[{"line_number":2209,"context_line":"        sub_project_id \u003d uuid.uuid4().hex"},{"line_number":2210,"context_line":"        sub_project \u003d {\u0027id\u0027: sub_project_id,"},{"line_number":2211,"context_line":"                       \u0027description\u0027: \u0027\u0027,"},{"line_number":2212,"context_line":"                       \u0027domain_id\u0027: DEFAULT_DOMAIN_ID,"},{"line_number":2213,"context_line":"                       \u0027enabled\u0027: True,"},{"line_number":2214,"context_line":"                       \u0027name\u0027: uuid.uuid4().hex,"},{"line_number":2215,"context_line":"                       \u0027parent_id\u0027: project_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_d0fda03c","line":2212,"in_reply_to":"1a4dcd0f_3834f0f9","updated":"2015-08-13 22:19:35.000000000","message":"It is impossible to have this patch, but not the \u0027honor operations\u0027 in any release. If this cut happened, we\u0027d need to rollback this one. \n\nI agree with Rodrigo. We should not allow the creating of is_domain\u003dTrue  projects in controller layer until the functionality is fully implemented. I\u0027ll do that. What about the tests? I guess a good approach would be keeping the ones that use is_domain\u003dTrue as WIP, and removing it in the honor operations one.","commit_id":"78cb5692462eff48ee2c06dd9726af57bd0c37ef"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"a1f5415e647652b0d12f7c1aaf5635d3be19cb60","unresolved":false,"context_lines":[{"line_number":2209,"context_line":"        sub_project_id \u003d uuid.uuid4().hex"},{"line_number":2210,"context_line":"        sub_project \u003d {\u0027id\u0027: sub_project_id,"},{"line_number":2211,"context_line":"                       \u0027description\u0027: \u0027\u0027,"},{"line_number":2212,"context_line":"                       \u0027domain_id\u0027: DEFAULT_DOMAIN_ID,"},{"line_number":2213,"context_line":"                       \u0027enabled\u0027: True,"},{"line_number":2214,"context_line":"                       \u0027name\u0027: uuid.uuid4().hex,"},{"line_number":2215,"context_line":"                       \u0027parent_id\u0027: project_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_f3bd6268","line":2212,"in_reply_to":"1a4dcd0f_93c17e82","updated":"2015-08-13 20:23:03.000000000","message":"It\u0027s great that we are taking a \"tests first, then code\" approach.  However, unless I understand the vagaries of how we are batching in the changes for reseller, I can\u0027t really evaluate whether the tests are appropriate or not.  This test just feels wrong - since we are setting up a scenario that we know doesn\u0027t really make sense...and only passes because of the \u0027extra\u0027 support and odd capabilities of the first patch.  This can\u0027t be right.  Actually what this does do is re-enforce that the \"Add domain_id to project table\" patch is incomplete...we should not be allowing what will become an illegal hierarchy to be created.  What if we made the cut for Libterty just after that patch?  We\u0027d be supporting that hierarchy for several cycles!","commit_id":"78cb5692462eff48ee2c06dd9726af57bd0c37ef"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"f4e8ccfae520b62b53c35e6efb65c1511f47a60e","unresolved":false,"context_lines":[{"line_number":2209,"context_line":"        sub_project_id \u003d uuid.uuid4().hex"},{"line_number":2210,"context_line":"        sub_project \u003d {\u0027id\u0027: sub_project_id,"},{"line_number":2211,"context_line":"                       \u0027description\u0027: \u0027\u0027,"},{"line_number":2212,"context_line":"                       \u0027domain_id\u0027: DEFAULT_DOMAIN_ID,"},{"line_number":2213,"context_line":"                       \u0027enabled\u0027: True,"},{"line_number":2214,"context_line":"                       \u0027name\u0027: uuid.uuid4().hex,"},{"line_number":2215,"context_line":"                       \u0027parent_id\u0027: project_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_93c17e82","line":2212,"in_reply_to":"1a4dcd0f_bcf00ffe","updated":"2015-08-13 13:16:48.000000000","message":"at this point, the domain_id field isn\u0027t nullable and isn\u0027t pointing the the project table. The is_domain \"rules\" are being applied only in the Controller layer.","commit_id":"78cb5692462eff48ee2c06dd9726af57bd0c37ef"},{"author":{"_account_id":10046,"name":"Henrique Truta","email":"henrique@lsd.ufcg.edu.br","username":"henriquetruta"},"change_message_id":"2bbcd82f4f408edcfb9a011626ea3e5eef608a5d","unresolved":false,"context_lines":[{"line_number":2209,"context_line":"        sub_project_id \u003d uuid.uuid4().hex"},{"line_number":2210,"context_line":"        sub_project \u003d {\u0027id\u0027: sub_project_id,"},{"line_number":2211,"context_line":"                       \u0027description\u0027: \u0027\u0027,"},{"line_number":2212,"context_line":"                       \u0027domain_id\u0027: DEFAULT_DOMAIN_ID,"},{"line_number":2213,"context_line":"                       \u0027enabled\u0027: True,"},{"line_number":2214,"context_line":"                       \u0027name\u0027: uuid.uuid4().hex,"},{"line_number":2215,"context_line":"                       \u0027parent_id\u0027: project_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_b366deec","line":2212,"in_reply_to":"1a4dcd0f_d0fda03c","updated":"2015-08-13 22:26:12.000000000","message":"I just have a concern that the \"honor operations\" patch will be HUGE. Some folks didn\u0027t want to review it as it is, what if we make it even bigger?","commit_id":"78cb5692462eff48ee2c06dd9726af57bd0c37ef"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"8cd0dd711da5ad3c226023602b7e95a8b37dae21","unresolved":false,"context_lines":[{"line_number":2209,"context_line":"        sub_project_id \u003d uuid.uuid4().hex"},{"line_number":2210,"context_line":"        sub_project \u003d {\u0027id\u0027: sub_project_id,"},{"line_number":2211,"context_line":"                       \u0027description\u0027: \u0027\u0027,"},{"line_number":2212,"context_line":"                       \u0027domain_id\u0027: DEFAULT_DOMAIN_ID,"},{"line_number":2213,"context_line":"                       \u0027enabled\u0027: True,"},{"line_number":2214,"context_line":"                       \u0027name\u0027: uuid.uuid4().hex,"},{"line_number":2215,"context_line":"                       \u0027parent_id\u0027: project_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_3834f0f9","line":2212,"in_reply_to":"1a4dcd0f_f3bd6268","updated":"2015-08-13 20:28:02.000000000","message":"I had the same feeling and thought about prohibiting the creation of projects with is_domain \u003d True at this point. There is no other way to have atomic changes that won\u0027t hurt us in the future.\n\nThe major issue is that this kind of projects are only \"valid\" in the 5th patch of the chain. Should we prohibit the creation of projects acting as domains until that patch?","commit_id":"78cb5692462eff48ee2c06dd9726af57bd0c37ef"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"e31c248b4ceb25d351403721227320012924da7e","unresolved":false,"context_lines":[{"line_number":2217,"context_line":"        ref \u003d self.resource_api.create_project(sub_project[\u0027id\u0027], sub_project)"},{"line_number":2218,"context_line":"        self.assertTrue(ref[\u0027is_domain\u0027])"},{"line_number":2219,"context_line":"        self.assertEqual(project_id, ref[\u0027parent_id\u0027])"},{"line_number":2220,"context_line":"        self.assertEqual(DEFAULT_DOMAIN_ID, ref[\u0027domain_id\u0027])"},{"line_number":2221,"context_line":""},{"line_number":2222,"context_line":"    @tests.skip_if_no_multiple_domains_support"},{"line_number":2223,"context_line":"    @test_utils.wip(\u0027waiting for the is_domain field implementation\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_dc6e3bc7","line":2220,"updated":"2015-08-13 11:39:33.000000000","message":"I would not have expected these to be equal. Why would the sub-project be in the default domain? Surely it would be in the domain created by its parent, i.e. ref[domainId] would be equal to ref[parent_id] as well as project[id] ?","commit_id":"78cb5692462eff48ee2c06dd9726af57bd0c37ef"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"f4e8ccfae520b62b53c35e6efb65c1511f47a60e","unresolved":false,"context_lines":[{"line_number":2217,"context_line":"        ref \u003d self.resource_api.create_project(sub_project[\u0027id\u0027], sub_project)"},{"line_number":2218,"context_line":"        self.assertTrue(ref[\u0027is_domain\u0027])"},{"line_number":2219,"context_line":"        self.assertEqual(project_id, ref[\u0027parent_id\u0027])"},{"line_number":2220,"context_line":"        self.assertEqual(DEFAULT_DOMAIN_ID, ref[\u0027domain_id\u0027])"},{"line_number":2221,"context_line":""},{"line_number":2222,"context_line":"    @tests.skip_if_no_multiple_domains_support"},{"line_number":2223,"context_line":"    @test_utils.wip(\u0027waiting for the is_domain field implementation\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_53b77620","line":2220,"in_reply_to":"1a4dcd0f_dc6e3bc7","updated":"2015-08-13 13:16:48.000000000","message":"see comment above.","commit_id":"78cb5692462eff48ee2c06dd9726af57bd0c37ef"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"6179da7c01598581d9213cdaf2060cf8fb83cf0f","unresolved":false,"context_lines":[{"line_number":2197,"context_line":"    @tests.skip_if_no_multiple_domains_support"},{"line_number":2198,"context_line":"    @test_utils.wip(\u0027waiting for projects acting as domains implementation\u0027)"},{"line_number":2199,"context_line":"    def test_is_domain_sub_project_has_parent_domain_id(self):"},{"line_number":2200,"context_line":"        project_id \u003d uuid.uuid4().hex"},{"line_number":2201,"context_line":"        project \u003d {\u0027id\u0027: project_id,"},{"line_number":2202,"context_line":"                   \u0027description\u0027: \u0027\u0027,"},{"line_number":2203,"context_line":"                   \u0027domain_id\u0027: DEFAULT_DOMAIN_ID,"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_4f1d6dbc","line":2200,"updated":"2015-08-17 13:28:26.000000000","message":"this is not necessary, you can just use project[\u0027id\u0027]","commit_id":"887eef40d4512929a6cb7df6b085167fb8e3809a"},{"author":{"_account_id":10046,"name":"Henrique Truta","email":"henrique@lsd.ufcg.edu.br","username":"henriquetruta"},"change_message_id":"b2746f2862365b5ccae5c99cb7cf6fe119f564e5","unresolved":false,"context_lines":[{"line_number":2197,"context_line":"    @tests.skip_if_no_multiple_domains_support"},{"line_number":2198,"context_line":"    @test_utils.wip(\u0027waiting for projects acting as domains implementation\u0027)"},{"line_number":2199,"context_line":"    def test_is_domain_sub_project_has_parent_domain_id(self):"},{"line_number":2200,"context_line":"        project_id \u003d uuid.uuid4().hex"},{"line_number":2201,"context_line":"        project \u003d {\u0027id\u0027: project_id,"},{"line_number":2202,"context_line":"                   \u0027description\u0027: \u0027\u0027,"},{"line_number":2203,"context_line":"                   \u0027domain_id\u0027: DEFAULT_DOMAIN_ID,"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_fcf753f3","line":2200,"in_reply_to":"fa1b9901_4f1d6dbc","updated":"2015-08-17 17:30:00.000000000","message":"Done","commit_id":"887eef40d4512929a6cb7df6b085167fb8e3809a"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"6179da7c01598581d9213cdaf2060cf8fb83cf0f","unresolved":false,"context_lines":[{"line_number":2247,"context_line":""},{"line_number":2248,"context_line":"    @tests.skip_if_no_multiple_domains_support"},{"line_number":2249,"context_line":"    @test_utils.wip(\u0027waiting for projects acting as domains implementation\u0027)"},{"line_number":2250,"context_line":"    def test_not_create_domain_under_project_hierarchy(self):"},{"line_number":2251,"context_line":"        projects_hierarchy \u003d self._create_projects_hierarchy()"},{"line_number":2252,"context_line":"        parent \u003d projects_hierarchy[1]"},{"line_number":2253,"context_line":"        project_id \u003d uuid.uuid4().hex"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_0f653544","line":2250,"updated":"2015-08-17 13:28:26.000000000","message":"_under_regular_project_hierarchy()","commit_id":"887eef40d4512929a6cb7df6b085167fb8e3809a"},{"author":{"_account_id":10046,"name":"Henrique Truta","email":"henrique@lsd.ufcg.edu.br","username":"henriquetruta"},"change_message_id":"b2746f2862365b5ccae5c99cb7cf6fe119f564e5","unresolved":false,"context_lines":[{"line_number":2247,"context_line":""},{"line_number":2248,"context_line":"    @tests.skip_if_no_multiple_domains_support"},{"line_number":2249,"context_line":"    @test_utils.wip(\u0027waiting for projects acting as domains implementation\u0027)"},{"line_number":2250,"context_line":"    def test_not_create_domain_under_project_hierarchy(self):"},{"line_number":2251,"context_line":"        projects_hierarchy \u003d self._create_projects_hierarchy()"},{"line_number":2252,"context_line":"        parent \u003d projects_hierarchy[1]"},{"line_number":2253,"context_line":"        project_id \u003d uuid.uuid4().hex"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_dcc92fae","line":2250,"in_reply_to":"fa1b9901_0f653544","updated":"2015-08-17 17:30:00.000000000","message":"Done","commit_id":"887eef40d4512929a6cb7df6b085167fb8e3809a"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"6179da7c01598581d9213cdaf2060cf8fb83cf0f","unresolved":false,"context_lines":[{"line_number":2248,"context_line":"    @tests.skip_if_no_multiple_domains_support"},{"line_number":2249,"context_line":"    @test_utils.wip(\u0027waiting for projects acting as domains implementation\u0027)"},{"line_number":2250,"context_line":"    def test_not_create_domain_under_project_hierarchy(self):"},{"line_number":2251,"context_line":"        projects_hierarchy \u003d self._create_projects_hierarchy()"},{"line_number":2252,"context_line":"        parent \u003d projects_hierarchy[1]"},{"line_number":2253,"context_line":"        project_id \u003d uuid.uuid4().hex"},{"line_number":2254,"context_line":"        project \u003d {\u0027id\u0027: project_id,"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_4f748dfc","line":2251,"updated":"2015-08-17 13:28:26.000000000","message":"add a comment that you are creating a hierarchy of regular projects","commit_id":"887eef40d4512929a6cb7df6b085167fb8e3809a"},{"author":{"_account_id":10046,"name":"Henrique Truta","email":"henrique@lsd.ufcg.edu.br","username":"henriquetruta"},"change_message_id":"b2746f2862365b5ccae5c99cb7cf6fe119f564e5","unresolved":false,"context_lines":[{"line_number":2248,"context_line":"    @tests.skip_if_no_multiple_domains_support"},{"line_number":2249,"context_line":"    @test_utils.wip(\u0027waiting for projects acting as domains implementation\u0027)"},{"line_number":2250,"context_line":"    def test_not_create_domain_under_project_hierarchy(self):"},{"line_number":2251,"context_line":"        projects_hierarchy \u003d self._create_projects_hierarchy()"},{"line_number":2252,"context_line":"        parent \u003d projects_hierarchy[1]"},{"line_number":2253,"context_line":"        project_id \u003d uuid.uuid4().hex"},{"line_number":2254,"context_line":"        project \u003d {\u0027id\u0027: project_id,"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_9cc41793","line":2251,"in_reply_to":"fa1b9901_4f748dfc","updated":"2015-08-17 17:30:00.000000000","message":"Done","commit_id":"887eef40d4512929a6cb7df6b085167fb8e3809a"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"6179da7c01598581d9213cdaf2060cf8fb83cf0f","unresolved":false,"context_lines":[{"line_number":2306,"context_line":"        self.assertTrue(ref[\u0027is_domain\u0027])"},{"line_number":2307,"context_line":""},{"line_number":2308,"context_line":"    @test_utils.wip(\u0027waiting for projects acting as domains implementation\u0027)"},{"line_number":2309,"context_line":"    def test_create_project_with_parent_id_and_without_domain_id(self):"},{"line_number":2310,"context_line":"        project \u003d {\u0027id\u0027: uuid.uuid4().hex,"},{"line_number":2311,"context_line":"                   \u0027description\u0027: \u0027\u0027,"},{"line_number":2312,"context_line":"                   \u0027domain_id\u0027: None,"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_0ff3f574","line":2309,"updated":"2015-08-17 13:28:26.000000000","message":"what about the other case: with_domain_id_and_no_parent_id ?","commit_id":"887eef40d4512929a6cb7df6b085167fb8e3809a"},{"author":{"_account_id":10046,"name":"Henrique Truta","email":"henrique@lsd.ufcg.edu.br","username":"henriquetruta"},"change_message_id":"b2746f2862365b5ccae5c99cb7cf6fe119f564e5","unresolved":false,"context_lines":[{"line_number":2306,"context_line":"        self.assertTrue(ref[\u0027is_domain\u0027])"},{"line_number":2307,"context_line":""},{"line_number":2308,"context_line":"    @test_utils.wip(\u0027waiting for projects acting as domains implementation\u0027)"},{"line_number":2309,"context_line":"    def test_create_project_with_parent_id_and_without_domain_id(self):"},{"line_number":2310,"context_line":"        project \u003d {\u0027id\u0027: uuid.uuid4().hex,"},{"line_number":2311,"context_line":"                   \u0027description\u0027: \u0027\u0027,"},{"line_number":2312,"context_line":"                   \u0027domain_id\u0027: None,"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_3cc14be5","line":2309,"in_reply_to":"fa1b9901_0ff3f574","updated":"2015-08-17 17:30:00.000000000","message":"Done","commit_id":"887eef40d4512929a6cb7df6b085167fb8e3809a"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"9be688be931ee846199a2f03695e47cecf473f71","unresolved":false,"context_lines":[{"line_number":2209,"context_line":"        sub_project_id \u003d uuid.uuid4().hex"},{"line_number":2210,"context_line":"        sub_project \u003d {\u0027id\u0027: sub_project_id,"},{"line_number":2211,"context_line":"                       \u0027description\u0027: \u0027\u0027,"},{"line_number":2212,"context_line":"                       \u0027domain_id\u0027: project[\u0027id\u0027],"},{"line_number":2213,"context_line":"                       \u0027enabled\u0027: True,"},{"line_number":2214,"context_line":"                       \u0027name\u0027: uuid.uuid4().hex,"},{"line_number":2215,"context_line":"                       \u0027parent_id\u0027: project[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa1b9901_d77fd364","line":2212,"updated":"2015-08-21 19:23:14.000000000","message":"in which patch will we test having domain id filled in when you have only specified parent-id?","commit_id":"b2e32db20c8b98bf22eb7f8a784ca638c6eb3edb"},{"author":{"_account_id":10046,"name":"Henrique Truta","email":"henrique@lsd.ufcg.edu.br","username":"henriquetruta"},"change_message_id":"216b1aa3426c7a81a954615876b3b945d0c86e1a","unresolved":false,"context_lines":[{"line_number":2209,"context_line":"        sub_project_id \u003d uuid.uuid4().hex"},{"line_number":2210,"context_line":"        sub_project \u003d {\u0027id\u0027: sub_project_id,"},{"line_number":2211,"context_line":"                       \u0027description\u0027: \u0027\u0027,"},{"line_number":2212,"context_line":"                       \u0027domain_id\u0027: project[\u0027id\u0027],"},{"line_number":2213,"context_line":"                       \u0027enabled\u0027: True,"},{"line_number":2214,"context_line":"                       \u0027name\u0027: uuid.uuid4().hex,"},{"line_number":2215,"context_line":"                       \u0027parent_id\u0027: project[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa1b9901_1aba52c1","line":2212,"in_reply_to":"fa1b9901_d77fd364","updated":"2015-08-21 20:16:46.000000000","message":"At this same patch, L575 https://review.openstack.org/#/c/212045/7/keystone/tests/unit/test_v3_assignment.py","commit_id":"b2e32db20c8b98bf22eb7f8a784ca638c6eb3edb"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"177114a65741b4d3b6853dc72424057abaded8cc","unresolved":false,"context_lines":[{"line_number":2246,"context_line":""},{"line_number":2247,"context_line":"    @tests.skip_if_no_multiple_domains_support"},{"line_number":2248,"context_line":"    @test_utils.wip(\u0027waiting for projects acting as domains implementation\u0027)"},{"line_number":2249,"context_line":"    def test_not_create_domain_under_regular_project_hierarchy(self):"},{"line_number":2250,"context_line":"        # Creating a regular project hierarchy. Projects acting as domains"},{"line_number":2251,"context_line":"        # can\u0027t have a parent that is a regular project."},{"line_number":2252,"context_line":"        projects_hierarchy \u003d self._create_projects_hierarchy()"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa1b9901_970f1b2e","line":2249,"updated":"2015-08-21 19:20:42.000000000","message":"nit: maybe a better name would be \"test_create_domain_under_regular_project_hierarchy_fails\"","commit_id":"b2e32db20c8b98bf22eb7f8a784ca638c6eb3edb"},{"author":{"_account_id":10046,"name":"Henrique Truta","email":"henrique@lsd.ufcg.edu.br","username":"henriquetruta"},"change_message_id":"216b1aa3426c7a81a954615876b3b945d0c86e1a","unresolved":false,"context_lines":[{"line_number":2246,"context_line":""},{"line_number":2247,"context_line":"    @tests.skip_if_no_multiple_domains_support"},{"line_number":2248,"context_line":"    @test_utils.wip(\u0027waiting for projects acting as domains implementation\u0027)"},{"line_number":2249,"context_line":"    def test_not_create_domain_under_regular_project_hierarchy(self):"},{"line_number":2250,"context_line":"        # Creating a regular project hierarchy. Projects acting as domains"},{"line_number":2251,"context_line":"        # can\u0027t have a parent that is a regular project."},{"line_number":2252,"context_line":"        projects_hierarchy \u003d self._create_projects_hierarchy()"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa1b9901_da9cda5f","line":2249,"in_reply_to":"fa1b9901_970f1b2e","updated":"2015-08-21 20:16:46.000000000","message":"Done","commit_id":"b2e32db20c8b98bf22eb7f8a784ca638c6eb3edb"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"26a4bb8a63af8dd1469a1deb5da98d1b11ad2c34","unresolved":false,"context_lines":[{"line_number":2184,"context_line":"    def test_create_domain_with_project_api(self):"},{"line_number":2185,"context_line":"        project_id \u003d uuid.uuid4().hex"},{"line_number":2186,"context_line":"        project \u003d {\u0027id\u0027: project_id,"},{"line_number":2187,"context_line":"                   \u0027description\u0027: \u0027\u0027,"},{"line_number":2188,"context_line":"                   \u0027domain_id\u0027: DEFAULT_DOMAIN_ID,"},{"line_number":2189,"context_line":"                   \u0027enabled\u0027: True,"},{"line_number":2190,"context_line":"                   \u0027name\u0027: uuid.uuid4().hex,"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa1b9901_4b923af8","line":2187,"updated":"2015-08-21 21:38:51.000000000","message":"nit: in all of these project dicts, you could remove many of the attributes since they are defaulted anyway....would cut down the number of lines quite a lot!","commit_id":"549bad5dd045eea139529774e64c1036e92f4bcc"},{"author":{"_account_id":10046,"name":"Henrique Truta","email":"henrique@lsd.ufcg.edu.br","username":"henriquetruta"},"change_message_id":"b59d63727a85439f2d4fa0ea7e8f0a4223e9db03","unresolved":false,"context_lines":[{"line_number":2184,"context_line":"    def test_create_domain_with_project_api(self):"},{"line_number":2185,"context_line":"        project_id \u003d uuid.uuid4().hex"},{"line_number":2186,"context_line":"        project \u003d {\u0027id\u0027: project_id,"},{"line_number":2187,"context_line":"                   \u0027description\u0027: \u0027\u0027,"},{"line_number":2188,"context_line":"                   \u0027domain_id\u0027: DEFAULT_DOMAIN_ID,"},{"line_number":2189,"context_line":"                   \u0027enabled\u0027: True,"},{"line_number":2190,"context_line":"                   \u0027name\u0027: uuid.uuid4().hex,"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa1b9901_59f20671","line":2187,"in_reply_to":"fa1b9901_4b923af8","updated":"2015-08-22 17:02:36.000000000","message":"ok. I\u0027ll remove a few of them in a next patchset","commit_id":"549bad5dd045eea139529774e64c1036e92f4bcc"}],"keystone/tests/unit/test_v3_assignment.py":[{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"6179da7c01598581d9213cdaf2060cf8fb83cf0f","unresolved":false,"context_lines":[{"line_number":542,"context_line":"                  expected_status\u003d501)"},{"line_number":543,"context_line":""},{"line_number":544,"context_line":"    @utils.wip(\u0027waiting for projects acting as domains implementation\u0027)"},{"line_number":545,"context_line":"    def test_create_project_without_domain_id_and_parent_id(self):"},{"line_number":546,"context_line":"        \"\"\"Call ``POST /projects``.\"\"\""},{"line_number":547,"context_line":""},{"line_number":548,"context_line":"        # Grant a domain role for the user"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_a1ce9d58","line":545,"updated":"2015-08-17 13:28:26.000000000","message":"follow the same naming pattern: choose one of with_X_and_no_Y or with_X_and_without_Y","commit_id":"887eef40d4512929a6cb7df6b085167fb8e3809a"},{"author":{"_account_id":10046,"name":"Henrique Truta","email":"henrique@lsd.ufcg.edu.br","username":"henriquetruta"},"change_message_id":"b2746f2862365b5ccae5c99cb7cf6fe119f564e5","unresolved":false,"context_lines":[{"line_number":542,"context_line":"                  expected_status\u003d501)"},{"line_number":543,"context_line":""},{"line_number":544,"context_line":"    @utils.wip(\u0027waiting for projects acting as domains implementation\u0027)"},{"line_number":545,"context_line":"    def test_create_project_without_domain_id_and_parent_id(self):"},{"line_number":546,"context_line":"        \"\"\"Call ``POST /projects``.\"\"\""},{"line_number":547,"context_line":""},{"line_number":548,"context_line":"        # Grant a domain role for the user"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_1726a0ba","line":545,"in_reply_to":"fa1b9901_a1ce9d58","updated":"2015-08-17 17:30:00.000000000","message":"Done","commit_id":"887eef40d4512929a6cb7df6b085167fb8e3809a"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"177114a65741b4d3b6853dc72424057abaded8cc","unresolved":false,"context_lines":[{"line_number":541,"context_line":"                  expected_status\u003d501)"},{"line_number":542,"context_line":""},{"line_number":543,"context_line":"    @utils.wip(\u0027waiting for projects acting as domains implementation\u0027)"},{"line_number":544,"context_line":"    def test_create_project_with_parent_id_and_whithout_domain_id(self):"},{"line_number":545,"context_line":"        \"\"\"Call ``POST /projects``.\"\"\""},{"line_number":546,"context_line":""},{"line_number":547,"context_line":"        # Grant a domain role for the user"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa1b9901_7d7353e8","line":544,"updated":"2015-08-21 19:20:42.000000000","message":"does this test create a project with a parent_id ?","commit_id":"b2e32db20c8b98bf22eb7f8a784ca638c6eb3edb"},{"author":{"_account_id":10046,"name":"Henrique Truta","email":"henrique@lsd.ufcg.edu.br","username":"henriquetruta"},"change_message_id":"216b1aa3426c7a81a954615876b3b945d0c86e1a","unresolved":false,"context_lines":[{"line_number":541,"context_line":"                  expected_status\u003d501)"},{"line_number":542,"context_line":""},{"line_number":543,"context_line":"    @utils.wip(\u0027waiting for projects acting as domains implementation\u0027)"},{"line_number":544,"context_line":"    def test_create_project_with_parent_id_and_whithout_domain_id(self):"},{"line_number":545,"context_line":"        \"\"\"Call ``POST /projects``.\"\"\""},{"line_number":546,"context_line":""},{"line_number":547,"context_line":"        # Grant a domain role for the user"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa1b9901_3afb9649","line":544,"in_reply_to":"fa1b9901_7d7353e8","updated":"2015-08-21 20:16:46.000000000","message":"nope. the name is wrong. it is without parent_id","commit_id":"b2e32db20c8b98bf22eb7f8a784ca638c6eb3edb"}],"keystone/tests/unit/test_validation.py":[{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"177114a65741b4d3b6853dc72424057abaded8cc","unresolved":false,"context_lines":[{"line_number":435,"context_line":"                                   \u0027domain_id\u0027: domain_id}"},{"line_number":436,"context_line":"            self.create_project_validator.validate(request_to_validate)"},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"    def test_validate_project_request_with_invalid_domain_id_fails(self):"},{"line_number":439,"context_line":"        \"\"\"Exception is raised when `domain_id` as a non-id value.\"\"\""},{"line_number":440,"context_line":"        for domain_id in [False, \u0027fake_project\u0027]:"},{"line_number":441,"context_line":"            request_to_validate \u003d {\u0027name\u0027: self.project_name,"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa1b9901_9de667af","line":438,"updated":"2015-08-21 19:20:42.000000000","message":"while this seems a good test..is it really part of this change?","commit_id":"b2e32db20c8b98bf22eb7f8a784ca638c6eb3edb"},{"author":{"_account_id":10046,"name":"Henrique Truta","email":"henrique@lsd.ufcg.edu.br","username":"henriquetruta"},"change_message_id":"216b1aa3426c7a81a954615876b3b945d0c86e1a","unresolved":false,"context_lines":[{"line_number":435,"context_line":"                                   \u0027domain_id\u0027: domain_id}"},{"line_number":436,"context_line":"            self.create_project_validator.validate(request_to_validate)"},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"    def test_validate_project_request_with_invalid_domain_id_fails(self):"},{"line_number":439,"context_line":"        \"\"\"Exception is raised when `domain_id` as a non-id value.\"\"\""},{"line_number":440,"context_line":"        for domain_id in [False, \u0027fake_project\u0027]:"},{"line_number":441,"context_line":"            request_to_validate \u003d {\u0027name\u0027: self.project_name,"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa1b9901_ba6b26f1","line":438,"in_reply_to":"fa1b9901_9de667af","updated":"2015-08-21 20:16:46.000000000","message":"in the next patch we\u0027ll make domain_id nullable. But you\u0027re right... I can remove this and put it into the next one.","commit_id":"b2e32db20c8b98bf22eb7f8a784ca638c6eb3edb"}]}
