summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/tests.py56
1 files changed, 30 insertions, 26 deletions
diff --git a/tests/tests.py b/tests/tests.py
index 231c7f0..4df9d94 100644
--- a/tests/tests.py
+++ b/tests/tests.py
@@ -16,6 +16,7 @@ sys.path.append('./cobbler')
import api
import config
import utils
+from cexceptions import CobblerException
FAKE_INITRD="initrd-2.6.15-1.2054_FAKE.img"
FAKE_INITRD2="initrd-2.5.16-2.2055_FAKE.img"
@@ -42,7 +43,7 @@ class BootTest(unittest.TestCase):
self.fk_kernel2 = os.path.join(self.topdir, FAKE_KERNEL2)
self.fk_kernel3 = os.path.join(self.topdir, FAKE_KERNEL3)
- self.api = api.BootAPI()
+ self.api = api.BootAPI(True) # contain_exceptions
self.hostname = os.uname()[1]
create = [ self.fk_initrd, self.fk_initrd2, self.fk_initrd3,
self.fk_kernel, self.fk_kernel2, self.fk_kernel3 ]
@@ -79,8 +80,11 @@ class BootTest(unittest.TestCase):
class Utilities(BootTest):
def _expeq(self, expected, actual):
- self.failUnlessEqual(expected, actual,
- "Expected: %s; actual: %s" % (expected, actual))
+ try:
+ self.failUnlessEqual(expected, actual,
+ "Expected: %s; actual: %s" % (expected, actual))
+ except:
+ self.fail("exception during failUnlessEqual")
def test_kernel_scan(self):
self.assertTrue(utils.find_kernel(self.fk_kernel))
@@ -123,32 +127,32 @@ class Additions(BootTest):
def test_invalid_distro_non_referenced_kernel(self):
distro = self.api.new_distro()
self.assertTrue(distro.set_name("testdistro2"))
- self.assertFalse(distro.set_kernel("filedoesntexist"))
+ self.failUnlessRaises(CobblerException,distro.set_kernel,"filedoesntexist")
self.assertTrue(distro.set_initrd(self.fk_initrd))
- self.assertFalse(self.api.distros().add(distro))
+ self.failUnlessRaises(CobblerException, self.api.distros().add, distro)
self.assertFalse(self.api.distros().find("testdistro2"))
def test_invalid_distro_non_referenced_initrd(self):
distro = self.api.new_distro()
self.assertTrue(distro.set_name("testdistro3"))
self.assertTrue(distro.set_kernel(self.fk_kernel))
- self.assertFalse(distro.set_initrd("filedoesntexist"))
- self.assertFalse(self.api.distros().add(distro))
+ self.failUnlessRaises(CobblerException, distro.set_initrd, "filedoesntexist")
+ self.failUnlessRaises(CobblerException, self.api.distros().add, distro)
self.assertFalse(self.api.distros().find("testdistro3"))
def test_invalid_profile_non_referenced_distro(self):
profile = self.api.new_profile()
self.assertTrue(profile.set_name("testprofile11"))
- self.assertFalse(profile.set_distro("distrodoesntexist"))
+ self.failUnlessRaises(CobblerException, profile.set_distro, "distrodoesntexist")
self.assertTrue(profile.set_kickstart(FAKE_KICKSTART))
- self.assertFalse(self.api.profiles().add(profile))
+ self.failUnlessRaises(CobblerException, self.api.profiles().add, profile)
self.assertFalse(self.api.profiles().find("testprofile2"))
def test_invalid_profile_kickstart_not_url(self):
profile = self.api.new_profile()
self.assertTrue(profile.set_name("testprofile12"))
self.assertTrue(profile.set_distro("testdistro0"))
- self.assertFalse(profile.set_kickstart("kickstartdoesntexist"))
+ self.failUnlessRaises(CobblerException, profile.set_kickstart, "kickstartdoesntexist")
# since kickstarts are optional, you can still add it
self.assertTrue(self.api.profiles().add(profile))
self.assertTrue(self.api.profiles().find("testprofile12"))
@@ -165,21 +169,21 @@ class Additions(BootTest):
# no slashes or wildcards in name
self.assertTrue(profile.set_xen_name("xen"))
self.assertTrue(profile.set_xen_name("xen"))
- self.assertFalse(profile.set_xen_name("xen/foo"))
- self.assertFalse(profile.set_xen_name("xen*foo"))
- self.assertFalse(profile.set_xen_name("xen?foo"))
+ self.failUnlessRaises(CobblerException, profile.set_xen_name, "xen/foo")
+ self.failUnlessRaises(CobblerException, profile.set_xen_name, "xen*foo")
+ self.failUnlessRaises(CobblerException, profile.set_xen_name, "xen?foo")
# sizes must be integers
self.assertTrue(profile.set_xen_file_size("54321"))
- self.assertFalse(profile.set_xen_file_size("huge"))
- self.assertFalse(profile.set_xen_file_size("54321.23"))
+ self.failUnlessRaises(CobblerException, profile.set_xen_file_size, "huge")
+ self.failUnlessRaises(CobblerException, profile.set_xen_file_size, "54321.23")
# macs must be properly formatted
self.assertTrue(profile.set_xen_mac("AA:BB:CC:DD:EE:FF"))
- self.assertFalse(profile.set_xen_mac("AA-BB-CC-DD-EE-FF"))
+ self.failUnlessRaises(CobblerException, profile.set_xen_mac, "AA-BB-CC-DD-EE-FF")
# paravirt must be 'true' or 'false'
self.assertFalse(profile.set_xen_mac("cowbell"))
self.assertTrue(profile.set_xen_paravirt('true'))
self.assertTrue(profile.set_xen_paravirt('fALsE'))
- self.assertFalse(profile.set_xen_paravirt('sputnik'))
+ self.failUnlessRaises(CobblerException, profile.set_xen_paravirt, 'sputnik')
self.assertFalse(profile.set_xen_paravirt(11))
# each item should be 'true' now, so we can add it
# since the failed items don't affect status
@@ -188,9 +192,9 @@ class Additions(BootTest):
def test_invalid_system_bad_name_host(self):
system = self.api.new_system()
name = "hostnamewontresolveanyway"
- self.assertFalse(system.set_name(name))
+ self.failUnlessRaises(CobblerException, system.set_name, name)
self.assertTrue(system.set_profile("testprofile0"))
- self.assertFalse(self.api.systems().add(system))
+ self.failUnlessRaises(CobblerException, self.api.systems().add, system)
self.assertFalse(self.api.systems().find(name))
def test_system_name_is_a_MAC(self):
@@ -212,27 +216,27 @@ class Additions(BootTest):
def test_invalid_system_non_referenced_profile(self):
system = self.api.new_system()
self.assertTrue(system.set_name(self.hostname))
- self.assertFalse(system.set_profile("profiledoesntexist"))
- self.assertFalse(self.api.systems().add(system))
+ self.failUnlessRaises(CobblerException, system.set_profile, "profiledoesntexist")
+ self.failUnlessRaises(CobblerException, self.api.systems().add, system)
class Deletions(BootTest):
def test_invalid_delete_profile_doesnt_exist(self):
- self.assertFalse(self.api.profiles().remove("doesnotexist"))
+ self.failUnlessRaises(CobblerException, self.api.profiles().remove, "doesnotexist")
def test_invalid_delete_profile_would_orphan_systems(self):
self.make_basic_config()
- self.assertFalse(self.api.profiles().remove("testprofile0"))
+ self.failUnlessRaises(CobblerException, self.api.profiles().remove, "testprofile0")
def test_invalid_delete_system_doesnt_exist(self):
- self.assertFalse(self.api.systems().remove("doesnotexist"))
+ self.failUnlessRaises(CobblerException, self.api.systems().remove, "doesnotexist")
def test_invalid_delete_distro_doesnt_exist(self):
- self.assertFalse(self.api.distros().remove("doesnotexist"))
+ self.failUnlessRaises(CobblerException, self.api.distros().remove, "doesnotexist")
def test_invalid_delete_distro_would_orphan_profile(self):
self.make_basic_config()
- self.assertFalse(self.api.distros().remove("testdistro0"))
+ self.failUnlessRaises(CobblerException, self.api.distros().remove, "testdistro0")
def test_working_deletes(self):
self.api.clear()