)]}'
{"tempest/api/identity/admin/v3/test_domains.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"741f6bbec488e090dd542a0ad85ececbce1d07d7","unresolved":false,"context_lines":[{"line_number":138,"context_line":"        self.assertDictContainsSubset(expected_data, domain)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"class DefaultDomainTestJSON(base.BaseIdentityV3AdminTest):"},{"line_number":142,"context_line":"    # NOTE: force_tenant_isolation is false to allow test execution for"},{"line_number":143,"context_line":"    # clouds using the pre-provisioned credentials provider"},{"line_number":144,"context_line":"    force_tenant_isolation \u003d False"}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_746dff96","line":141,"range":{"start_line":141,"start_character":33,"end_line":141,"end_character":56},"updated":"2017-12-04 19:35:20.000000000","message":"If this were slightly refactored to use (ignoring syntax issues): cls.domain_id \u003d cls.os_primary.credentials.project_domain_id\n\nAnd then using non-admin base class and self.os_primary.domains_client.show_domain(self.domain). This would then allow you to not have to even specify `force_tenant_isolation \u003d False`\n\nBecause the rule the show_domain endpoint enforces is: https://github.com/openstack/keystone/blob/847997aa02a5ceb14999dcfd1bf372c47b734422/keystone/common/policies/base.py#L21\n\n\nBut that is maybe out of scope, so this change LGTM","commit_id":"82e3cbd69dfe68cd96c243fa0acf431172b00ea4"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"54843c6a55c4a6f77f525f21047e93912993935f","unresolved":false,"context_lines":[{"line_number":138,"context_line":"        self.assertDictContainsSubset(expected_data, domain)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"class DefaultDomainTestJSON(base.BaseIdentityV3AdminTest):"},{"line_number":142,"context_line":"    # NOTE: force_tenant_isolation is false to allow test execution for"},{"line_number":143,"context_line":"    # clouds using the pre-provisioned credentials provider"},{"line_number":144,"context_line":"    force_tenant_isolation \u003d False"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_0d09e029","line":141,"range":{"start_line":141,"start_character":33,"end_line":141,"end_character":56},"in_reply_to":"5f7c97a3_96e1869e","updated":"2018-07-02 23:06:37.000000000","message":"Done","commit_id":"82e3cbd69dfe68cd96c243fa0acf431172b00ea4"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"1cc5dfee3e022554df2a605e4df3a58b2bd0d1f1","unresolved":false,"context_lines":[{"line_number":138,"context_line":"        self.assertDictContainsSubset(expected_data, domain)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"class DefaultDomainTestJSON(base.BaseIdentityV3AdminTest):"},{"line_number":142,"context_line":"    # NOTE: force_tenant_isolation is false to allow test execution for"},{"line_number":143,"context_line":"    # clouds using the pre-provisioned credentials provider"},{"line_number":144,"context_line":"    force_tenant_isolation \u003d False"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_96e1869e","line":141,"range":{"start_line":141,"start_character":33,"end_line":141,"end_character":56},"in_reply_to":"df87a7cf_746dff96","updated":"2018-07-02 21:53:10.000000000","message":"Actually no need for admin base class here given that show domain should be allowed to be performed using non-admin. So use non-admin base class and drop `force_tenant_isolation` and then will lgtm.","commit_id":"82e3cbd69dfe68cd96c243fa0acf431172b00ea4"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"2a2bcbd948d791041987ef08a9af9584335a5ed2","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"class DefaultDomainTestJSON(base.BaseIdentityV3Test):"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    @classmethod"},{"line_number":165,"context_line":"    def resource_setup(cls):"},{"line_number":166,"context_line":"        cls.domain_id \u003d CONF.identity.default_domain_id"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_7e04bc18","line":163,"updated":"2018-07-03 03:35:19.000000000","message":"Needs to define self.domains_client which is why this failed.\n\n    @classmethod\n    def setup_clients(cls):\n        super(DefaultDomainTestJSON, cls).setup_clients()\n        cls.domains_client \u003d cls.os_primary.domains_client\n\nInclude this above resource_setup and should work.","commit_id":"49e866c690bb84f979b50a212f6e809ffd8b4f49"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"b227c7a6780418175bc542439162734754ee9ef1","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"class DefaultDomainTestJSON(base.BaseIdentityV3Test):"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    @classmethod"},{"line_number":165,"context_line":"    def resource_setup(cls):"},{"line_number":166,"context_line":"        cls.domain_id \u003d CONF.identity.default_domain_id"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_b9702e75","line":163,"in_reply_to":"5f7c97a3_7e04bc18","updated":"2018-07-03 03:52:55.000000000","message":"Thanks, done.","commit_id":"49e866c690bb84f979b50a212f6e809ffd8b4f49"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"abd801078fb9db7505c5f6c0164a14d98eac99a4","unresolved":false,"context_lines":[{"line_number":155,"context_line":"        self.assertDictContainsSubset(expected_data, domain)"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"class DefaultDomainTestJSON(base.BaseIdentityV3Test):"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    @classmethod"},{"line_number":161,"context_line":"    def setup_clients(cls):"},{"line_number":162,"context_line":"        super(DefaultDomainTestJSON, cls).setup_clients()"},{"line_number":163,"context_line":"        cls.domains_client \u003d cls.os_primary.domains_client"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    @classmethod"},{"line_number":166,"context_line":"    def resource_setup(cls):"},{"line_number":167,"context_line":"        cls.domain_id \u003d CONF.identity.default_domain_id"},{"line_number":168,"context_line":"        super(DefaultDomainTestJSON, cls).resource_setup()"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"},{"line_number":171,"context_line":"    @decorators.idempotent_id(\u002717a5de24-e6a0-4e4a-a9ee-d85b6e5612b5\u0027)"},{"line_number":172,"context_line":"    def test_default_domain_exists(self):"},{"line_number":173,"context_line":"        domain \u003d self.domains_client.show_domain(self.domain_id)[\u0027domain\u0027]"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        self.assertTrue(domain[\u0027enabled\u0027])"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_8e82aaa4","line":175,"range":{"start_line":158,"start_character":0,"end_line":175,"end_character":42},"updated":"2018-07-17 07:17:28.000000000","message":"let\u0027s move this tests to non admin directory. You can move this tests to new file (test_domains.py.py) under https://github.com/openstack/tempest/tree/master/tempest/api/identity/v3","commit_id":"d0bdebaf654b27d78d6eb32ccc3a97f213496dfb"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"ed5b0fdc1d1613ddaab8dbb477bbfdcfa7f3140a","unresolved":false,"context_lines":[{"line_number":155,"context_line":"        self.assertDictContainsSubset(expected_data, domain)"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"class DefaultDomainTestJSON(base.BaseIdentityV3Test):"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    @classmethod"},{"line_number":161,"context_line":"    def setup_clients(cls):"},{"line_number":162,"context_line":"        super(DefaultDomainTestJSON, cls).setup_clients()"},{"line_number":163,"context_line":"        cls.domains_client \u003d cls.os_primary.domains_client"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    @classmethod"},{"line_number":166,"context_line":"    def resource_setup(cls):"},{"line_number":167,"context_line":"        cls.domain_id \u003d CONF.identity.default_domain_id"},{"line_number":168,"context_line":"        super(DefaultDomainTestJSON, cls).resource_setup()"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"},{"line_number":171,"context_line":"    @decorators.idempotent_id(\u002717a5de24-e6a0-4e4a-a9ee-d85b6e5612b5\u0027)"},{"line_number":172,"context_line":"    def test_default_domain_exists(self):"},{"line_number":173,"context_line":"        domain \u003d self.domains_client.show_domain(self.domain_id)[\u0027domain\u0027]"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        self.assertTrue(domain[\u0027enabled\u0027])"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_203d75bb","line":175,"range":{"start_line":158,"start_character":0,"end_line":175,"end_character":42},"in_reply_to":"5f7c97a3_8e82aaa4","updated":"2018-07-18 18:19:29.000000000","message":"Done","commit_id":"d0bdebaf654b27d78d6eb32ccc3a97f213496dfb"}],"tempest/api/identity/v3/test_domains.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"26b589605cce448ff3314ed115ba000001101088","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    @classmethod"},{"line_number":31,"context_line":"    def resource_setup(cls):"},{"line_number":32,"context_line":"        cls.domain_id \u003d CONF.identity.default_domain_id"},{"line_number":33,"context_line":"        super(DefaultDomainTestJSON, cls).resource_setup()"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"},{"line_number":36,"context_line":"    @decorators.idempotent_id(\u002717a5de24-e6a0-4e4a-a9ee-d85b6e5612b5\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_8357b3c9","line":33,"range":{"start_line":32,"start_character":0,"end_line":33,"end_character":58},"updated":"2018-07-18 19:20:12.000000000","message":"nit: These 2 lines should be reversed. Only resource_cleanup does it like this.","commit_id":"d0b753adb8cf26fdba3aa95db1eacd155b3c9dce"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"35acaffc93c53ca3cfda1c69986f5aaf0f83950f","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    @classmethod"},{"line_number":31,"context_line":"    def resource_setup(cls):"},{"line_number":32,"context_line":"        cls.domain_id \u003d CONF.identity.default_domain_id"},{"line_number":33,"context_line":"        super(DefaultDomainTestJSON, cls).resource_setup()"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"},{"line_number":36,"context_line":"    @decorators.idempotent_id(\u002717a5de24-e6a0-4e4a-a9ee-d85b6e5612b5\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_e36f875e","line":33,"range":{"start_line":32,"start_character":0,"end_line":33,"end_character":58},"in_reply_to":"5f7c97a3_8357b3c9","updated":"2018-07-18 19:26:04.000000000","message":"Done","commit_id":"d0b753adb8cf26fdba3aa95db1eacd155b3c9dce"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"cee8fa5d7ddf0e33c92f5f96bf29e6bc08f6fe10","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    @classmethod"},{"line_number":26,"context_line":"    def setup_clients(cls):"},{"line_number":27,"context_line":"        super(DefaultDomainTestJSON, cls).setup_clients()"},{"line_number":28,"context_line":"        cls.domains_client \u003d cls.os_primary.domains_client"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    @classmethod"},{"line_number":31,"context_line":"    def resource_setup(cls):"}],"source_content_type":"text/x-python","patch_set":17,"id":"9fdfeff1_4dc2cc88","line":28,"range":{"start_line":28,"start_character":8,"end_line":28,"end_character":58},"updated":"2019-03-05 02:06:56.000000000","message":"Yeah looks like it\u0027s not in base (only for admin: https://github.com/openstack/tempest/blob/a7c4c14493d9c20fb89daa5e094d6396a6cbe80d/tempest/api/identity/base.py#L214)","commit_id":"8d94885df02ea0a4826a1f271f011dfefd2c2ca9"}]}
