)]}'
{"tempest/api/identity/admin/v3/test_roles.py":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"80e39bc897ecd2b7c1d4fbf091bd2c8b1d8ebd87","unresolved":false,"context_lines":[{"line_number":171,"context_line":"    @attr(type\u003d\u0027smoke\u0027)"},{"line_number":172,"context_line":"    def test_list_roles(self):"},{"line_number":173,"context_line":"        # Get a list of roles and find the test role"},{"line_number":174,"context_line":"        self.data.setup_test_v3_role()"},{"line_number":175,"context_line":"        resp, roles \u003d self.client.list_roles()"},{"line_number":176,"context_line":"        self.assertThat([r[\u0027name\u0027] for r in roles],"},{"line_number":177,"context_line":"                        matchers.Contains(self.data.test_role),"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAVn%2F%2Febg%3D","line":174,"updated":"2014-03-05 21:31:27.000000000","message":"So I don\u0027t like these data methods because they don\u0027t return the test role you\u0027re creating here but instead just put it in a list. It feels racy although I think because we parallelize at the class level we should be safe.\n\nI think you should skip the data class here and manually call the client and get detailed info about the new role here. Then you can do detailed checks about the response from keystone when doing a role list.","commit_id":"77f86339141ace10041e9db18471239e2224c44e"},{"author":{"_account_id":9698,"name":"wanglianmin","email":"wanglianmin@huawei.com","username":"wanglianmin"},"change_message_id":"38b21f5ecb69f36d3b9cd5aa150fdeebe0347f4e","unresolved":false,"context_lines":[{"line_number":171,"context_line":"    @attr(type\u003d\u0027smoke\u0027)"},{"line_number":172,"context_line":"    def test_list_roles(self):"},{"line_number":173,"context_line":"        # Get a list of roles and find the test role"},{"line_number":174,"context_line":"        self.data.setup_test_v3_role()"},{"line_number":175,"context_line":"        resp, roles \u003d self.client.list_roles()"},{"line_number":176,"context_line":"        self.assertThat([r[\u0027name\u0027] for r in roles],"},{"line_number":177,"context_line":"                        matchers.Contains(self.data.test_role),"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAVn%2F%2FcRM%3D","line":174,"in_reply_to":"AAAAVn%2F%2Febg%3D","updated":"2014-03-06 02:34:13.000000000","message":"Done","commit_id":"77f86339141ace10041e9db18471239e2224c44e"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"80e39bc897ecd2b7c1d4fbf091bd2c8b1d8ebd87","unresolved":false,"context_lines":[{"line_number":172,"context_line":"    def test_list_roles(self):"},{"line_number":173,"context_line":"        # Get a list of roles and find the test role"},{"line_number":174,"context_line":"        self.data.setup_test_v3_role()"},{"line_number":175,"context_line":"        resp, roles \u003d self.client.list_roles()"},{"line_number":176,"context_line":"        self.assertThat([r[\u0027name\u0027] for r in roles],"},{"line_number":177,"context_line":"                        matchers.Contains(self.data.test_role),"},{"line_number":178,"context_line":"                        \"Could not find %s\" % self.data.test_role)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAVn%2F%2FecE%3D","line":175,"updated":"2014-03-05 21:31:27.000000000","message":"You should also check the response code here.","commit_id":"77f86339141ace10041e9db18471239e2224c44e"},{"author":{"_account_id":9698,"name":"wanglianmin","email":"wanglianmin@huawei.com","username":"wanglianmin"},"change_message_id":"38b21f5ecb69f36d3b9cd5aa150fdeebe0347f4e","unresolved":false,"context_lines":[{"line_number":172,"context_line":"    def test_list_roles(self):"},{"line_number":173,"context_line":"        # Get a list of roles and find the test role"},{"line_number":174,"context_line":"        self.data.setup_test_v3_role()"},{"line_number":175,"context_line":"        resp, roles \u003d self.client.list_roles()"},{"line_number":176,"context_line":"        self.assertThat([r[\u0027name\u0027] for r in roles],"},{"line_number":177,"context_line":"                        matchers.Contains(self.data.test_role),"},{"line_number":178,"context_line":"                        \"Could not find %s\" % self.data.test_role)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAVn%2F%2FcRI%3D","line":175,"in_reply_to":"AAAAVn%2F%2FecE%3D","updated":"2014-03-06 02:34:13.000000000","message":"Done","commit_id":"77f86339141ace10041e9db18471239e2224c44e"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"80e39bc897ecd2b7c1d4fbf091bd2c8b1d8ebd87","unresolved":false,"context_lines":[{"line_number":173,"context_line":"        # Get a list of roles and find the test role"},{"line_number":174,"context_line":"        self.data.setup_test_v3_role()"},{"line_number":175,"context_line":"        resp, roles \u003d self.client.list_roles()"},{"line_number":176,"context_line":"        self.assertThat([r[\u0027name\u0027] for r in roles],"},{"line_number":177,"context_line":"                        matchers.Contains(self.data.test_role),"},{"line_number":178,"context_line":"                        \"Could not find %s\" % self.data.test_role)"},{"line_number":179,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAVn%2F%2Feew%3D","line":176,"updated":"2014-03-05 21:31:27.000000000","message":"why not just use assertin, so this would become:\n\nself.assertIn(self.data.test_role, ([r[\u0027name\u0027] for r in roles])\n\nAlso this is too vague, you\u0027re just verifying the name. It would be better to add additional asserts and actually check other parts of the api response as well.","commit_id":"77f86339141ace10041e9db18471239e2224c44e"},{"author":{"_account_id":9698,"name":"wanglianmin","email":"wanglianmin@huawei.com","username":"wanglianmin"},"change_message_id":"38b21f5ecb69f36d3b9cd5aa150fdeebe0347f4e","unresolved":false,"context_lines":[{"line_number":173,"context_line":"        # Get a list of roles and find the test role"},{"line_number":174,"context_line":"        self.data.setup_test_v3_role()"},{"line_number":175,"context_line":"        resp, roles \u003d self.client.list_roles()"},{"line_number":176,"context_line":"        self.assertThat([r[\u0027name\u0027] for r in roles],"},{"line_number":177,"context_line":"                        matchers.Contains(self.data.test_role),"},{"line_number":178,"context_line":"                        \"Could not find %s\" % self.data.test_role)"},{"line_number":179,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAVn%2F%2FcRE%3D","line":176,"in_reply_to":"AAAAVn%2F%2Feew%3D","updated":"2014-03-06 02:34:13.000000000","message":"Done","commit_id":"77f86339141ace10041e9db18471239e2224c44e"}]}
