)]}'
{"ironic/tests/unit/objects/test_node.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a5e4db31c90481d80fe8e401cb168055527f6056","unresolved":false,"context_lines":[{"line_number":415,"context_line":"            self.assertEqual(self.fake_node[\u0027uuid\u0027], nodes[0].uuid)"},{"line_number":416,"context_line":"            self.assertEqual(self.fake_node[\u0027provision_state\u0027],"},{"line_number":417,"context_line":"                             nodes[0].provision_state)"},{"line_number":418,"context_line":"            self.assertIsInstance(nodes[0].traits, objects.TraitList)"},{"line_number":419,"context_line":"            # Random assortment of fields which should not be present."},{"line_number":420,"context_line":"            for field in [\u0027power_state\u0027, \u0027instance_info\u0027, \u0027resource_class\u0027,"},{"line_number":421,"context_line":"                          \u0027automated_clean\u0027, \u0027properties\u0027, \u0027driver\u0027, \u0027traits\u0027]:"}],"source_content_type":"text/x-python","patch_set":15,"id":"6beef13e_831a3663","line":418,"updated":"2021-07-02 15:27:17.000000000","message":"Should we check that traits are not populated?","commit_id":"7b37e03b691cc45e319f61baa494dc0592c2a6f0"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ea413de26e7af0132b030095817bf861745bb84f","unresolved":false,"context_lines":[{"line_number":415,"context_line":"            self.assertEqual(self.fake_node[\u0027uuid\u0027], nodes[0].uuid)"},{"line_number":416,"context_line":"            self.assertEqual(self.fake_node[\u0027provision_state\u0027],"},{"line_number":417,"context_line":"                             nodes[0].provision_state)"},{"line_number":418,"context_line":"            self.assertIsInstance(nodes[0].traits, objects.TraitList)"},{"line_number":419,"context_line":"            # Random assortment of fields which should not be present."},{"line_number":420,"context_line":"            for field in [\u0027power_state\u0027, \u0027instance_info\u0027, \u0027resource_class\u0027,"},{"line_number":421,"context_line":"                          \u0027automated_clean\u0027, \u0027properties\u0027, \u0027driver\u0027, \u0027traits\u0027]:"}],"source_content_type":"text/x-python","patch_set":15,"id":"55fa687a_30e6aae1","line":418,"in_reply_to":"6beef13e_831a3663","updated":"2021-07-07 20:13:17.000000000","message":"its an empty traitslist so it is kind of a redundant check, tbh. It would break if we added a default trait on... I don\u0027t know if there is value there since we explicitly test with traits below.","commit_id":"7b37e03b691cc45e319f61baa494dc0592c2a6f0"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a5e4db31c90481d80fe8e401cb168055527f6056","unresolved":false,"context_lines":[{"line_number":419,"context_line":"            # Random assortment of fields which should not be present."},{"line_number":420,"context_line":"            for field in [\u0027power_state\u0027, \u0027instance_info\u0027, \u0027resource_class\u0027,"},{"line_number":421,"context_line":"                          \u0027automated_clean\u0027, \u0027properties\u0027, \u0027driver\u0027, \u0027traits\u0027]:"},{"line_number":422,"context_line":"                self.assertFalse(field not in dir(nodes[0]))"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"    def test_list_with_fields_traits(self):"},{"line_number":425,"context_line":"        with mock.patch.object(self.dbapi, \u0027get_node_list\u0027,"}],"source_content_type":"text/x-python","patch_set":15,"id":"9dac9971_927b03c0","line":422,"updated":"2021-07-02 15:27:17.000000000","message":"please use assertNotIn (and I think objects are dict-like, so dir is not needed)","commit_id":"7b37e03b691cc45e319f61baa494dc0592c2a6f0"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ea413de26e7af0132b030095817bf861745bb84f","unresolved":false,"context_lines":[{"line_number":419,"context_line":"            # Random assortment of fields which should not be present."},{"line_number":420,"context_line":"            for field in [\u0027power_state\u0027, \u0027instance_info\u0027, \u0027resource_class\u0027,"},{"line_number":421,"context_line":"                          \u0027automated_clean\u0027, \u0027properties\u0027, \u0027driver\u0027, \u0027traits\u0027]:"},{"line_number":422,"context_line":"                self.assertFalse(field not in dir(nodes[0]))"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"    def test_list_with_fields_traits(self):"},{"line_number":425,"context_line":"        with mock.patch.object(self.dbapi, \u0027get_node_list\u0027,"}],"source_content_type":"text/x-python","patch_set":15,"id":"463535c0_f07b2f9b","line":422,"in_reply_to":"9dac9971_927b03c0","updated":"2021-07-07 20:13:17.000000000","message":"so dir and the presence of the field are different in the hybrid objects if memory serves. The objects actually have attributes attached, but no backing value and they show up in a list, but not in a directory. Which sounds insane....  I think __dir__ gets handled directly from sqlalchemy.","commit_id":"7b37e03b691cc45e319f61baa494dc0592c2a6f0"}]}
