)]}'
{"tempest/api/identity/v2/test_tokens.py":[{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"1b7e530b2f69b5453c43d5d76cf6dbaf8b19e478","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            self.assertEqual(body[\u0027token\u0027][\u0027tenant\u0027][\u0027id\u0027], creds.tenant_id)"},{"line_number":47,"context_line":"        else:"},{"line_number":48,"context_line":"            # Expect a project ID, but don\u0027t know what it will be."},{"line_number":49,"context_line":"            self.assertGreaterEqual(len(body[\u0027token\u0027][\u0027tenant\u0027][\u0027id\u0027]), 0,"},{"line_number":50,"context_line":"                                    \u0027Expected tenant ID in token.\u0027)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        if tenant_name:"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a77a97e_fde8a27e","line":49,"updated":"2016-11-16 13:06:35.000000000","message":"0 ? not 1 ?","commit_id":"a34c3688596484f62a9e15f6cb3a3e0afdabc0f3"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"4fe7970cb2498bb63d5e4d1353d296b600d10032","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            self.assertEqual(body[\u0027token\u0027][\u0027tenant\u0027][\u0027id\u0027], creds.tenant_id)"},{"line_number":47,"context_line":"        else:"},{"line_number":48,"context_line":"            # Expect a project ID, but don\u0027t know what it will be."},{"line_number":49,"context_line":"            self.assertGreaterEqual(len(body[\u0027token\u0027][\u0027tenant\u0027][\u0027id\u0027]), 0,"},{"line_number":50,"context_line":"                                    \u0027Expected tenant ID in token.\u0027)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        if tenant_name:"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a77a97e_1cdf196a","line":49,"in_reply_to":"7a77a97e_fde8a27e","updated":"2016-11-16 15:08:56.000000000","message":"Done","commit_id":"a34c3688596484f62a9e15f6cb3a3e0afdabc0f3"},{"author":{"_account_id":9152,"name":"Castulo J. Martinez","email":"castulo.martinez@intel.com","username":"cas"},"change_message_id":"7bd721f379518c8593696ba22ba5dbc9c99ac82e","unresolved":false,"context_lines":[{"line_number":49,"context_line":"            self.assertGreaterEqual(len(body[\u0027token\u0027][\u0027tenant\u0027][\u0027id\u0027]), 1,"},{"line_number":50,"context_line":"                                    \u0027Expected tenant ID in token.\u0027)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        if tenant_name:"},{"line_number":53,"context_line":"            self.assertEqual(body[\u0027token\u0027][\u0027tenant\u0027][\u0027name\u0027], tenant_name)"},{"line_number":54,"context_line":"        else:"},{"line_number":55,"context_line":"            # Expect a project name, but don\u0027t know what it will be."}],"source_content_type":"text/x-python","patch_set":3,"id":"7a77a97e_175fe10e","line":52,"range":{"start_line":52,"start_character":11,"end_line":52,"end_character":22},"updated":"2016-11-16 20:53:20.000000000","message":"Isn\u0027t this value required?\nI tried running a test without specifying this value in the accounts.yaml and the test failed. If this value is always required then there is no point in using a condition here.","commit_id":"c53063b1fea5b7c7a2c608d7d806be9d08a0ff24"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"233a1368eb25681380683bb0c077c066447eb361","unresolved":false,"context_lines":[{"line_number":49,"context_line":"            self.assertGreaterEqual(len(body[\u0027token\u0027][\u0027tenant\u0027][\u0027id\u0027]), 1,"},{"line_number":50,"context_line":"                                    \u0027Expected tenant ID in token.\u0027)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        if tenant_name:"},{"line_number":53,"context_line":"            self.assertEqual(body[\u0027token\u0027][\u0027tenant\u0027][\u0027name\u0027], tenant_name)"},{"line_number":54,"context_line":"        else:"},{"line_number":55,"context_line":"            # Expect a project name, but don\u0027t know what it will be."}],"source_content_type":"text/x-python","patch_set":3,"id":"7a77a97e_979db15b","line":52,"range":{"start_line":52,"start_character":11,"end_line":52,"end_character":22},"in_reply_to":"7a77a97e_175fe10e","updated":"2016-11-16 21:06:06.000000000","message":"Keystone doesn\u0027t require tenant_name since you could use tenant_id instead. Or, you should be able to not set any of them and the user\u0027s default project will be used.","commit_id":"c53063b1fea5b7c7a2c608d7d806be9d08a0ff24"},{"author":{"_account_id":9152,"name":"Castulo J. Martinez","email":"castulo.martinez@intel.com","username":"cas"},"change_message_id":"888d6320a72ffd3b5aef0692bc99219821907366","unresolved":false,"context_lines":[{"line_number":49,"context_line":"            self.assertGreaterEqual(len(body[\u0027token\u0027][\u0027tenant\u0027][\u0027id\u0027]), 1,"},{"line_number":50,"context_line":"                                    \u0027Expected tenant ID in token.\u0027)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        if tenant_name:"},{"line_number":53,"context_line":"            self.assertEqual(body[\u0027token\u0027][\u0027tenant\u0027][\u0027name\u0027], tenant_name)"},{"line_number":54,"context_line":"        else:"},{"line_number":55,"context_line":"            # Expect a project name, but don\u0027t know what it will be."}],"source_content_type":"text/x-python","patch_set":3,"id":"7a77a97e_d3cd5232","line":52,"range":{"start_line":52,"start_character":11,"end_line":52,"end_character":22},"in_reply_to":"7a77a97e_979db15b","updated":"2016-11-17 16:02:22.000000000","message":"I just tried running the test again using only username and password in the accounts file and the test failed cause it cannot find body[\u0027token\u0027][\u0027tenant\u0027][\u0027id\u0027]\nI also tried running the test using: username, password and tenant_id and the test still fail with the same problem, cannot find body[\u0027token\u0027][\u0027tenant\u0027][\u0027id\u0027]","commit_id":"c53063b1fea5b7c7a2c608d7d806be9d08a0ff24"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"23660c7490411775481fd10b82df585b6d188942","unresolved":false,"context_lines":[{"line_number":49,"context_line":"            self.assertGreaterEqual(len(body[\u0027token\u0027][\u0027tenant\u0027][\u0027id\u0027]), 1,"},{"line_number":50,"context_line":"                                    \u0027Expected tenant ID in token.\u0027)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        if tenant_name:"},{"line_number":53,"context_line":"            self.assertEqual(body[\u0027token\u0027][\u0027tenant\u0027][\u0027name\u0027], tenant_name)"},{"line_number":54,"context_line":"        else:"},{"line_number":55,"context_line":"            # Expect a project name, but don\u0027t know what it will be."}],"source_content_type":"text/x-python","patch_set":3,"id":"5a74a57a_7c523636","line":52,"range":{"start_line":52,"start_character":11,"end_line":52,"end_character":22},"in_reply_to":"7a77a97e_d3cd5232","updated":"2016-11-29 15:04:17.000000000","message":"This is likely because of the way that you have the user configured in keystone. If there\u0027s no default project for the user that the deployer has set up then the identity server will return an unscoped token. An unscoped token isn\u0027t going to be useful for tempest testing so I don\u0027t think tempest needs to handle this case.","commit_id":"c53063b1fea5b7c7a2c608d7d806be9d08a0ff24"},{"author":{"_account_id":9152,"name":"Castulo J. Martinez","email":"castulo.martinez@intel.com","username":"cas"},"change_message_id":"7bd721f379518c8593696ba22ba5dbc9c99ac82e","unresolved":false,"context_lines":[{"line_number":60,"context_line":"            self.assertEqual(body[\u0027user\u0027][\u0027id\u0027], creds.user_id)"},{"line_number":61,"context_line":"        else:"},{"line_number":62,"context_line":"            # Expect a user ID, but don\u0027t know what it will be."},{"line_number":63,"context_line":"            self.assertGreaterEqual(len(body[\u0027user\u0027][\u0027id\u0027]), 1,"},{"line_number":64,"context_line":"                                    \u0027Expected user ID in token.\u0027)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        if username:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a77a97e_777d756d","line":63,"range":{"start_line":63,"start_character":17,"end_line":63,"end_character":35},"updated":"2016-11-16 20:53:20.000000000","message":"Every user should only have one ID, so I think it would be best to use assertEqual","commit_id":"c53063b1fea5b7c7a2c608d7d806be9d08a0ff24"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"233a1368eb25681380683bb0c077c066447eb361","unresolved":false,"context_lines":[{"line_number":60,"context_line":"            self.assertEqual(body[\u0027user\u0027][\u0027id\u0027], creds.user_id)"},{"line_number":61,"context_line":"        else:"},{"line_number":62,"context_line":"            # Expect a user ID, but don\u0027t know what it will be."},{"line_number":63,"context_line":"            self.assertGreaterEqual(len(body[\u0027user\u0027][\u0027id\u0027]), 1,"},{"line_number":64,"context_line":"                                    \u0027Expected user ID in token.\u0027)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        if username:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a77a97e_b7a46da6","line":63,"range":{"start_line":63,"start_character":17,"end_line":63,"end_character":35},"in_reply_to":"7a77a97e_777d756d","updated":"2016-11-16 21:06:06.000000000","message":"This is testing the length of the ID that was returned and not the number of Ids.","commit_id":"c53063b1fea5b7c7a2c608d7d806be9d08a0ff24"},{"author":{"_account_id":9152,"name":"Castulo J. Martinez","email":"castulo.martinez@intel.com","username":"cas"},"change_message_id":"888d6320a72ffd3b5aef0692bc99219821907366","unresolved":false,"context_lines":[{"line_number":60,"context_line":"            self.assertEqual(body[\u0027user\u0027][\u0027id\u0027], creds.user_id)"},{"line_number":61,"context_line":"        else:"},{"line_number":62,"context_line":"            # Expect a user ID, but don\u0027t know what it will be."},{"line_number":63,"context_line":"            self.assertGreaterEqual(len(body[\u0027user\u0027][\u0027id\u0027]), 1,"},{"line_number":64,"context_line":"                                    \u0027Expected user ID in token.\u0027)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        if username:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a77a97e_73fabe44","line":63,"range":{"start_line":63,"start_character":17,"end_line":63,"end_character":35},"in_reply_to":"7a77a97e_b7a46da6","updated":"2016-11-17 16:02:22.000000000","message":"Got it, I did;t look close enough, thanks for clarifying this point.","commit_id":"c53063b1fea5b7c7a2c608d7d806be9d08a0ff24"},{"author":{"_account_id":9152,"name":"Castulo J. Martinez","email":"castulo.martinez@intel.com","username":"cas"},"change_message_id":"7bd721f379518c8593696ba22ba5dbc9c99ac82e","unresolved":false,"context_lines":[{"line_number":63,"context_line":"            self.assertGreaterEqual(len(body[\u0027user\u0027][\u0027id\u0027]), 1,"},{"line_number":64,"context_line":"                                    \u0027Expected user ID in token.\u0027)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        if username:"},{"line_number":67,"context_line":"            self.assertEqual(body[\u0027user\u0027][\u0027name\u0027], username)"},{"line_number":68,"context_line":"        else:"},{"line_number":69,"context_line":"            # Expect a user name, but don\u0027t know what it will be."}],"source_content_type":"text/x-python","patch_set":3,"id":"7a77a97e_17b6013d","line":66,"range":{"start_line":66,"start_character":11,"end_line":66,"end_character":19},"updated":"2016-11-16 20:53:20.000000000","message":"Same comment as above, I think this value is required, so no condition needed.","commit_id":"c53063b1fea5b7c7a2c608d7d806be9d08a0ff24"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"233a1368eb25681380683bb0c077c066447eb361","unresolved":false,"context_lines":[{"line_number":63,"context_line":"            self.assertGreaterEqual(len(body[\u0027user\u0027][\u0027id\u0027]), 1,"},{"line_number":64,"context_line":"                                    \u0027Expected user ID in token.\u0027)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        if username:"},{"line_number":67,"context_line":"            self.assertEqual(body[\u0027user\u0027][\u0027name\u0027], username)"},{"line_number":68,"context_line":"        else:"},{"line_number":69,"context_line":"            # Expect a user name, but don\u0027t know what it will be."}],"source_content_type":"text/x-python","patch_set":3,"id":"7a77a97e_f7aee583","line":66,"range":{"start_line":66,"start_character":11,"end_line":66,"end_character":19},"in_reply_to":"7a77a97e_17b6013d","updated":"2016-11-16 21:06:06.000000000","message":"Keystone allows either user name or user ID so username shouldn\u0027t be required.","commit_id":"c53063b1fea5b7c7a2c608d7d806be9d08a0ff24"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"ea5ec74bae2c695edd35bac6a1ae03df7becd86e","unresolved":false,"context_lines":[{"line_number":63,"context_line":"            self.assertGreaterEqual(len(body[\u0027user\u0027][\u0027id\u0027]), 1,"},{"line_number":64,"context_line":"                                    \u0027Expected user ID in token.\u0027)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        if username:"},{"line_number":67,"context_line":"            self.assertEqual(body[\u0027user\u0027][\u0027name\u0027], username)"},{"line_number":68,"context_line":"        else:"},{"line_number":69,"context_line":"            # Expect a user name, but don\u0027t know what it will be."}],"source_content_type":"text/x-python","patch_set":3,"id":"3a461143_5944061a","line":66,"range":{"start_line":66,"start_character":11,"end_line":66,"end_character":19},"in_reply_to":"7a77a97e_9eecc1f4","updated":"2017-01-30 20:04:59.000000000","message":"If you look up at line 35, where the test gets the token:\n\n body \u003d token_client.auth(username, password, tenant_name)\n\nit\u0027s not passing the user_id. So I guess this is expected.\n\nI could revert the username change, since it\u0027s always going to be there, if that makes more sense. I only changed it to be consistent with the other fields.","commit_id":"c53063b1fea5b7c7a2c608d7d806be9d08a0ff24"},{"author":{"_account_id":9152,"name":"Castulo J. Martinez","email":"castulo.martinez@intel.com","username":"cas"},"change_message_id":"888d6320a72ffd3b5aef0692bc99219821907366","unresolved":false,"context_lines":[{"line_number":63,"context_line":"            self.assertGreaterEqual(len(body[\u0027user\u0027][\u0027id\u0027]), 1,"},{"line_number":64,"context_line":"                                    \u0027Expected user ID in token.\u0027)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        if username:"},{"line_number":67,"context_line":"            self.assertEqual(body[\u0027user\u0027][\u0027name\u0027], username)"},{"line_number":68,"context_line":"        else:"},{"line_number":69,"context_line":"            # Expect a user name, but don\u0027t know what it will be."}],"source_content_type":"text/x-python","patch_set":3,"id":"7a77a97e_9eecc1f4","line":66,"range":{"start_line":66,"start_character":11,"end_line":66,"end_character":19},"in_reply_to":"7a77a97e_f7aee583","updated":"2016-11-17 16:02:22.000000000","message":"If I try running the test using only: user_id, tenant_name, and password the test fails with this message: \nraise exceptions.InvalidCredentials()\ntempest.lib.exceptions.InvalidCredentials: Invalid Credentials\nMaybe I\u0027m doing something wrong?","commit_id":"c53063b1fea5b7c7a2c608d7d806be9d08a0ff24"}]}
