NoSuchTypeError -> InvalidTypeError

This commit is contained in:
Darko Poljak 2017-11-02 13:57:36 +01:00
parent 5e087fd280
commit e6c5563a16
6 changed files with 15 additions and 8 deletions

View file

@ -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

View file

@ -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")

View file

@ -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,

View file

@ -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):

View file

@ -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):

View file

@ -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']