)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"ad77920da72daf0001a86a355ec72fb7146cdf6a","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Remove domain table references"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch removes all references to the domain table, and removes the"},{"line_number":10,"context_line":"project table domain_id FK, that pointed to the domain table."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Co-Authored-By: Henrique Truta \u003chenrique@lsd.ufcg.edu.br\u003e"},{"line_number":13,"context_line":"Co-Authored-By: Raildo Mascena \u003craildo@lsd.ufcg.edu.br\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":35,"id":"1a4dcd0f_8ea37e9e","line":10,"updated":"2015-08-03 17:52:48.000000000","message":"Maybe follow the previous patches of the chain and give more detail about the changes made here?\n\nFor example, besides removing all Manager calls to the domain table, it also removes the domain_id FK in project table","commit_id":"43085836d8fbef62f51360a807ea56fb82cee162"},{"author":{"_account_id":10046,"name":"Henrique Truta","email":"henrique@lsd.ufcg.edu.br","username":"henriquetruta"},"change_message_id":"eb766de9169bfb1997dd713f5578a1be5121964f","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Remove domain table references"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch removes all references to the domain table, and removes the"},{"line_number":10,"context_line":"project table domain_id FK, that pointed to the domain table."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Co-Authored-By: Henrique Truta \u003chenrique@lsd.ufcg.edu.br\u003e"},{"line_number":13,"context_line":"Co-Authored-By: Raildo Mascena \u003craildo@lsd.ufcg.edu.br\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":35,"id":"1a4dcd0f_e0564e29","line":10,"in_reply_to":"1a4dcd0f_8ea37e9e","updated":"2015-08-05 19:11:07.000000000","message":"Done","commit_id":"43085836d8fbef62f51360a807ea56fb82cee162"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"60b0dc53b21f36bd7e20a9df2b81fc4e22769b8c","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Remove domain table references"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Removes all Manager and Driver calls that used the domain table."},{"line_number":10,"context_line":"It also removes the project table domain_id FK, that point to domain"},{"line_number":11,"context_line":"table."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Co-Authored-By: Henrique Truta \u003chenrique@lsd.ufcg.edu.br\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":45,"id":"5a2ca52d_3b27ed13","line":10,"updated":"2015-10-14 07:57:06.000000000","message":"this was not done in this patch, right? pls remove these from the commit message.","commit_id":"f0d05dbc6d87b443cfb5401d6a05bee3f9b8b15b"},{"author":{"_account_id":10046,"name":"Henrique Truta","email":"henrique@lsd.ufcg.edu.br","username":"henriquetruta"},"change_message_id":"d17df4bed6daa5db386af0c06b2dcd5f21116f85","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Remove domain table references"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Removes all Manager and Driver calls that used the domain table."},{"line_number":10,"context_line":"It also removes the project table domain_id FK, that point to domain"},{"line_number":11,"context_line":"table."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Co-Authored-By: Henrique Truta \u003chenrique@lsd.ufcg.edu.br\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":45,"id":"5a2ca52d_7370d2dc","line":10,"in_reply_to":"5a2ca52d_3b27ed13","updated":"2015-10-15 20:59:33.000000000","message":"Done","commit_id":"f0d05dbc6d87b443cfb5401d6a05bee3f9b8b15b"}],"keystone/common/sql/migrate_repo/versions/077_drop_project_domain_id_fk.py":[{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"ad77920da72daf0001a86a355ec72fb7146cdf6a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":35,"id":"1a4dcd0f_eeb482d2","updated":"2015-08-03 17:52:48.000000000","message":"what about the FKs in the tables? Do we have more?","commit_id":"43085836d8fbef62f51360a807ea56fb82cee162"},{"author":{"_account_id":10046,"name":"Henrique Truta","email":"henrique@lsd.ufcg.edu.br","username":"henriquetruta"},"change_message_id":"eb766de9169bfb1997dd713f5578a1be5121964f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":35,"id":"1a4dcd0f_46415a37","in_reply_to":"1a4dcd0f_eeb482d2","updated":"2015-08-05 19:11:07.000000000","message":"as strange as it might sound, other tables do not have. Not even \"user\" and \"group\"","commit_id":"43085836d8fbef62f51360a807ea56fb82cee162"}],"keystone/resource/backends/ldap.py":[{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"23a6548ebd827a74d8382decbe73b2038bd99fd8","unresolved":false,"context_lines":[{"line_number":199,"context_line":"            self.project.update(tenant_id, tenant))"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"    def delete_project(self, tenant_id):"},{"line_number":202,"context_line":"        if tenant_id \u003d\u003d CONF.identity.default_domain_id:"},{"line_number":203,"context_line":"            self._delete_domain(tenant_id)"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"        self.project.check_allow_delete()"}],"source_content_type":"text/x-python","patch_set":17,"id":"7aaa499b_b9143344","line":202,"updated":"2015-04-13 23:51:06.000000000","message":"so I don\u0027t see how this can ever be true....since in the manager we won\u0027t call this for the project representing the default domain","commit_id":"5aa1813cf7b736be92d54646723bf9383516d5c9"},{"author":{"_account_id":8866,"name":"Raildo Mascena de Sousa Filho","email":"rmascena@redhat.com","username":"raildo"},"change_message_id":"25be1a48cbe8f98e5638c78be270754c0418e9f9","unresolved":false,"context_lines":[{"line_number":199,"context_line":"            self.project.update(tenant_id, tenant))"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"    def delete_project(self, tenant_id):"},{"line_number":202,"context_line":"        if tenant_id \u003d\u003d CONF.identity.default_domain_id:"},{"line_number":203,"context_line":"            self._delete_domain(tenant_id)"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"        self.project.check_allow_delete()"}],"source_content_type":"text/x-python","patch_set":17,"id":"7aaa499b_64ced7b5","line":202,"in_reply_to":"7aaa499b_b9143344","updated":"2015-04-14 20:36:51.000000000","message":"You\u0027re right, I\u0027ll remove this here and in update_project.","commit_id":"5aa1813cf7b736be92d54646723bf9383516d5c9"}],"keystone/resource/core.py":[{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"23a6548ebd827a74d8382decbe73b2038bd99fd8","unresolved":false,"context_lines":[{"line_number":356,"context_line":"                raise exception.ForbiddenAction("},{"line_number":357,"context_line":"                    action\u003d_(\u0027cannot delete a project with the domain feature \u0027"},{"line_number":358,"context_line":"                             \u0027that is enabled, please disable it first.\u0027))"},{"line_number":359,"context_line":"            self.delete_domain(tenant_id, initiator)"},{"line_number":360,"context_line":"        else:"},{"line_number":361,"context_line":"            self._delete_project(tenant_id, initiator)"},{"line_number":362,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"7aaa499b_399ca3bf","line":359,"updated":"2015-04-13 23:51:06.000000000","message":"so is the idea that if the project is a domain, the delete_domain will delete all sub projects AND the project acting as the domain itself?","commit_id":"5aa1813cf7b736be92d54646723bf9383516d5c9"},{"author":{"_account_id":8866,"name":"Raildo Mascena de Sousa Filho","email":"rmascena@redhat.com","username":"raildo"},"change_message_id":"25be1a48cbe8f98e5638c78be270754c0418e9f9","unresolved":false,"context_lines":[{"line_number":356,"context_line":"                raise exception.ForbiddenAction("},{"line_number":357,"context_line":"                    action\u003d_(\u0027cannot delete a project with the domain feature \u0027"},{"line_number":358,"context_line":"                             \u0027that is enabled, please disable it first.\u0027))"},{"line_number":359,"context_line":"            self.delete_domain(tenant_id, initiator)"},{"line_number":360,"context_line":"        else:"},{"line_number":361,"context_line":"            self._delete_project(tenant_id, initiator)"},{"line_number":362,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"7aaa499b_a4ba9fbe","line":359,"in_reply_to":"7aaa499b_399ca3bf","updated":"2015-04-14 20:36:51.000000000","message":"yes, that is the idea, if the project is a domain, I need to handle with this project as a domain, so we call the delete_domain, and inside then we have to remove all subprojects.","commit_id":"5aa1813cf7b736be92d54646723bf9383516d5c9"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"ac565c53ee67ced58d47a626812a55da2f017cd9","unresolved":false,"context_lines":[{"line_number":299,"context_line":"            domain \u003d self._get_domain_from_project(project_ref)"},{"line_number":300,"context_line":"            self.assert_domain_not_federated(tenant_id, domain)"},{"line_number":301,"context_line":"            if \u0027enabled\u0027 in domain:"},{"line_number":302,"context_line":"                domain[\u0027enabled\u0027] \u003d clean.domain_enabled(domain[\u0027enabled\u0027])"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"        ret \u003d self._update_project(tenant_id, tenant, initiator)"},{"line_number":305,"context_line":"        if ret[\u0027is_domain\u0027]:"}],"source_content_type":"text/x-python","patch_set":21,"id":"1aca2d91_25744c66","line":302,"updated":"2015-05-08 13:25:23.000000000","message":"this method (clean.domain_enabled()) accepts type ints as values for boolean, which is something I think we (as in Keystone) are trying to get away from.\n\nhttps://github.com/openstack/keystone/blob/master/keystone/clean.py#L47-L50\n\nSInce we don\u0027t allow end users the ability to pass enabled as 0 or 1 via the jsonschema validation API: \n\nhttps://github.com/openstack/keystone/blob/master/keystone/common/validation/parameter_types.py#L14-L17\n\nMaybe an alternative to this would be to provide an internal jsonschema for domains still and only do that check here. This might be good because it would allow us to move away from keystone/clean.py in a subsequent patch.","commit_id":"42f006f47cb51acf7748eb64237f3cd77260c873"},{"author":{"_account_id":8866,"name":"Raildo Mascena de Sousa Filho","email":"rmascena@redhat.com","username":"raildo"},"change_message_id":"cd2bd690ae8765ed4ef7459174c447ed3a855c06","unresolved":false,"context_lines":[{"line_number":299,"context_line":"            domain \u003d self._get_domain_from_project(project_ref)"},{"line_number":300,"context_line":"            self.assert_domain_not_federated(tenant_id, domain)"},{"line_number":301,"context_line":"            if \u0027enabled\u0027 in domain:"},{"line_number":302,"context_line":"                domain[\u0027enabled\u0027] \u003d clean.domain_enabled(domain[\u0027enabled\u0027])"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"        ret \u003d self._update_project(tenant_id, tenant, initiator)"},{"line_number":305,"context_line":"        if ret[\u0027is_domain\u0027]:"}],"source_content_type":"text/x-python","patch_set":21,"id":"9a0c5dc1_0a2f44f7","line":302,"in_reply_to":"1aca2d91_25744c66","updated":"2015-05-13 17:57:01.000000000","message":"i get yout point here, but I don\u0027t know how to check because I don\u0027t know if we need to check this here, since this is already validate before.\n\nDo you have ant suggestions?","commit_id":"42f006f47cb51acf7748eb64237f3cd77260c873"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"ac565c53ee67ced58d47a626812a55da2f017cd9","unresolved":false,"context_lines":[{"line_number":556,"context_line":"        domain[\u0027enabled\u0027] \u003d clean.domain_enabled(domain[\u0027enabled\u0027])"},{"line_number":557,"context_line":""},{"line_number":558,"context_line":"    def create_domain(self, domain_id, domain, initiator\u003dNone):"},{"line_number":559,"context_line":""},{"line_number":560,"context_line":"        self.check_domain_properties(domain_id, domain, initiator)"},{"line_number":561,"context_line":""},{"line_number":562,"context_line":"        # Create an is_domain project based on the requested domain"}],"source_content_type":"text/x-python","patch_set":21,"id":"1aca2d91_7a3c1fe2","line":559,"updated":"2015-05-08 13:25:23.000000000","message":"nit: is the whitespace needed here?","commit_id":"42f006f47cb51acf7748eb64237f3cd77260c873"},{"author":{"_account_id":8866,"name":"Raildo Mascena de Sousa Filho","email":"rmascena@redhat.com","username":"raildo"},"change_message_id":"cd2bd690ae8765ed4ef7459174c447ed3a855c06","unresolved":false,"context_lines":[{"line_number":556,"context_line":"        domain[\u0027enabled\u0027] \u003d clean.domain_enabled(domain[\u0027enabled\u0027])"},{"line_number":557,"context_line":""},{"line_number":558,"context_line":"    def create_domain(self, domain_id, domain, initiator\u003dNone):"},{"line_number":559,"context_line":""},{"line_number":560,"context_line":"        self.check_domain_properties(domain_id, domain, initiator)"},{"line_number":561,"context_line":""},{"line_number":562,"context_line":"        # Create an is_domain project based on the requested domain"}],"source_content_type":"text/x-python","patch_set":21,"id":"9a0c5dc1_ca380c40","line":559,"in_reply_to":"1aca2d91_7a3c1fe2","updated":"2015-05-13 17:57:01.000000000","message":"Done","commit_id":"42f006f47cb51acf7748eb64237f3cd77260c873"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"60b0dc53b21f36bd7e20a9df2b81fc4e22769b8c","unresolved":false,"context_lines":[{"line_number":423,"context_line":"            self.assert_domain_not_federated(tenant_id, domain)"},{"line_number":424,"context_line":"            if \u0027enabled\u0027 in domain:"},{"line_number":425,"context_line":"                domain[\u0027enabled\u0027] \u003d clean.domain_enabled(domain[\u0027enabled\u0027])"},{"line_number":426,"context_line":""},{"line_number":427,"context_line":"        ret \u003d self._update_project(tenant_id, tenant, initiator)"},{"line_number":428,"context_line":"        if ret[\u0027is_domain\u0027]:"},{"line_number":429,"context_line":"            self.get_domain.invalidate(self, tenant_id)"}],"source_content_type":"text/x-python","patch_set":45,"id":"5a2ca52d_f01d1474","side":"PARENT","line":426,"updated":"2015-10-14 07:57:06.000000000","message":"does this change needed?","commit_id":"9428c5755f77a11661c4f45c49743eb7b2c24070"},{"author":{"_account_id":10046,"name":"Henrique Truta","email":"henrique@lsd.ufcg.edu.br","username":"henriquetruta"},"change_message_id":"d17df4bed6daa5db386af0c06b2dcd5f21116f85","unresolved":false,"context_lines":[{"line_number":423,"context_line":"            self.assert_domain_not_federated(tenant_id, domain)"},{"line_number":424,"context_line":"            if \u0027enabled\u0027 in domain:"},{"line_number":425,"context_line":"                domain[\u0027enabled\u0027] \u003d clean.domain_enabled(domain[\u0027enabled\u0027])"},{"line_number":426,"context_line":""},{"line_number":427,"context_line":"        ret \u003d self._update_project(tenant_id, tenant, initiator)"},{"line_number":428,"context_line":"        if ret[\u0027is_domain\u0027]:"},{"line_number":429,"context_line":"            self.get_domain.invalidate(self, tenant_id)"}],"source_content_type":"text/x-python","patch_set":45,"id":"5a2ca52d_533916f1","side":"PARENT","line":426,"in_reply_to":"5a2ca52d_f01d1474","updated":"2015-10-15 20:59:33.000000000","message":"Done","commit_id":"9428c5755f77a11661c4f45c49743eb7b2c24070"}],"keystone/tests/unit/test_backend.py":[{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"60b0dc53b21f36bd7e20a9df2b81fc4e22769b8c","unresolved":false,"context_lines":[{"line_number":3892,"context_line":"        project_ref \u003d self.resource_api.get_project(project[\u0027id\u0027])"},{"line_number":3893,"context_line":"        self.assertDictEqual(project, project_ref)"},{"line_number":3894,"context_line":""},{"line_number":3895,"context_line":"    @unit.skip_if_no_multiple_domains_support"},{"line_number":3896,"context_line":"    def test_domain_crud(self):"},{"line_number":3897,"context_line":"        domain \u003d {\u0027id\u0027: uuid.uuid4().hex, \u0027name\u0027: uuid.uuid4().hex,"},{"line_number":3898,"context_line":"                  \u0027enabled\u0027: True, \u0027description\u0027: uuid.uuid4().hex}"}],"source_content_type":"text/x-python","patch_set":45,"id":"5a2ca52d_3b784dc4","line":3895,"updated":"2015-10-14 07:57:06.000000000","message":"might be better to change the name to \"test_domain_project_crud\"?","commit_id":"f0d05dbc6d87b443cfb5401d6a05bee3f9b8b15b"},{"author":{"_account_id":10046,"name":"Henrique Truta","email":"henrique@lsd.ufcg.edu.br","username":"henriquetruta"},"change_message_id":"d17df4bed6daa5db386af0c06b2dcd5f21116f85","unresolved":false,"context_lines":[{"line_number":3892,"context_line":"        project_ref \u003d self.resource_api.get_project(project[\u0027id\u0027])"},{"line_number":3893,"context_line":"        self.assertDictEqual(project, project_ref)"},{"line_number":3894,"context_line":""},{"line_number":3895,"context_line":"    @unit.skip_if_no_multiple_domains_support"},{"line_number":3896,"context_line":"    def test_domain_crud(self):"},{"line_number":3897,"context_line":"        domain \u003d {\u0027id\u0027: uuid.uuid4().hex, \u0027name\u0027: uuid.uuid4().hex,"},{"line_number":3898,"context_line":"                  \u0027enabled\u0027: True, \u0027description\u0027: uuid.uuid4().hex}"}],"source_content_type":"text/x-python","patch_set":45,"id":"5a2ca52d_33257ac0","line":3895,"in_reply_to":"5a2ca52d_3b784dc4","updated":"2015-10-15 20:59:33.000000000","message":"we could, but it is not the scope of this patch","commit_id":"f0d05dbc6d87b443cfb5401d6a05bee3f9b8b15b"}],"keystone/tests/unit/test_backend_ldap.py":[{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"60b0dc53b21f36bd7e20a9df2b81fc4e22769b8c","unresolved":false,"context_lines":[{"line_number":1579,"context_line":"# TODO(henry-nash): These need to be removed when the full LDAP implementation"},{"line_number":1580,"context_line":"# is submitted - see Bugs 1092187, 1101287, 1101276, 1101289"},{"line_number":1581,"context_line":""},{"line_number":1582,"context_line":"    @unit.skip_if_no_multiple_domains_support"},{"line_number":1583,"context_line":"    def test_domain_crud(self):"},{"line_number":1584,"context_line":"        domain \u003d {\u0027id\u0027: uuid.uuid4().hex, \u0027name\u0027: uuid.uuid4().hex,"},{"line_number":1585,"context_line":"                  \u0027enabled\u0027: True, \u0027description\u0027: uuid.uuid4().hex}"}],"source_content_type":"text/x-python","patch_set":45,"id":"5a2ca52d_7b5a4585","line":1582,"updated":"2015-10-14 07:57:06.000000000","message":"can we say it \"test_domain_project_crud\"?","commit_id":"f0d05dbc6d87b443cfb5401d6a05bee3f9b8b15b"},{"author":{"_account_id":10046,"name":"Henrique Truta","email":"henrique@lsd.ufcg.edu.br","username":"henriquetruta"},"change_message_id":"d17df4bed6daa5db386af0c06b2dcd5f21116f85","unresolved":false,"context_lines":[{"line_number":1579,"context_line":"# TODO(henry-nash): These need to be removed when the full LDAP implementation"},{"line_number":1580,"context_line":"# is submitted - see Bugs 1092187, 1101287, 1101276, 1101289"},{"line_number":1581,"context_line":""},{"line_number":1582,"context_line":"    @unit.skip_if_no_multiple_domains_support"},{"line_number":1583,"context_line":"    def test_domain_crud(self):"},{"line_number":1584,"context_line":"        domain \u003d {\u0027id\u0027: uuid.uuid4().hex, \u0027name\u0027: uuid.uuid4().hex,"},{"line_number":1585,"context_line":"                  \u0027enabled\u0027: True, \u0027description\u0027: uuid.uuid4().hex}"}],"source_content_type":"text/x-python","patch_set":45,"id":"5a2ca52d_931a4e7c","line":1582,"in_reply_to":"5a2ca52d_7b5a4585","updated":"2015-10-15 20:59:33.000000000","message":"ditto","commit_id":"f0d05dbc6d87b443cfb5401d6a05bee3f9b8b15b"}],"keystone/tests/unit/test_sql_upgrade.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"ac565c53ee67ced58d47a626812a55da2f017cd9","unresolved":false,"context_lines":[{"line_number":687,"context_line":"        # Therefore, 7 projects (4 original projects, 3 from the domains)"},{"line_number":688,"context_line":"        self.assertEqual(7, projects.count())"},{"line_number":689,"context_line":""},{"line_number":690,"context_line":"    def test_update_domain_id_FK_project_table(self):"},{"line_number":691,"context_line":"        self.upgrade(76)"},{"line_number":692,"context_line":"        self.assertFalse(self.does_fk_exist(\u0027project\u0027, \u0027domain_id\u0027))"},{"line_number":693,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"1aca2d91_858c4036","line":690,"updated":"2015-05-08 13:25:23.000000000","message":"nit: \n\ns/FK/foreign_key/","commit_id":"42f006f47cb51acf7748eb64237f3cd77260c873"},{"author":{"_account_id":8866,"name":"Raildo Mascena de Sousa Filho","email":"rmascena@redhat.com","username":"raildo"},"change_message_id":"cd2bd690ae8765ed4ef7459174c447ed3a855c06","unresolved":false,"context_lines":[{"line_number":687,"context_line":"        # Therefore, 7 projects (4 original projects, 3 from the domains)"},{"line_number":688,"context_line":"        self.assertEqual(7, projects.count())"},{"line_number":689,"context_line":""},{"line_number":690,"context_line":"    def test_update_domain_id_FK_project_table(self):"},{"line_number":691,"context_line":"        self.upgrade(76)"},{"line_number":692,"context_line":"        self.assertFalse(self.does_fk_exist(\u0027project\u0027, \u0027domain_id\u0027))"},{"line_number":693,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"9a0c5dc1_6a4a40c7","line":690,"in_reply_to":"1aca2d91_858c4036","updated":"2015-05-13 17:57:01.000000000","message":"Done","commit_id":"42f006f47cb51acf7748eb64237f3cd77260c873"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"60b0dc53b21f36bd7e20a9df2b81fc4e22769b8c","unresolved":false,"context_lines":[{"line_number":682,"context_line":"        other_project[\u0027id\u0027] \u003d uuid.uuid4().hex"},{"line_number":683,"context_line":"        self.insert_dict(session, \u0027project\u0027, other_project)"},{"line_number":684,"context_line":""},{"line_number":685,"context_line":"    def test_drop_domain_id_FK_project_table(self):"},{"line_number":686,"context_line":"        self.upgrade(77)"},{"line_number":687,"context_line":"        self.assertFalse(self.does_fk_exist(\u0027project\u0027, \u0027domain_id\u0027))"},{"line_number":688,"context_line":""}],"source_content_type":"text/x-python","patch_set":45,"id":"5a2ca52d_dbd59943","line":685,"updated":"2015-10-14 07:57:06.000000000","message":"why this is not named correctly in the first place? pls keep the focus.","commit_id":"f0d05dbc6d87b443cfb5401d6a05bee3f9b8b15b"},{"author":{"_account_id":10046,"name":"Henrique Truta","email":"henrique@lsd.ufcg.edu.br","username":"henriquetruta"},"change_message_id":"d17df4bed6daa5db386af0c06b2dcd5f21116f85","unresolved":false,"context_lines":[{"line_number":682,"context_line":"        other_project[\u0027id\u0027] \u003d uuid.uuid4().hex"},{"line_number":683,"context_line":"        self.insert_dict(session, \u0027project\u0027, other_project)"},{"line_number":684,"context_line":""},{"line_number":685,"context_line":"    def test_drop_domain_id_FK_project_table(self):"},{"line_number":686,"context_line":"        self.upgrade(77)"},{"line_number":687,"context_line":"        self.assertFalse(self.does_fk_exist(\u0027project\u0027, \u0027domain_id\u0027))"},{"line_number":688,"context_line":""}],"source_content_type":"text/x-python","patch_set":45,"id":"5a2ca52d_3377bad4","line":685,"in_reply_to":"5a2ca52d_dbd59943","updated":"2015-10-15 20:59:33.000000000","message":"Done","commit_id":"f0d05dbc6d87b443cfb5401d6a05bee3f9b8b15b"}]}
