forked from ungleich-public/cdist
		
	testcases emulator.OverrideTestCase, with some minor bugfixes to make
test work as expected ...
This commit is contained in:
		
					parent
					
						
							
								f163b32720
							
						
					
				
			
			
				commit
				
					
						60c53e213c
					
				
			
		
					 4 changed files with 16 additions and 10 deletions
				
			
		| 
						 | 
					@ -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)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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):
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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):
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue