Relocate our shell testing to where it belongs
Most of our shell testing belongs in our integration test folder. These tests are mocking out standard out and standard in as well as other collaborators while still integrating with other collaborators. These belong in cratonclient.tests.integration as a result. Change-Id: I3a73637d25604112f252e21dde21f8b9b582be14
This commit is contained in:
parent
acf0a8c357
commit
c1662135a4
@ -16,29 +16,8 @@
|
||||
# under the License.
|
||||
"""Base TestCase for all cratonclient tests."""
|
||||
|
||||
import mock
|
||||
import six
|
||||
|
||||
from oslotest import base
|
||||
|
||||
from cratonclient.shell import main
|
||||
|
||||
|
||||
class TestCase(base.BaseTestCase):
|
||||
"""Test case base class for all unit tests."""
|
||||
|
||||
|
||||
class ShellTestCase(base.BaseTestCase):
|
||||
"""Test case base class for all shell unit tests."""
|
||||
|
||||
def shell(self, arg_str, exitcodes=(0,)):
|
||||
"""Main function for exercising the craton shell."""
|
||||
with mock.patch('sys.stdout', new=six.StringIO()) as mock_stdout, \
|
||||
mock.patch('sys.stderr', new=six.StringIO()) as mock_stderr:
|
||||
|
||||
try:
|
||||
main_shell = main.CratonShell()
|
||||
main_shell.main(arg_str.split())
|
||||
except SystemExit:
|
||||
pass
|
||||
return (mock_stdout.getvalue(), mock_stderr.getvalue())
|
||||
|
39
cratonclient/tests/integration/base.py
Normal file
39
cratonclient/tests/integration/base.py
Normal file
@ -0,0 +1,39 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2010-2011 OpenStack Foundation
|
||||
# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
|
||||
#
|
||||
# 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.
|
||||
"""Some integration testing utilities."""
|
||||
|
||||
import mock
|
||||
import six
|
||||
|
||||
from cratonclient.shell import main
|
||||
from cratonclient.tests import base
|
||||
|
||||
|
||||
class ShellTestCase(base.TestCase):
|
||||
"""Test case base class for all shell unit tests."""
|
||||
|
||||
def shell(self, arg_str, exitcodes=(0,)):
|
||||
"""Main function for exercising the craton shell."""
|
||||
with mock.patch('sys.stdout', new=six.StringIO()) as mock_stdout, \
|
||||
mock.patch('sys.stderr', new=six.StringIO()) as mock_stderr:
|
||||
|
||||
try:
|
||||
main_shell = main.CratonShell()
|
||||
main_shell.main(arg_str.split())
|
||||
except SystemExit:
|
||||
pass
|
||||
return (mock_stdout.getvalue(), mock_stderr.getvalue())
|
@ -20,7 +20,7 @@ from testtools import matchers
|
||||
|
||||
from cratonclient import exceptions as exc
|
||||
from cratonclient.shell.v1 import cells_shell
|
||||
from cratonclient.tests import base
|
||||
from cratonclient.tests.integration import base
|
||||
from cratonclient.v1 import cells
|
||||
|
||||
|
@ -20,7 +20,7 @@ from testtools import matchers
|
||||
|
||||
from cratonclient import exceptions as exc
|
||||
from cratonclient.shell.v1 import hosts_shell
|
||||
from cratonclient.tests import base
|
||||
from cratonclient.tests.integration import base
|
||||
from cratonclient.v1 import hosts
|
||||
|
||||
|
@ -19,7 +19,7 @@ import re
|
||||
from testtools import matchers
|
||||
|
||||
from cratonclient.shell import main
|
||||
from cratonclient.tests import base
|
||||
from cratonclient.tests.integration import base
|
||||
|
||||
|
||||
class TestMainShell(base.ShellTestCase):
|
@ -17,7 +17,7 @@ from argparse import Namespace
|
||||
from testtools import matchers
|
||||
|
||||
from cratonclient.shell.v1 import regions_shell
|
||||
from cratonclient.tests import base
|
||||
from cratonclient.tests.integration import base
|
||||
from cratonclient.v1 import regions
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user