)]}'
{"shade/meta.py":[{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"6845a6fa13caea8914a07e58a444d5aed8cbeac7","unresolved":false,"context_lines":[{"line_number":264,"context_line":"    return server_vars"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"def expand_server_sg(cloud, server):"},{"line_number":268,"context_line":"    groups \u003d cloud.list_server_security_groups(server)"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"    server[\u0027security_groups\u0027] \u003d groups"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a29b11f_4c3575f5","line":267,"updated":"2015-10-24 05:09:41.000000000","message":"Is there a reason not to make this \u0027expand_server_security_groups\u0027 ?","commit_id":"3709878f9b2458fd6f8a9eb05c68d0d7505f20f1"}],"shade/tests/unit/test_meta.py":[{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"ee81968b57ba9d198ec181ef6feb5ef6c72b7aa4","unresolved":false,"context_lines":[{"line_number":160,"context_line":"    def test_get_server_private_ip_devstack("},{"line_number":161,"context_line":"            self, mock_search_networks, mock_has_service,"},{"line_number":162,"context_line":"            mock_get_flavor_name, mock_get_image_name,"},{"line_number":163,"context_line":"            mock_list_server_security_groups):"},{"line_number":164,"context_line":"        mock_get_image_name.return_value \u003d \u0027cirros-0.3.4-x86_64-uec\u0027"},{"line_number":165,"context_line":"        mock_get_flavor_name.return_value \u003d \u0027m1.tiny\u0027"},{"line_number":166,"context_line":"        mock_has_service.return_value \u003d True"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a29b11f_f55a002a","line":163,"updated":"2015-10-24 10:52:17.000000000","message":"We should validate that list_server_security_groups() is actually called.","commit_id":"3709878f9b2458fd6f8a9eb05c68d0d7505f20f1"},{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"49be09d0e3616b53c7fe8df3dae81957ce90e080","unresolved":false,"context_lines":[{"line_number":346,"context_line":"        hostvars \u003d meta.get_hostvars_from_server("},{"line_number":347,"context_line":"            FakeCloud(), meta.obj_to_dict(FakeServer()))"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"        assert(mock_list_server_security_groups.called)"},{"line_number":350,"context_line":"        self.assertEqual(\u0027testgroup\u0027,"},{"line_number":351,"context_line":"                         hostvars[\u0027security_groups\u0027][0][\u0027name\u0027])"},{"line_number":352,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3a29b11f_f02af27d","line":349,"updated":"2015-10-26 14:45:11.000000000","message":"We should use the TestCase methods here instead of Python assert(). The TestCase methods provide more detail, plus we just don\u0027t use assert() anywhere else. I think it is better to assign the server to a variable, server, and make sure that the list method is called properly with that value:\n\n       \nmock_list_server_security_groups.assert_called_once_with(server)","commit_id":"04af0a9b5781d25d4368685502db460a6fd4676f"}]}
