Fix delete instance test
diff --git a/tests/data/valid_async_destroy_vm.json b/tests/data/valid_async_destroy_vm.json
new file mode 100644
index 0000000..b01b650
--- /dev/null
+++ b/tests/data/valid_async_destroy_vm.json
@@ -0,0 +1,5 @@
+{
+ "destroyvirtualmachineresponse": {
+ "jobid": "2fb6f38c-d34f-45f5-8bc8-0e76694ef073"
+ }
+}
diff --git a/tests/instances_tests.py b/tests/instances_tests.py
index 802af99..9420adc 100644
--- a/tests/instances_tests.py
+++ b/tests/instances_tests.py
@@ -102,21 +102,33 @@
assert 'The resource \'/compute/v1/projects/exampleproject/zones/examplezone/instances/instancename\' was not found' \
in response.data
- #def test_delete_instance(self):
+ def test_delete_instance(self):
- # get = mock.Mock()
- # get.return_value.text = read_file('tests/data/valid_terminate_instance.json')
- # get.return_value.status_code = 200
+ get = mock.Mock()
+ get.return_value.text = read_file('tests/data/valid_async_destroy_vm.json')
+ get.return_value.status_code = 200
- # get_instance_id = mock.Mock()
- # get_instance_id.return_value = {'id':'virtualmachineid'}
+ get_instance_id = mock.Mock()
+ get_instance_id.return_value = {'id':'virtualmachineid'}
- # with mock.patch('requests.get', get):
- # with mock.patch('gstack.controllers.instances._get_virtual_machine_by_name',get_instance_id):
- # headers = {'authorization': 'Bearer ' + str(GStackAppTestCase.access_token)}
- # response = self.delete('/compute/v1/projects/exampleproject/zones/examplezone/instances/instancename', headers=headers)
+ get_async_result = mock.Mock()
+ get_async_result.return_value = json.loads(read_file('tests/data/valid_run_instance.json'))
- # self.assert_ok(response)
+ publickey_storage['admin'] = 'testkey'
+
+ with mock.patch('requests.get', get):
+ with mock.patch(
+ 'gstack.controllers.instances._get_virtual_machine_by_name',
+ get_instance_id
+ ):
+ with mock.patch(
+ 'gstack.controllers.operations._get_async_result',
+ get_async_result
+ ):
+ headers = {'authorization': 'Bearer ' + str(GStackAppTestCase.access_token)}
+ response = self.delete('/compute/v1/projects/admin/zones/examplezone/instances/instancename', headers=headers)
+
+ self.assert_ok(response)
def test_add_instance(self):
data = {