def test_server_create_missing(self, nc): request = self.mock_rest_request(body='''{"name": "hi"}''') response = nova.Servers().post(request) self.assertStatusCode(response, 400) self.assertEqual("missing required parameter 'source_id'", response.json) nc.server_create.assert_not_called()
def test_server_create_with_leading_trailing_space(self, nc): request = self.mock_rest_request(body='''{"name": " Ni! ", "source_id": "image123", "flavor_id": "flavor123", "key_name": "sekrit", "user_data": "base64 yes", "security_groups": [{"name": "root"}]} ''') new = nc.server_create.return_value new.to_dict.return_value = {'name': ' Ni! '.strip()} response = nova.Servers().post(request) self.assertStatusCode(response, 201) self.assertEqual({"name": "Ni!"}, response.json)
def test_server_list(self, nc): request = self.mock_rest_request() nc.server_list.return_value = ([ mock.Mock(**{'to_dict.return_value': {'id': 'one'}}), mock.Mock(**{'to_dict.return_value': {'id': 'two'}}), ], False) response = nova.Servers().get(request) self.assertStatusCode(response, 200) self.assertEqual(response.json, {'items': [{'id': 'one'}, {'id': 'two'}]}) nc.server_list.assert_called_once_with(request)
def test_server_create_with_leading_trailing_space(self): request = self.mock_rest_request(body='''{"name": " Ni! ", "source_id": "image123", "flavor_id": "flavor123", "key_name": "sekrit", "user_data": "base64 yes", "security_groups": [{"name": "root"}]} ''') new = self.mock_server_create.return_value new.to_dict.return_value = {'name': ' Ni! '.strip()} new.id = str(uuid.uuid4()) response = nova.Servers().post(request) self.assertStatusCode(response, 201) self.assertEqual({"name": "Ni!"}, response.json) self.mock_server_create.assert_called_once_with( request, ' Ni! ', 'image123', 'flavor123', 'sekrit', 'base64 yes', [{ 'name': 'root' }])
def test_server_create_basic(self, nc): request = self.mock_rest_request(body='''{"name": "Ni!", "source_id": "image123", "flavor_id": "flavor123", "key_name": "sekrit", "user_data": "base64 yes", "security_groups": [{"name": "root"}]} ''') new = nc.server_create.return_value new.to_dict.return_value = {'id': 'server123'} new.id = 'server123' response = nova.Servers().post(request) self.assertStatusCode(response, 201) self.assertEqual(response.content, '{"id": "server123"}') self.assertEqual(response['location'], '/api/nova/servers/server123') nc.server_create.assert_called_once_with( request, 'Ni!', 'image123', 'flavor123', 'sekrit', 'base64 yes', [{'name': 'root'}] )