api tests refactoring started

This commit is contained in:
Dmitry Shulyak
2013-07-09 15:52:25 +03:00
parent 1c76e13f1a
commit c5549801e1
4 changed files with 27 additions and 89 deletions

View File

@@ -1,7 +1,6 @@
import unittest
from mock import patch, MagicMock
from ostf_adapter.api import API, parse_json_file, COMMANDS_FILE_PATH
import io
from ostf_adapter.api import API
TEST_RUN_NAME = 'tests'
@@ -9,9 +8,9 @@ TEST_RUN_ID = 1
EXTERNAL_ID = 'CLUSTER_ID'
TEST_ID = 'simple.TestSimple'
CONF = {'config': True}
TEST_COMMANDS = {'tests': {
TEST_COMMANDS = {'fuel_health': {
'driver': 'nose',
'test_path': '/home/tests'
'test_path': '/home/tests',
}}
TEST_RUN = {'id': TEST_RUN_ID, 'external_id': EXTERNAL_ID,
'type': TEST_RUN_NAME}
@@ -26,17 +25,18 @@ class TestApi(unittest.TestCase):
@patch('ostf_adapter.api.extension.ExtensionManager')
def setUp(self, extension_mock, get_storage_mock, discovery_mock):
self.transport = MagicMock()
self.command = TEST_COMMANDS['tests']
self.command = TEST_COMMANDS['fuel_health']
self.storage = MagicMock()
self.test_run = MagicMock(**TEST_RUN)
get_storage_mock.return_value = 'TEST STORAGE'
self.session= MagicMock()
get_storage_mock.return_value = self.storage
self.api = API()
get_storage_mock.assert_any_call()
discovery_mock.assert_any_call()
def test_init_api(self):
self.assertEqual(self.api._storage, 'TEST STORAGE')
self.assertEqual(self.api._storage, self.storage)
def test_run_multiple(self):
test_metadata = [{'testset': 'fuel_health', 'metadata': {}},
@@ -45,88 +45,26 @@ class TestApi(unittest.TestCase):
res = self.api.run_multiple(test_metadata)
self.assertEqual(run_mock.call_count, 2)
def test_run(self):
test_set = 'fuel_health'
metadata = {'cluster_id': 1, 'config': {}}
with patch.object(self.api, '_prepare_test_run') as prepare_mock:
pass
with patch.object(self.api, '_find_command') as command_mock:
command_mock.return_value = (self.command, self.transport)
self.storage.add_test_run.return_value = (self.test_run,
self.session)
self.api.run(test_set, metadata)
# @patch.object(API, '_discovery')
# @patch('ostf_adapter.api.get_storage')
# @patch('ostf_adapter.api.parse_json_file')
# def test_run(self, commands_mock, get_storage_mock, discovery_mock):
# commands_mock.return_value = TEST_COMMANDS
# get_storage_mock.return_value = self.storage
#
# self.transport.obj.check_current_running.return_value = False
# self.storage.add_test_run.return_value = TEST_RUN_ID
# api = API()
# discovery_mock.assert_any_call()
# with patch.object(api, '_find_command') as find_command_mock:
# find_command_mock.return_value = self.command, self.transport
# res = api.run(TEST_RUN_NAME, EXTERNAL_ID, CONF)
# self.transport.obj.run.assert_called_once_with(
# TEST_RUN_ID, EXTERNAL_ID,
# CONF, driver='nose', test_path='/home/tests')
# self.storage.add_test_run.assert_called_once_with(TEST_RUN_NAME,
# EXTERNAL_ID)
#
# @patch('__builtin__.open')
# def test_parse_commands_file(self, file_mock):
# json_example = u"""
# {
# "five_min": {
# "test_path": "/ostf-tests/fuel/tests",
# "driver": "nose"
# },
# "fuel_smoke": {
# "test_path": "/ostf-tests/fuel/tests",
# "driver": "nose",
# "argv": ["smoke"]
# },
# "fuel_sanity": {
# "test_path": "/ostf-tests/fuel/tests",
# "driver": "nose",
# "argv": ["sanity"]
# }
# }
# """
# file_mock.return_value = io.StringIO(json_example)
# res = parse_json_file(COMMANDS_FILE_PATH)
# expected = {
# "five_min": {
# "test_path": "/ostf-tests/fuel/tests",
# "driver": "nose"
# },
# "fuel_smoke": {
# "test_path": "/ostf-tests/fuel/tests",
# "driver": "nose",
# "argv": ["smoke"]
# },
# "fuel_sanity": {
# "test_path": "/ostf-tests/fuel/tests",
# "driver": "nose",
# "argv": ["sanity"]
# }
# }
# self.assertEqual(res, expected)
#
# @patch.object(API, '_discovery')
# @patch.object(API, '_find_command')
# @patch('ostf_adapter.api.get_storage')
# @patch('ostf_adapter.api.parse_json_file')
# def test_kill_test_run(
# self, commands_mock, get_storage_mock, find_mock, discovery_mock):
# get_storage_mock.return_value = self.storage
# self.transport.check_current_running.return_value = True
# find_mock.return_value = self.command, self.transport
# self.storage.get_last_test_run.return_value = self.test_run
# commands_mock.return_value = TEST_COMMANDS
# self.transport.obj.kill.return_value = True
# api = API()
# with patch.object(api, '_find_command') as find_command_mock:
# find_command_mock.return_value = self.command, self.transport
# res = api.kill(EXTERNAL_ID)
# self.transport.obj.kill.assert_called_once_with(EXTERNAL_ID)
def test_kill_multiple(self):
test_runs = [{'id': 1, 'status': 'stopped'},
{'id': 2, 'status': 'stopped'}]
with patch.object(self.api, 'kill') as kill_mock:
self.api.kill_multiple(test_runs)
self.assertEqual(kill_mock.call_count, 2)
def test_kill(self):
test_run_id = 1
status = 'stopped'
with patch.object(self.api, '_find_command') as command_mock:
command_mock.return_value = (self.command, self.transport)
self.api.kill(test_run_id, status)