testcases emulator.OverrideTestCase, with some minor bugfixes to make

test work as expected ...
This commit is contained in:
Daniel Heule 2014-02-07 14:24:12 +01:00
parent f163b32720
commit 60c53e213c
4 changed files with 16 additions and 10 deletions

View file

@ -130,7 +130,6 @@ class Emulator(object):
self.args = parser.parse_args(self.argv[1:]) self.args = parser.parse_args(self.argv[1:])
self.log.debug('Args: %s' % self.args) self.log.debug('Args: %s' % self.args)
def setup_object(self): def setup_object(self):
# Setup object_id - FIXME: unset / do not setup anymore! # Setup object_id - FIXME: unset / do not setup anymore!
if not self.cdist_type.is_singleton: if not self.cdist_type.is_singleton:
@ -146,7 +145,7 @@ class Emulator(object):
if value is not None: if value is not None:
self.parameters[key] = value self.parameters[key] = value
if self.cdist_object.exists and not 'CDIST_OVERRIDE' in os.environ: if self.cdist_object.exists and not 'CDIST_OVERRIDE' in self.env:
if self.cdist_object.parameters != self.parameters: if self.cdist_object.parameters != self.parameters:
raise cdist.Error("Object %s already exists with conflicting parameters:\n%s: %s\n%s: %s" raise cdist.Error("Object %s already exists with conflicting parameters:\n%s: %s\n%s: %s"
% (self.cdist_object.name, " ".join(self.cdist_object.source), self.cdist_object.parameters, self.object_source, self.parameters) % (self.cdist_object.name, " ".join(self.cdist_object.source), self.cdist_object.parameters, self.object_source, self.parameters)

View file

@ -58,10 +58,10 @@ class ObjectClassTestCase(test.CdistTestCase):
def test_list_type_names(self): def test_list_type_names(self):
type_names = list(cdist.core.CdistObject.list_type_names(object_base_path)) type_names = list(cdist.core.CdistObject.list_type_names(object_base_path))
self.assertEqual(type_names, ['__first', '__second', '__third']) self.assertEqual(sorted(type_names), ['__first', '__second', '__third'])
def test_list_objects(self): def test_list_objects(self):
found_objects = list(core.CdistObject.list_objects(object_base_path, type_base_path)) found_objects = sorted(list(core.CdistObject.list_objects(object_base_path, type_base_path)))
self.assertEqual(found_objects, self.expected_objects) self.assertEqual(found_objects, self.expected_objects)
def test_create_singleton(self): def test_create_singleton(self):

View file

@ -34,7 +34,7 @@ class TypeTestCase(test.CdistTestCase):
def test_list_type_names(self): def test_list_type_names(self):
base_path = op.join(fixtures, 'list_types') base_path = op.join(fixtures, 'list_types')
type_names = core.CdistType.list_type_names(base_path) type_names = core.CdistType.list_type_names(base_path)
self.assertEqual(type_names, ['__first', '__second', '__third']) self.assertEqual(sorted(type_names), ['__first', '__second', '__third'])
def test_list_types(self): def test_list_types(self):
base_path = op.join(fixtures, 'list_types') base_path = op.join(fixtures, 'list_types')
@ -44,7 +44,7 @@ class TypeTestCase(test.CdistTestCase):
core.CdistType(base_path, '__second'), core.CdistType(base_path, '__second'),
core.CdistType(base_path, '__third'), core.CdistType(base_path, '__third'),
] ]
self.assertEqual(types, types_expected) self.assertEqual(sorted(types), types_expected)
def test_only_one_instance(self): def test_only_one_instance(self):
base_path = fixtures base_path = fixtures

View file

@ -2,6 +2,7 @@
# #
# 2010-2011 Steven Armstrong (steven-cdist at armstrong.cc) # 2010-2011 Steven Armstrong (steven-cdist at armstrong.cc)
# 2012-2013 Nico Schottelius (nico-cdist at schottelius.org) # 2012-2013 Nico Schottelius (nico-cdist at schottelius.org)
# 2014 Daniel Heule (hda at sfs.biz)
# #
# This file is part of cdist. # This file is part of cdist.
# #
@ -150,16 +151,22 @@ class OverrideTestCase(test.CdistTestCase):
def tearDown(self): def tearDown(self):
shutil.rmtree(self.temp_dir) shutil.rmtree(self.temp_dir)
def test_override(self): def test_override_negative(self):
argv = ['__file', '/tmp/foobar'] argv = ['__file', '/tmp/foobar']
self.env['require'] = '__file/etc/*'
emu = emulator.Emulator(argv, env=self.env) emu = emulator.Emulator(argv, env=self.env)
emu.run() emu.run()
argv = ['__file', '/tmp/foobar','--mode','404']
emu = emulator.Emulator(argv, env=self.env)
self.assertRaises(cdist.Error, emu.run)
def test_override_feature(self):
argv = ['__file', '/tmp/foobar'] argv = ['__file', '/tmp/foobar']
self.env['require'] = '__file/etc/*'
emu = emulator.Emulator(argv, env=self.env) emu = emulator.Emulator(argv, env=self.env)
emu.run() emu.run()
# if we get here all is fine argv = ['__file', '/tmp/foobar','--mode','404']
self.env['CDIST_OVERRIDE'] = 'on'
emu = emulator.Emulator(argv, env=self.env)
emu.run()
class ArgumentsTestCase(test.CdistTestCase): class ArgumentsTestCase(test.CdistTestCase):