)]}'
{"etc/tempest.conf.sample":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"76d4695a9de8d3e116652cf2ff44684dcf571e9f","unresolved":false,"context_lines":[{"line_number":337,"context_line":"# API key to use when authenticating as admin. (string value)"},{"line_number":338,"context_line":"#password\u003d\u003cNone\u003e"},{"line_number":339,"context_line":""},{"line_number":340,"context_line":"# Domain name for authentication as admin (Keystone V3)."},{"line_number":341,"context_line":"# (string value)"},{"line_number":342,"context_line":"#domain_name\u003d\u003cNone\u003e"},{"line_number":343,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":9,"id":"AAAAXX%2F%2Fx0w%3D","line":340,"updated":"2014-04-28 00:27:51.000000000","message":"Update the comment to indicate whether this is the domain name for the user or the project.\n\nAlso, change Keystone V3 to \"Identity API V3\" since there is no keystone v3.\n\nThese comments apply to all of these new domain name options.","commit_id":"0f1db25f8bd5d5ddbde6b57d1cff33eeea9f38af"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"c4080a0627d14586d6e854acf0df623b198bab74","unresolved":false,"context_lines":[{"line_number":337,"context_line":"# API key to use when authenticating as admin. (string value)"},{"line_number":338,"context_line":"#password\u003d\u003cNone\u003e"},{"line_number":339,"context_line":""},{"line_number":340,"context_line":"# Domain name for authentication as admin (Keystone V3)."},{"line_number":341,"context_line":"# (string value)"},{"line_number":342,"context_line":"#domain_name\u003d\u003cNone\u003e"},{"line_number":343,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":9,"id":"bad4c104_0034dbdc","line":340,"in_reply_to":"AAAAXX%2F%2Fx0w%3D","updated":"2014-04-29 11:49:53.000000000","message":"Done","commit_id":"0f1db25f8bd5d5ddbde6b57d1cff33eeea9f38af"}],"tempest/auth.py":[{"author":{"_account_id":7227,"name":"Timur Nurlygayanov","email":"tnurlygayanov@mirantis.com","username":"tnurlygayanov"},"change_message_id":"1ae6fb6c953b2e5266c656446388beb6dbaaf3d1","unresolved":false,"context_lines":[{"line_number":533,"context_line":""},{"line_number":534,"context_line":"    def __init__(self, **kwargs):"},{"line_number":535,"context_line":"        \"\"\""},{"line_number":536,"context_line":"         If domain is not specified, load the one configured for the"},{"line_number":537,"context_line":"         identity manager"},{"line_number":538,"context_line":"        \"\"\""},{"line_number":539,"context_line":"        domain_fields \u003d [x for x in self.ATTRIBUTES if \u0027domain\u0027 in x]"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2BulE%3D","line":536,"updated":"2014-03-24 19:28:49.000000000","message":"Please, do not use different pattern for doc strings. need to use the same number of whitespaces before the strings.","commit_id":"bc10899d2ff5c581875a005e964459077d80e6b6"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"94c30931dd1a4617604422b285534bdc543374e1","unresolved":false,"context_lines":[{"line_number":533,"context_line":""},{"line_number":534,"context_line":"    def __init__(self, **kwargs):"},{"line_number":535,"context_line":"        \"\"\""},{"line_number":536,"context_line":"         If domain is not specified, load the one configured for the"},{"line_number":537,"context_line":"         identity manager"},{"line_number":538,"context_line":"        \"\"\""},{"line_number":539,"context_line":"        domain_fields \u003d [x for x in self.ATTRIBUTES if \u0027domain\u0027 in x]"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2Btjc%3D","line":536,"in_reply_to":"AAAAWH%2F%2BulE%3D","updated":"2014-03-24 22:05:24.000000000","message":"Done","commit_id":"bc10899d2ff5c581875a005e964459077d80e6b6"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"76d4695a9de8d3e116652cf2ff44684dcf571e9f","unresolved":false,"context_lines":[{"line_number":543,"context_line":"    CONF_ATTRIBUTES \u003d [\u0027username\u0027, \u0027password\u0027, \u0027tenant_name\u0027, \u0027domain_name\u0027]"},{"line_number":544,"context_line":"    ATTRIBUTES \u003d [\u0027user_id\u0027, \u0027tenant_id\u0027, \u0027user_domain_id\u0027, \u0027user_domain_name\u0027,"},{"line_number":545,"context_line":"                  \u0027project_id\u0027, \u0027project_name\u0027, \u0027project_domain_id\u0027,"},{"line_number":546,"context_line":"                  \u0027project_domain_name\u0027, \u0027tenant_id\u0027, \u0027tenant_name\u0027]"},{"line_number":547,"context_line":"    ATTRIBUTES.extend(CONF_ATTRIBUTES)"},{"line_number":548,"context_line":""},{"line_number":549,"context_line":"    def __init__(self, **kwargs):"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAXX%2F%2Fx0U%3D","line":546,"updated":"2014-04-28 00:27:51.000000000","message":"tenant_id is listed twice. suggest put these in alphabetical order.","commit_id":"0f1db25f8bd5d5ddbde6b57d1cff33eeea9f38af"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"c4080a0627d14586d6e854acf0df623b198bab74","unresolved":false,"context_lines":[{"line_number":543,"context_line":"    CONF_ATTRIBUTES \u003d [\u0027username\u0027, \u0027password\u0027, \u0027tenant_name\u0027, \u0027domain_name\u0027]"},{"line_number":544,"context_line":"    ATTRIBUTES \u003d [\u0027user_id\u0027, \u0027tenant_id\u0027, \u0027user_domain_id\u0027, \u0027user_domain_name\u0027,"},{"line_number":545,"context_line":"                  \u0027project_id\u0027, \u0027project_name\u0027, \u0027project_domain_id\u0027,"},{"line_number":546,"context_line":"                  \u0027project_domain_name\u0027, \u0027tenant_id\u0027, \u0027tenant_name\u0027]"},{"line_number":547,"context_line":"    ATTRIBUTES.extend(CONF_ATTRIBUTES)"},{"line_number":548,"context_line":""},{"line_number":549,"context_line":"    def __init__(self, **kwargs):"}],"source_content_type":"text/x-python","patch_set":9,"id":"bad4c104_e03617e7","line":546,"in_reply_to":"AAAAXX%2F%2Fx0U%3D","updated":"2014-04-29 11:49:53.000000000","message":"Done","commit_id":"0f1db25f8bd5d5ddbde6b57d1cff33eeea9f38af"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"b7ffabe06d29048e9e9a2edb57f7199e916c4add","unresolved":false,"context_lines":[{"line_number":554,"context_line":"        If domain is not specified, load the one configured for the"},{"line_number":555,"context_line":"        identity manager."},{"line_number":556,"context_line":"        \"\"\""},{"line_number":557,"context_line":"        domain_fields \u003d [x for x in self.ATTRIBUTES if \u0027domain\u0027 in x]"},{"line_number":558,"context_line":"        if len(set(domain_fields).intersection(kwargs.keys())) \u003d\u003d 0:"},{"line_number":559,"context_line":"            kwargs[\u0027user_domain_name\u0027] \u003d CONF.identity.admin_domain_name"},{"line_number":560,"context_line":"        super(KeystoneV3Credentials, self).__init__(**kwargs)"}],"source_content_type":"text/x-python","patch_set":10,"id":"9ad9bd40_c2e3e403","line":557,"updated":"2014-04-29 23:00:39.000000000","message":"make domain_fields a set to begin with\n\n domain_fields\u003dset(x for x in self.ATTRIBUTES if \u0027domain\u0027 in x)","commit_id":"aca6c4c5a7e72acee48bcff122177d459eba4035"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"2985e47c4059b882fd4300b08799909dc57df18e","unresolved":false,"context_lines":[{"line_number":554,"context_line":"        If domain is not specified, load the one configured for the"},{"line_number":555,"context_line":"        identity manager."},{"line_number":556,"context_line":"        \"\"\""},{"line_number":557,"context_line":"        domain_fields \u003d [x for x in self.ATTRIBUTES if \u0027domain\u0027 in x]"},{"line_number":558,"context_line":"        if len(set(domain_fields).intersection(kwargs.keys())) \u003d\u003d 0:"},{"line_number":559,"context_line":"            kwargs[\u0027user_domain_name\u0027] \u003d CONF.identity.admin_domain_name"},{"line_number":560,"context_line":"        super(KeystoneV3Credentials, self).__init__(**kwargs)"}],"source_content_type":"text/x-python","patch_set":10,"id":"9ad9bd40_94e2e8d3","line":557,"in_reply_to":"9ad9bd40_c2e3e403","updated":"2014-04-30 12:36:22.000000000","message":"Done","commit_id":"aca6c4c5a7e72acee48bcff122177d459eba4035"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"b7ffabe06d29048e9e9a2edb57f7199e916c4add","unresolved":false,"context_lines":[{"line_number":555,"context_line":"        identity manager."},{"line_number":556,"context_line":"        \"\"\""},{"line_number":557,"context_line":"        domain_fields \u003d [x for x in self.ATTRIBUTES if \u0027domain\u0027 in x]"},{"line_number":558,"context_line":"        if len(set(domain_fields).intersection(kwargs.keys())) \u003d\u003d 0:"},{"line_number":559,"context_line":"            kwargs[\u0027user_domain_name\u0027] \u003d CONF.identity.admin_domain_name"},{"line_number":560,"context_line":"        super(KeystoneV3Credentials, self).__init__(**kwargs)"},{"line_number":561,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"9ad9bd40_e219c823","line":558,"updated":"2014-04-29 23:00:39.000000000","message":"could remove len() \u003d\u003d 0 since empty set is falsy and we don\u0027t really care how many are in the resulting set.\n\n if not domain_fields.intersection(kwargs.keys()):","commit_id":"aca6c4c5a7e72acee48bcff122177d459eba4035"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"2985e47c4059b882fd4300b08799909dc57df18e","unresolved":false,"context_lines":[{"line_number":555,"context_line":"        identity manager."},{"line_number":556,"context_line":"        \"\"\""},{"line_number":557,"context_line":"        domain_fields \u003d [x for x in self.ATTRIBUTES if \u0027domain\u0027 in x]"},{"line_number":558,"context_line":"        if len(set(domain_fields).intersection(kwargs.keys())) \u003d\u003d 0:"},{"line_number":559,"context_line":"            kwargs[\u0027user_domain_name\u0027] \u003d CONF.identity.admin_domain_name"},{"line_number":560,"context_line":"        super(KeystoneV3Credentials, self).__init__(**kwargs)"},{"line_number":561,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"9ad9bd40_b4e7ece3","line":558,"in_reply_to":"9ad9bd40_e219c823","updated":"2014-04-30 12:36:22.000000000","message":"Done","commit_id":"aca6c4c5a7e72acee48bcff122177d459eba4035"}],"tempest/config.py":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"e63b7d05d7c78c538dc09612760ada5032786a5b","unresolved":false,"context_lines":[{"line_number":87,"context_line":"               default\u003dNone,"},{"line_number":88,"context_line":"               help\u003d\"API key to use when authenticating as alternate user.\","},{"line_number":89,"context_line":"               secret\u003dTrue),"},{"line_number":90,"context_line":"    cfg.StrOpt(\u0027alt_domain_name\u0027,"},{"line_number":91,"context_line":"               default\u003d\u0027Default\u0027,"},{"line_number":92,"context_line":"               help\u003d\"Alternate domain name for authentication (Keystone V3).\"),"},{"line_number":93,"context_line":"    cfg.StrOpt(\u0027admin_username\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWH%2F9uBU%3D","line":90,"updated":"2014-04-02 15:40:49.000000000","message":"can we default this to domain_name, not a string?","commit_id":"c3e1441120393b93c6f5837fa97cdcb9241a7138"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"e63b7d05d7c78c538dc09612760ada5032786a5b","unresolved":false,"context_lines":[{"line_number":102,"context_line":"               default\u003dNone,"},{"line_number":103,"context_line":"               help\u003d\"API key to use when authenticating as admin.\","},{"line_number":104,"context_line":"               secret\u003dTrue),"},{"line_number":105,"context_line":"    cfg.StrOpt(\u0027admin_domain_name\u0027,"},{"line_number":106,"context_line":"               default\u003d\u0027Default\u0027,"},{"line_number":107,"context_line":"               help\u003d\"Admin domain name for authentication (Keystone V3).\"),"},{"line_number":108,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWH%2F9uA4%3D","line":105,"updated":"2014-04-02 15:40:49.000000000","message":"can we default this to domain_name, not a string?","commit_id":"c3e1441120393b93c6f5837fa97cdcb9241a7138"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"e63b7d05d7c78c538dc09612760ada5032786a5b","unresolved":false,"context_lines":[{"line_number":298,"context_line":"               default\u003dNone,"},{"line_number":299,"context_line":"               help\u003d\"API key to use when authenticating as admin.\","},{"line_number":300,"context_line":"               secret\u003dTrue),"},{"line_number":301,"context_line":"    cfg.StrOpt(\u0027domain_name\u0027,"},{"line_number":302,"context_line":"               default\u003d\u0027Default\u0027,"},{"line_number":303,"context_line":"               help\u003d\"Domain name for authentication as admin (Keystone V3).\"),"},{"line_number":304,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWH%2F9uAY%3D","line":301,"updated":"2014-04-02 15:40:49.000000000","message":"can this be coupled to the admin_domain_name?","commit_id":"c3e1441120393b93c6f5837fa97cdcb9241a7138"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"76d4695a9de8d3e116652cf2ff44684dcf571e9f","unresolved":false,"context_lines":[{"line_number":994,"context_line":"        if not self.compute_admin.username:"},{"line_number":995,"context_line":"            self.compute_admin.username \u003d self.identity.admin_username"},{"line_number":996,"context_line":"            self.compute_admin.password \u003d self.identity.admin_password"},{"line_number":997,"context_line":"            self.compute_admin.tenant_name \u003d self.identity.admin_tenant_nme"},{"line_number":998,"context_line":"        cfg.CONF.set_default(\u0027domain_name\u0027, self.identity.admin_domain_name,"},{"line_number":999,"context_line":"                             group\u003d\u0027identity\u0027)"},{"line_number":1000,"context_line":"        cfg.CONF.set_default(\u0027alt_domain_name\u0027,"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAXX%2F%2Fxz4%3D","line":997,"updated":"2014-04-28 00:27:51.000000000","message":"self.identity.admin_tenant_nme is misspelled now.","commit_id":"0f1db25f8bd5d5ddbde6b57d1cff33eeea9f38af"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"c4080a0627d14586d6e854acf0df623b198bab74","unresolved":false,"context_lines":[{"line_number":994,"context_line":"        if not self.compute_admin.username:"},{"line_number":995,"context_line":"            self.compute_admin.username \u003d self.identity.admin_username"},{"line_number":996,"context_line":"            self.compute_admin.password \u003d self.identity.admin_password"},{"line_number":997,"context_line":"            self.compute_admin.tenant_name \u003d self.identity.admin_tenant_nme"},{"line_number":998,"context_line":"        cfg.CONF.set_default(\u0027domain_name\u0027, self.identity.admin_domain_name,"},{"line_number":999,"context_line":"                             group\u003d\u0027identity\u0027)"},{"line_number":1000,"context_line":"        cfg.CONF.set_default(\u0027alt_domain_name\u0027,"}],"source_content_type":"text/x-python","patch_set":9,"id":"bad4c104_80570b02","line":997,"in_reply_to":"AAAAXX%2F%2Fxz4%3D","updated":"2014-04-29 11:49:53.000000000","message":"Done","commit_id":"0f1db25f8bd5d5ddbde6b57d1cff33eeea9f38af"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"af557413666c2864871db93f0c5c59c614a46f01","unresolved":false,"context_lines":[{"line_number":316,"context_line":"               secret\u003dTrue),"},{"line_number":317,"context_line":"    cfg.StrOpt(\u0027domain_name\u0027,"},{"line_number":318,"context_line":"               default\u003dNone,"},{"line_number":319,"context_line":"               help\u003d\"Domain name for authentication as admin (Keystone V3).\""},{"line_number":320,"context_line":"                    \"The same domain applies to user and project\"),"},{"line_number":321,"context_line":"]"},{"line_number":322,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad9bd40_29f61ad8","line":319,"updated":"2014-04-30 18:55:46.000000000","message":"we determined that we can\u0027t make these default to the main domain_name value?","commit_id":"b1b04bbd187cda7f78abdd6c598e9231c27a2c6b"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"5ee3cf7e68883374dfecc0751d01776d5f43cf72","unresolved":false,"context_lines":[{"line_number":316,"context_line":"               secret\u003dTrue),"},{"line_number":317,"context_line":"    cfg.StrOpt(\u0027domain_name\u0027,"},{"line_number":318,"context_line":"               default\u003dNone,"},{"line_number":319,"context_line":"               help\u003d\"Domain name for authentication as admin (Keystone V3).\""},{"line_number":320,"context_line":"                    \"The same domain applies to user and project\"),"},{"line_number":321,"context_line":"]"},{"line_number":322,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad9bd40_7b9f0360","line":319,"in_reply_to":"9ad9bd40_29f61ad8","updated":"2014-04-30 21:30:40.000000000","message":"It cannot be done in here directly, but it\u0027s implemented in L1015 to L1021.","commit_id":"b1b04bbd187cda7f78abdd6c598e9231c27a2c6b"}],"tempest/tests/fake_credentials.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"76d4695a9de8d3e116652cf2ff44684dcf571e9f","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        super(FakeKeystoneV2Credentials, self).__init__(**creds)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class FakeKeystoneV3Credentials(auth.KeystoneV3Credentials):"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def __init__(self):"},{"line_number":39,"context_line":"        creds \u003d dict("}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAXX%2F%2Fxzk%3D","line":36,"updated":"2014-04-28 00:27:51.000000000","message":"these really should be IdentityV3 and not KeystoneV3.","commit_id":"0f1db25f8bd5d5ddbde6b57d1cff33eeea9f38af"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"c4080a0627d14586d6e854acf0df623b198bab74","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        super(FakeKeystoneV2Credentials, self).__init__(**creds)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class FakeKeystoneV3Credentials(auth.KeystoneV3Credentials):"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def __init__(self):"},{"line_number":39,"context_line":"        creds \u003d dict("}],"source_content_type":"text/x-python","patch_set":9,"id":"bad4c104_80caab9f","line":36,"in_reply_to":"AAAAXX%2F%2Fxzk%3D","updated":"2014-04-29 11:49:53.000000000","message":"The naming is not crystal clear, but to avoid very very long names, I\u0027d prefer to keep it as it is.\n\nIt starts with AuthProvider, which is specialized by KeystoneAuthProvider, an auth provider for Keystone. \nSo far so good.\n\nThe next level in the hierarchy is the KeystoneAuthProvider for the Identity API V2 and then the one for Identity API V3.\n\nI called them KeystoneV2AuthProvider and KeystoneV3AuthProvider. Alternatives are:\n- IdentityV2AuthProvider: it doesn\u0027t contain Keystone anymore which makes it confusing \n- KeystoneIdentityV2AuthProvider: it seems too long and a bit redundant\n\nI will include comments to explain the various names.","commit_id":"0f1db25f8bd5d5ddbde6b57d1cff33eeea9f38af"}],"tempest/tests/test_auth.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"b7ffabe06d29048e9e9a2edb57f7199e916c4add","unresolved":false,"context_lines":[{"line_number":347,"context_line":"                     \u0027project_domain_name\u0027]:"},{"line_number":348,"context_line":"            cred \u003d copy.copy(self.credentials)"},{"line_number":349,"context_line":"            del cred[attr]"},{"line_number":350,"context_line":"            self.assertFalse(self.auth_provider.check_credentials(cred))"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"    def test_check_domain_credentials_missing_attribute(self):"},{"line_number":353,"context_line":"        # reset credentials to fresh ones"}],"source_content_type":"text/x-python","patch_set":10,"id":"9ad9bd40_82871c0f","line":350,"updated":"2014-04-29 23:00:39.000000000","message":"suggest add the attr name to the failure message since it\u0027s just going to print \"True isn\u0027t False\". -- add \"attr\u003d%s\" % attr.","commit_id":"aca6c4c5a7e72acee48bcff122177d459eba4035"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"2985e47c4059b882fd4300b08799909dc57df18e","unresolved":false,"context_lines":[{"line_number":347,"context_line":"                     \u0027project_domain_name\u0027]:"},{"line_number":348,"context_line":"            cred \u003d copy.copy(self.credentials)"},{"line_number":349,"context_line":"            del cred[attr]"},{"line_number":350,"context_line":"            self.assertFalse(self.auth_provider.check_credentials(cred))"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"    def test_check_domain_credentials_missing_attribute(self):"},{"line_number":353,"context_line":"        # reset credentials to fresh ones"}],"source_content_type":"text/x-python","patch_set":10,"id":"9ad9bd40_34775c04","line":350,"in_reply_to":"9ad9bd40_82871c0f","updated":"2014-04-30 12:36:22.000000000","message":"Done","commit_id":"aca6c4c5a7e72acee48bcff122177d459eba4035"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"b7ffabe06d29048e9e9a2edb57f7199e916c4add","unresolved":false,"context_lines":[{"line_number":356,"context_line":"        for attr in [\u0027username\u0027, \u0027password\u0027, \u0027user_domain_name\u0027]:"},{"line_number":357,"context_line":"            cred \u003d copy.copy(domain_creds)"},{"line_number":358,"context_line":"            del cred[attr]"},{"line_number":359,"context_line":"            self.assertFalse(self.auth_provider.check_credentials(cred))"},{"line_number":360,"context_line":""},{"line_number":361,"context_line":"    # Overwrites v2 test"},{"line_number":362,"context_line":"    def test_base_url_to_get_admin_endpoint(self):"}],"source_content_type":"text/x-python","patch_set":10,"id":"9ad9bd40_e2754833","line":359,"updated":"2014-04-29 23:00:39.000000000","message":"suggest add the attr name to the failure message since it\u0027s just going to print \"True isn\u0027t False\". -- add \"attr\u003d%s\" % attr.","commit_id":"aca6c4c5a7e72acee48bcff122177d459eba4035"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"2985e47c4059b882fd4300b08799909dc57df18e","unresolved":false,"context_lines":[{"line_number":356,"context_line":"        for attr in [\u0027username\u0027, \u0027password\u0027, \u0027user_domain_name\u0027]:"},{"line_number":357,"context_line":"            cred \u003d copy.copy(domain_creds)"},{"line_number":358,"context_line":"            del cred[attr]"},{"line_number":359,"context_line":"            self.assertFalse(self.auth_provider.check_credentials(cred))"},{"line_number":360,"context_line":""},{"line_number":361,"context_line":"    # Overwrites v2 test"},{"line_number":362,"context_line":"    def test_base_url_to_get_admin_endpoint(self):"}],"source_content_type":"text/x-python","patch_set":10,"id":"9ad9bd40_5474e0fc","line":359,"in_reply_to":"9ad9bd40_e2754833","updated":"2014-04-30 12:36:22.000000000","message":"Done","commit_id":"aca6c4c5a7e72acee48bcff122177d459eba4035"}],"tempest/tests/test_credentials.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"76d4695a9de8d3e116652cf2ff44684dcf571e9f","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from tempest import auth"},{"line_number":18,"context_line":"from tempest.common import http"},{"line_number":19,"context_line":"from tempest.common import tempest_fixtures as fixtures"},{"line_number":20,"context_line":"from tempest import config"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAXX%2F%2FxzQ%3D","line":17,"updated":"2014-04-28 00:27:51.000000000","message":"revert whitespace change on previous line.","commit_id":"0f1db25f8bd5d5ddbde6b57d1cff33eeea9f38af"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"76d4695a9de8d3e116652cf2ff44684dcf571e9f","unresolved":false,"context_lines":[{"line_number":24,"context_line":"from tempest.tests import fake_http"},{"line_number":25,"context_line":"from tempest.tests import fake_identity"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from oslo.config import cfg"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class CredentialsTests(base.TestCase):"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAXX%2F%2FxzM%3D","line":27,"updated":"2014-04-28 00:27:51.000000000","message":"external libraries should come before tempest libs.","commit_id":"0f1db25f8bd5d5ddbde6b57d1cff33eeea9f38af"}]}
