)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"5ecbc55c1ad51c631e81ea8bad50bd7bbcd9cda0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"d8bd0a91_ec53519e","updated":"2022-08-03 16:18:16.000000000","message":"Nice idea, LGTM","commit_id":"9c7f869b84df2dcc7c5d5644944e4452d6e5641e"}],"placement/tests/functional/test_lib_sync.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1ea06bbbca8f09592c27d5179e8aca33cad2e9b8","unresolved":true,"context_lines":[{"line_number":24,"context_line":"    def setUp(self):"},{"line_number":25,"context_line":"        super().setUp()"},{"line_number":26,"context_line":"        self.headers \u003d {"},{"line_number":27,"context_line":"            \u0027x-auth-token\u0027: \u0027admin\u0027,"},{"line_number":28,"context_line":"            \u0027content-type\u0027: \u0027application/json\u0027,"},{"line_number":29,"context_line":"            \u0027OpenStack-API-Version\u0027: \u0027placement latest\u0027,"},{"line_number":30,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":1,"id":"9c14d221_429e8a55","line":27,"range":{"start_line":27,"start_character":12,"end_line":27,"end_character":36},"updated":"2022-08-03 09:07:47.000000000","message":"is this for the noauth2 backend ya?","commit_id":"9c7f869b84df2dcc7c5d5644944e4452d6e5641e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e8502ba03b1aeb6e10ded7d2657ea82eade3003a","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    def setUp(self):"},{"line_number":25,"context_line":"        super().setUp()"},{"line_number":26,"context_line":"        self.headers \u003d {"},{"line_number":27,"context_line":"            \u0027x-auth-token\u0027: \u0027admin\u0027,"},{"line_number":28,"context_line":"            \u0027content-type\u0027: \u0027application/json\u0027,"},{"line_number":29,"context_line":"            \u0027OpenStack-API-Version\u0027: \u0027placement latest\u0027,"},{"line_number":30,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":1,"id":"796948b8_e9df014f","line":27,"range":{"start_line":27,"start_character":12,"end_line":27,"end_character":36},"in_reply_to":"9c14d221_429e8a55","updated":"2022-08-03 09:18:34.000000000","message":"yes, no keystone in the func env","commit_id":"9c7f869b84df2dcc7c5d5644944e4452d6e5641e"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"5ecbc55c1ad51c631e81ea8bad50bd7bbcd9cda0","unresolved":true,"context_lines":[{"line_number":32,"context_line":"    def test_traits_sync(self):"},{"line_number":33,"context_line":"        with direct.PlacementDirect(self.conf_fixture.conf) as client:"},{"line_number":34,"context_line":"            resp \u003d client.get(\u0027/traits\u0027, headers\u003dself.headers)"},{"line_number":35,"context_line":"            self.assertItemsEqual("},{"line_number":36,"context_line":"                os_traits.get_traits(),"},{"line_number":37,"context_line":"                resp.json()[\u0027traits\u0027],"},{"line_number":38,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":1,"id":"2cd1eb55_275dfa4d","line":35,"range":{"start_line":35,"start_character":17,"end_line":35,"end_character":33},"updated":"2022-08-03 16:18:16.000000000","message":"Initially when I saw this I thought, \"this was removed in py3, so we may not want to use it\" but then I found that it comes from testtools and is set to be an alias for assertCountEqual [1]. TIL.\n\n[1] https://github.com/testing-cabal/testtools/blob/58d5c3f9b91f572e1fa174f5472e3d0a92f948c3/testtools/testcase.py#L483","commit_id":"9c7f869b84df2dcc7c5d5644944e4452d6e5641e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1ea06bbbca8f09592c27d5179e8aca33cad2e9b8","unresolved":true,"context_lines":[{"line_number":29,"context_line":"            \u0027OpenStack-API-Version\u0027: \u0027placement latest\u0027,"},{"line_number":30,"context_line":"        }"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def test_traits_sync(self):"},{"line_number":33,"context_line":"        with direct.PlacementDirect(self.conf_fixture.conf) as client:"},{"line_number":34,"context_line":"            resp \u003d client.get(\u0027/traits\u0027, headers\u003dself.headers)"},{"line_number":35,"context_line":"            self.assertItemsEqual("},{"line_number":36,"context_line":"                os_traits.get_traits(),"},{"line_number":37,"context_line":"                resp.json()[\u0027traits\u0027],"},{"line_number":38,"context_line":"            )"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def test_resource_classes_sync(self):"},{"line_number":41,"context_line":"        with direct.PlacementDirect(self.conf_fixture.conf) as client:"},{"line_number":42,"context_line":"            resp \u003d client.get(\u0027/resource_classes\u0027, headers\u003dself.headers)"},{"line_number":43,"context_line":"            self.assertItemsEqual("},{"line_number":44,"context_line":"                os_resource_classes.STANDARDS,"},{"line_number":45,"context_line":"                [rc[\u0027name\u0027] for rc in resp.json()[\u0027resource_classes\u0027]],"},{"line_number":46,"context_line":"                resp.json(),"},{"line_number":47,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":1,"id":"e7450f2f_57f0b7f2","line":46,"range":{"start_line":32,"start_character":2,"end_line":46,"end_character":28},"updated":"2022-08-03 09:07:47.000000000","message":"as noted on irc I was originally going to suggest refactoring this to assert that the api response contains all the standard traits/resouce classes and that the api repose was \u003e\u003d but given the db should be initialised form the lib this should work correctly too and not fail when we add more traits or rescue classes.","commit_id":"9c7f869b84df2dcc7c5d5644944e4452d6e5641e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e8502ba03b1aeb6e10ded7d2657ea82eade3003a","unresolved":false,"context_lines":[{"line_number":29,"context_line":"            \u0027OpenStack-API-Version\u0027: \u0027placement latest\u0027,"},{"line_number":30,"context_line":"        }"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def test_traits_sync(self):"},{"line_number":33,"context_line":"        with direct.PlacementDirect(self.conf_fixture.conf) as client:"},{"line_number":34,"context_line":"            resp \u003d client.get(\u0027/traits\u0027, headers\u003dself.headers)"},{"line_number":35,"context_line":"            self.assertItemsEqual("},{"line_number":36,"context_line":"                os_traits.get_traits(),"},{"line_number":37,"context_line":"                resp.json()[\u0027traits\u0027],"},{"line_number":38,"context_line":"            )"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def test_resource_classes_sync(self):"},{"line_number":41,"context_line":"        with direct.PlacementDirect(self.conf_fixture.conf) as client:"},{"line_number":42,"context_line":"            resp \u003d client.get(\u0027/resource_classes\u0027, headers\u003dself.headers)"},{"line_number":43,"context_line":"            self.assertItemsEqual("},{"line_number":44,"context_line":"                os_resource_classes.STANDARDS,"},{"line_number":45,"context_line":"                [rc[\u0027name\u0027] for rc in resp.json()[\u0027resource_classes\u0027]],"},{"line_number":46,"context_line":"                resp.json(),"},{"line_number":47,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":1,"id":"b38b7169_51e673a2","line":46,"range":{"start_line":32,"start_character":2,"end_line":46,"end_character":28},"in_reply_to":"e7450f2f_57f0b7f2","updated":"2022-08-03 09:18:34.000000000","message":"Ack","commit_id":"9c7f869b84df2dcc7c5d5644944e4452d6e5641e"}]}
