rally/tests/cmd/test_manage.py
Maksym Iarmak 66cdcc4b63 Rally & Tempest integration (base) - part 1
Use tempest (https://github.com/openstack/tempest) inside rally to
organize base for verification functionality & for benchmarks scenario
based on tempest.

This patch adds ability to install Tempest tests (no parameters needs)
and to verify the specified cloud (takes a deploy_id as parameter, this
parameter is now optional). For now, there are smoke tests.

Usage:
rally-manage tempest install - install tempest tests
rally verify start --deploy-id=<deploy_id> - start cloud verification

Change-Id: I70bb37476dd2d12370ea77156adab3ceaddb93cb
Related: blueprint tempest-verification
2014-02-14 17:34:59 +02:00

58 lines
1.8 KiB
Python

# Copyright 2013: Mirantis Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import mock
import sys
from rally.cmd import manage
from tests import test
class CmdManageTestCase(test.TestCase):
@mock.patch('rally.cmd.manage.cliutils')
def test_main(self, cli_mock):
manage.main()
categories = {'db': manage.DBCommands,
'tempest': manage.TempestCommands}
cli_mock.run.assert_called_once_with(sys.argv, categories)
class DBCommandsTestCase(test.TestCase):
def setUp(self):
super(DBCommandsTestCase, self).setUp()
self.db_commands = manage.DBCommands()
@mock.patch('rally.cmd.manage.db')
def test_recreate(self, mock_db):
self.db_commands.recreate()
calls = [mock.call.db_drop(), mock.call.db_create()]
self.assertEqual(calls, mock_db.mock_calls)
class TempestCommandsTestCase(test.TestCase):
def setUp(self):
super(TempestCommandsTestCase, self).setUp()
self.tempest_commands = manage.TempestCommands()
self.tempest = mock.Mock()
@mock.patch('rally.verification.verifiers.tempest.tempest.Tempest')
def test_install(self, mock_tempest):
mock_tempest.return_value = self.tempest
self.tempest_commands.install()
self.tempest.install.assert_called_once_with()