Add more tests for YAML data files
Specifically, for YAML files are missing and missing PyYAML support.
This commit is contained in:
parent
7d75185607
commit
9dbe8022d9
|
@ -6,6 +6,13 @@ import six
|
||||||
from ddt import ddt, data, file_data
|
from ddt import ddt, data, file_data
|
||||||
from nose.tools import assert_equal, assert_is_not_none, assert_raises
|
from nose.tools import assert_equal, assert_is_not_none, assert_raises
|
||||||
|
|
||||||
|
from test.mycode import has_three_elements
|
||||||
|
|
||||||
|
try:
|
||||||
|
from unittest import mock
|
||||||
|
except ImportError:
|
||||||
|
import mock
|
||||||
|
|
||||||
|
|
||||||
@ddt
|
@ddt
|
||||||
class Dummy(object):
|
class Dummy(object):
|
||||||
|
@ -42,7 +49,7 @@ class FileDataDummy(object):
|
||||||
|
|
||||||
|
|
||||||
@ddt
|
@ddt
|
||||||
class FileDataMissingDummy(object):
|
class JSONFileDataMissingDummy(object):
|
||||||
"""
|
"""
|
||||||
Dummy class to test the file_data decorator on when
|
Dummy class to test the file_data decorator on when
|
||||||
JSON file is missing
|
JSON file is missing
|
||||||
|
@ -53,6 +60,18 @@ class FileDataMissingDummy(object):
|
||||||
return value
|
return value
|
||||||
|
|
||||||
|
|
||||||
|
@ddt
|
||||||
|
class YAMLFileDataMissingDummy(object):
|
||||||
|
"""
|
||||||
|
Dummy class to test the file_data decorator on when
|
||||||
|
JSON file is missing
|
||||||
|
"""
|
||||||
|
|
||||||
|
@file_data("test_data_dict_missing.yaml")
|
||||||
|
def test_something_again(self, value):
|
||||||
|
return value
|
||||||
|
|
||||||
|
|
||||||
def test_data_decorator():
|
def test_data_decorator():
|
||||||
"""
|
"""
|
||||||
Test the ``data`` method decorator
|
Test the ``data`` method decorator
|
||||||
|
@ -170,11 +189,23 @@ def test_feed_data_file_data():
|
||||||
|
|
||||||
def test_feed_data_file_data_missing_json():
|
def test_feed_data_file_data_missing_json():
|
||||||
"""
|
"""
|
||||||
Test that a ValueError is raised
|
Test that a ValueError is raised when JSON file is missing
|
||||||
"""
|
"""
|
||||||
tests = filter(_is_test, FileDataMissingDummy.__dict__)
|
tests = filter(_is_test, JSONFileDataMissingDummy.__dict__)
|
||||||
|
|
||||||
obj = FileDataMissingDummy()
|
obj = JSONFileDataMissingDummy()
|
||||||
|
for test in tests:
|
||||||
|
method = getattr(obj, test)
|
||||||
|
assert_raises(ValueError, method)
|
||||||
|
|
||||||
|
|
||||||
|
def test_feed_data_file_data_missing_yaml():
|
||||||
|
"""
|
||||||
|
Test that a ValueError is raised when YAML file is missing
|
||||||
|
"""
|
||||||
|
tests = filter(_is_test, YAMLFileDataMissingDummy.__dict__)
|
||||||
|
|
||||||
|
obj = YAMLFileDataMissingDummy()
|
||||||
for test in tests:
|
for test in tests:
|
||||||
method = getattr(obj, test)
|
method = getattr(obj, test)
|
||||||
assert_raises(ValueError, method)
|
assert_raises(ValueError, method)
|
||||||
|
@ -270,3 +301,14 @@ def test_feed_data_with_invalid_identifier():
|
||||||
'test_data_with_invalid_identifier_1_32v2_g__Gmw845h_W_b53wi_'
|
'test_data_with_invalid_identifier_1_32v2_g__Gmw845h_W_b53wi_'
|
||||||
)
|
)
|
||||||
assert_equal(method(), '32v2 g #Gmw845h$W b53wi.')
|
assert_equal(method(), '32v2 g #Gmw845h$W b53wi.')
|
||||||
|
|
||||||
|
|
||||||
|
@mock.patch('ddt._have_yaml', False)
|
||||||
|
def test_load_yaml_without_yaml_support():
|
||||||
|
"""
|
||||||
|
Test that YAML files are not loaded if YAML is not installed.
|
||||||
|
"""
|
||||||
|
|
||||||
|
@file_data('test_data_dict.yaml')
|
||||||
|
def test_file_data_yaml_dict(value):
|
||||||
|
self.assertTrue(has_three_elements(value))
|
||||||
|
|
Loading…
Reference in New Issue