Add initial test suite.
Change-Id: I4fdbc8d6c3073b7edfdc8bf486575820088faa72
This commit is contained in:
parent
855b217f6d
commit
207e5cf884
51
gear/tests/__init__.py
Normal file
51
gear/tests/__init__.py
Normal file
@ -0,0 +1,51 @@
|
||||
# vim: tabstop=4 shiftwidth=4 softtabstop=4
|
||||
|
||||
# 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.
|
||||
|
||||
"""Common utilities used in testing"""
|
||||
|
||||
import os
|
||||
|
||||
import fixtures
|
||||
import testresources
|
||||
import testtools
|
||||
|
||||
TRUE_VALUES = ('true', '1', 'yes')
|
||||
|
||||
|
||||
class BaseTestCase(testtools.TestCase, testresources.ResourcedTestCase):
|
||||
|
||||
def setUp(self):
|
||||
super(BaseTestCase, self).setUp()
|
||||
test_timeout = os.environ.get('OS_TEST_TIMEOUT', 30)
|
||||
try:
|
||||
test_timeout = int(test_timeout)
|
||||
except ValueError:
|
||||
# If timeout value is invalid, fail hard.
|
||||
print("OS_TEST_TIMEOUT set to invalid value"
|
||||
" defaulting to no timeout")
|
||||
test_timeout = 0
|
||||
if test_timeout > 0:
|
||||
self.useFixture(fixtures.Timeout(test_timeout, gentle=True))
|
||||
|
||||
if os.environ.get('OS_STDOUT_CAPTURE') in TRUE_VALUES:
|
||||
stdout = self.useFixture(fixtures.StringStream('stdout')).stream
|
||||
self.useFixture(fixtures.MonkeyPatch('sys.stdout', stdout))
|
||||
if os.environ.get('OS_STDERR_CAPTURE') in TRUE_VALUES:
|
||||
stderr = self.useFixture(fixtures.StringStream('stderr')).stream
|
||||
self.useFixture(fixtures.MonkeyPatch('sys.stderr', stderr))
|
||||
|
||||
self.useFixture(fixtures.FakeLogger())
|
||||
self.useFixture(fixtures.NestedTempfile())
|
46
gear/tests/test_gear.py
Normal file
46
gear/tests/test_gear.py
Normal file
@ -0,0 +1,46 @@
|
||||
# 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.
|
||||
|
||||
import testscenarios
|
||||
import testtools
|
||||
from testtools import content
|
||||
from testtools import matchers
|
||||
|
||||
import gear
|
||||
from gear import tests
|
||||
|
||||
|
||||
class ConnectionTestCase(tests.BaseTestCase):
|
||||
|
||||
scenarios = [
|
||||
('both_string',
|
||||
dict(host="hostname", port='80')),
|
||||
('string_int',
|
||||
dict(host="hostname", port=80)),
|
||||
('none_string',
|
||||
dict(host=None, port="80")),
|
||||
]
|
||||
|
||||
def setUp(self):
|
||||
super(ConnectionTestCase, self).setUp()
|
||||
self.conn = gear.Connection(self.host, self.port)
|
||||
|
||||
def test_params(self):
|
||||
self.assertTrue(repr(self.conn).endswith(
|
||||
'host: %s port: %s>' % (self.host, self.port)))
|
||||
|
||||
|
||||
def load_tests(loader, in_tests, pattern):
|
||||
return testscenarios.load_tests_apply_scenarios(loader, in_tests, pattern)
|
@ -5,5 +5,6 @@ flake8
|
||||
python-subunit
|
||||
sphinx>=1.1.2
|
||||
testrepository>=0.0.13
|
||||
testresources
|
||||
testscenarios
|
||||
testtools>=0.9.27
|
||||
|
Loading…
x
Reference in New Issue
Block a user