aboutsummaryrefslogtreecommitdiffstats
path: root/legacy/tests/api/test_server.py
diff options
context:
space:
mode:
Diffstat (limited to 'legacy/tests/api/test_server.py')
-rw-r--r--legacy/tests/api/test_server.py131
1 files changed, 0 insertions, 131 deletions
diff --git a/legacy/tests/api/test_server.py b/legacy/tests/api/test_server.py
deleted file mode 100644
index bf316f5d..00000000
--- a/legacy/tests/api/test_server.py
+++ /dev/null
@@ -1,131 +0,0 @@
-##############################################################################
-# Copyright (c) 2017 ZTE Corporation and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-import json
-import time
-
-import mock
-import pytest
-
-import qtip.api.cmd.server as server
-
-
-def setup_module():
- server.add_routers()
-
-
-@pytest.fixture
-def app():
- return server.app
-
-
-@pytest.fixture
-def app_client(app):
- client = app.test_client()
- return client
-
-
-def side_effect_sleep(sleep_time):
- time.sleep(sleep_time)
-
-
-def side_effect_pass():
- pass
-
-
-class TestClass:
- @pytest.mark.parametrize("body, expected", [
- ({'installer_type': 'fuel',
- 'installer_ip': '10.20.0.2'},
- {'job_id': '',
- 'installer_type': 'fuel',
- 'installer_ip': '10.20.0.2',
- 'pod_name': 'default',
- 'suite_name': 'compute',
- 'max_minutes': 60,
- 'type': 'BM',
- 'testdb_url': None,
- 'node_name': None,
- 'state': 'finished',
- 'state_detail': [{'state': 'finished', 'benchmark': 'dhrystone_bm.yaml'},
- {'state': 'finished', 'benchmark': 'whetstone_bm.yaml'},
- {'state': 'finished', 'benchmark': 'ramspeed_bm.yaml'},
- {'state': 'finished', 'benchmark': 'dpi_bm.yaml'},
- {'state': 'finished', 'benchmark': 'ssl_bm.yaml'}],
- 'result': 0}),
- ({'installer_type': 'fuel',
- 'installer_ip': '10.20.0.2',
- 'pod_name': 'default',
- 'max_minutes': 20,
- 'suite_name': 'compute',
- 'type': 'VM',
- 'benchmark_name': 'dhrystone_vm.yaml',
- 'testdb_url': 'http://testresults.opnfv.org/test/api/v1',
- 'node_name': 'zte-pod2'},
- {'job_id': '',
- 'installer_type': 'fuel',
- 'installer_ip': '10.20.0.2',
- 'pod_name': 'default',
- 'suite_name': 'compute',
- 'max_minutes': 20,
- 'type': 'VM',
- 'testdb_url': 'http://testresults.opnfv.org/test/api/v1',
- 'node_name': 'zte-pod2',
- 'state': 'finished',
- 'state_detail': [{u'state': u'finished', u'benchmark': u'dhrystone_vm.yaml'}],
- 'result': 0})
- ])
- @mock.patch('qtip.utils.args_handler.prepare_and_run_benchmark')
- def test_post_get_delete_job_successful(self, mock_args_handler, app_client, body, expected):
- mock_args_handler.return_value = {'result': 0,
- 'detail': {'host': [(u'10.20.6.14', {'unreachable': 0,
- 'skipped': 13,
- 'ok': 27,
- 'changed': 26,
- 'failures': 0}),
- ('localhost', {'unreachable': 0,
- 'skipped': 0,
- 'ok': 6,
- 'changed': 6,
- 'failures': 0}),
- (u'10.20.6.13', {'unreachable': 0,
- 'skipped': 13,
- 'ok': 27,
- 'changed': 26,
- 'failures': 0})]}}
-
- reply = app_client.post("/api/v1.0/jobs", data=body)
- print(reply.data)
- id = json.loads(reply.data)['job_id']
- expected['job_id'] = id
- post_process = ''
- while post_process != 'finished':
- get_reply = app_client.get("/api/v1.0/jobs/%s" % id)
- reply_data = json.loads(get_reply.data)
- post_process = reply_data['state']
- print(reply_data)
- assert len(filter(lambda x: reply_data[x] == expected[x], expected.keys())) == len(expected)
- delete_reply = app_client.delete("/api/v1.0/jobs/%s" % id)
- assert "successful" in delete_reply.data
-
- @pytest.mark.parametrize("body, expected", [
- ([{'installer_type': 'fuel',
- 'installer_ip': '10.20.0.2'},
- {'installer_type': 'compass',
- 'installer_ip': '192.168.20.50'}],
- ['job_id',
- 'It already has one job running now!'])
- ])
- @mock.patch('qtip.utils.args_handler.prepare_and_run_benchmark',
- side_effect=[side_effect_sleep(0.5), side_effect_pass])
- def test_post_two_jobs_unsuccessful(self, mock_args_hanler, app_client, body, expected):
- reply_1 = app_client.post("/api/v1.0/jobs", data=body[0])
- reply_2 = app_client.post("/api/v1.0/jobs", data=body[1])
- assert expected[0] in json.loads(reply_1.data).keys()
- app_client.delete("/api/v1.0/jobs/%s" % json.loads(reply_1.data)['job_id'])
- assert expected[1] in json.dumps(reply_2.data)