NoSuchTypeError -> InvalidTypeError
This commit is contained in:
		
					parent
					
						
							
								5e087fd280
							
						
					
				
			
			
				commit
				
					
						e6c5563a16
					
				
			
		
					 6 changed files with 15 additions and 8 deletions
				
			
		|  | @ -21,7 +21,7 @@ | ||||||
| # | # | ||||||
| 
 | 
 | ||||||
| from cdist.core.cdist_type import CdistType | from cdist.core.cdist_type import CdistType | ||||||
| from cdist.core.cdist_type import NoSuchTypeError | from cdist.core.cdist_type import NoSuchTypeError, InvalidTypeError | ||||||
| from cdist.core.cdist_object import CdistObject | from cdist.core.cdist_object import CdistObject | ||||||
| from cdist.core.cdist_object import IllegalObjectIdError | from cdist.core.cdist_object import IllegalObjectIdError | ||||||
| from cdist.core.explorer import Explorer | from cdist.core.explorer import Explorer | ||||||
|  |  | ||||||
|  | @ -32,10 +32,17 @@ class NoSuchTypeError(cdist.Error): | ||||||
|         self.type_absolute_path = type_absolute_path |         self.type_absolute_path = type_absolute_path | ||||||
| 
 | 
 | ||||||
|     def __str__(self): |     def __str__(self): | ||||||
|         return "Type '%s' does not exist at %s" % ( |         return "Type '%s' does not exist at '%s'" % ( | ||||||
|                 self.type_path, self.type_absolute_path) |                 self.type_path, self.type_absolute_path) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | class InvalidTypeError(NoSuchTypeError): | ||||||
|  |     def __str__(self): | ||||||
|  |         return "Invalid type '%s' at '%s' defined at '%s'" % ( | ||||||
|  |                 self.type_path, self.type_absolute_path, | ||||||
|  |                 os.path.realpath(self.type_absolute_path)) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| class CdistType(object): | class CdistType(object): | ||||||
|     """Represents a cdist type. |     """Represents a cdist type. | ||||||
| 
 | 
 | ||||||
|  | @ -51,7 +58,7 @@ class CdistType(object): | ||||||
|         self.path = self.name |         self.path = self.name | ||||||
|         self.absolute_path = os.path.join(self.base_path, self.path) |         self.absolute_path = os.path.join(self.base_path, self.path) | ||||||
|         if not os.path.isdir(self.absolute_path): |         if not os.path.isdir(self.absolute_path): | ||||||
|             raise NoSuchTypeError(self.name, self.path, self.absolute_path) |             raise InvalidTypeError(self.name, self.path, self.absolute_path) | ||||||
|         self.manifest_path = os.path.join(self.name, "manifest") |         self.manifest_path = os.path.join(self.name, "manifest") | ||||||
|         self.explorer_path = os.path.join(self.name, "explorer") |         self.explorer_path = os.path.join(self.name, "explorer") | ||||||
|         self.gencode_local_path = os.path.join(self.name, "gencode-local") |         self.gencode_local_path = os.path.join(self.name, "gencode-local") | ||||||
|  |  | ||||||
|  | @ -247,7 +247,7 @@ class Emulator(object): | ||||||
|         # Raises an error, if object cannot be created |         # Raises an error, if object cannot be created | ||||||
|         try: |         try: | ||||||
|             cdist_object = self.cdist_object.object_from_name(requirement) |             cdist_object = self.cdist_object.object_from_name(requirement) | ||||||
|         except core.cdist_type.NoSuchTypeError as e: |         except core.cdist_type.InvalidTypeError as e: | ||||||
|             self.log.error(("%s requires object %s, but type %s does not" |             self.log.error(("%s requires object %s, but type %s does not" | ||||||
|                             " exist. Defined at %s" % ( |                             " exist. Defined at %s" % ( | ||||||
|                                 self.cdist_object.name, |                                 self.cdist_object.name, | ||||||
|  |  | ||||||
|  | @ -55,7 +55,7 @@ class TypeTestCase(test.CdistTestCase): | ||||||
| 
 | 
 | ||||||
|     def test_nonexistent_type(self): |     def test_nonexistent_type(self): | ||||||
|         base_path = fixtures |         base_path = fixtures | ||||||
|         self.assertRaises(core.NoSuchTypeError, core.CdistType, base_path, |         self.assertRaises(core.InvalidTypeError, core.CdistType, base_path, | ||||||
|                           '__i-dont-exist') |                           '__i-dont-exist') | ||||||
| 
 | 
 | ||||||
|     def test_name(self): |     def test_name(self): | ||||||
|  |  | ||||||
|  | @ -151,7 +151,7 @@ class ConfigRunTestCase(test.CdistTestCase): | ||||||
|         """Unknown type should be detected in the resolving process""" |         """Unknown type should be detected in the resolving process""" | ||||||
|         first = self.object_index['__first/man'] |         first = self.object_index['__first/man'] | ||||||
|         first.requirements = ['__nosuchtype/not/exist'] |         first.requirements = ['__nosuchtype/not/exist'] | ||||||
|         with self.assertRaises(cdist.core.cdist_type.NoSuchTypeError): |         with self.assertRaises(cdist.core.cdist_type.InvalidTypeError): | ||||||
|             self.config.iterate_until_finished() |             self.config.iterate_until_finished() | ||||||
| 
 | 
 | ||||||
|     def test_requirement_singleton_where_no_singleton(self): |     def test_requirement_singleton_where_no_singleton(self): | ||||||
|  |  | ||||||
|  | @ -76,14 +76,14 @@ class EmulatorTestCase(test.CdistTestCase): | ||||||
| 
 | 
 | ||||||
|     def test_nonexistent_type_exec(self): |     def test_nonexistent_type_exec(self): | ||||||
|         argv = ['__does-not-exist'] |         argv = ['__does-not-exist'] | ||||||
|         self.assertRaises(core.cdist_type.NoSuchTypeError, emulator.Emulator, |         self.assertRaises(core.cdist_type.InvalidTypeError, emulator.Emulator, | ||||||
|                           argv, env=self.env) |                           argv, env=self.env) | ||||||
| 
 | 
 | ||||||
|     def test_nonexistent_type_requirement(self): |     def test_nonexistent_type_requirement(self): | ||||||
|         argv = ['__file', '/tmp/foobar'] |         argv = ['__file', '/tmp/foobar'] | ||||||
|         self.env['require'] = '__does-not-exist/some-id' |         self.env['require'] = '__does-not-exist/some-id' | ||||||
|         emu = emulator.Emulator(argv, env=self.env) |         emu = emulator.Emulator(argv, env=self.env) | ||||||
|         self.assertRaises(core.cdist_type.NoSuchTypeError, emu.run) |         self.assertRaises(core.cdist_type.InvalidTypeError, emu.run) | ||||||
| 
 | 
 | ||||||
|     def test_illegal_object_id_requirement(self): |     def test_illegal_object_id_requirement(self): | ||||||
|         argv = ['__file', '/tmp/foobar'] |         argv = ['__file', '/tmp/foobar'] | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue