def test_check_required_wait_no_event(self): """ Raises CloubedArgumentException because action wait requires event """ sys.argv = ["cloubed", "wait", "--domain", "domain"] parser = CloubedArgumentParser(u"test_description") parser.add_args() parser.parse_args() self.assertRaisesRegexp(CloubedArgumentException, "--event is required for wait action", parser.check_required)
def test_parse_resource_ok(self): """ Checks CloubedArgumentParser.parse_resource() should return a list with the 2 parts of the resource """ sys.argv = ["cloubed", "xml", "--resource", "part1:part2"] parser = CloubedArgumentParser(u"test_description") parser.add_args() parser.parse_args() self.assertEquals(parser.parse_resource(), ["part1", "part2"])
def test_parse_event_ok(self): """ Checks CloubedArgumentParser.parse_event() should return a list with the 2 parts of the event name """ sys.argv = ["cloubed", "wait", "--domain", "toto", "--event", "part1:part2"] parser = CloubedArgumentParser(u"test_description") parser.add_args() parser.parse_args() self.assertEquals(parser.parse_event(), ["part1", "part2"])
def test_parse_networks_values(self): """ Checks CloubedArgumentParser.parse_networks() returns the list of given networks names if valid values """ sys.argv = ["cloubed", "boot", "--domain", "toto", "--recreate-networks", "network1", "network2"] parser = CloubedArgumentParser(u"test_description") parser.add_args() parser.parse_args() self.assertEqual(parser.parse_networks(), ["network1", "network2"])
def test_parse_networks_default(self): """ Checks CloubedArgumentParser.parse_networks() returns default value False """ sys.argv = ["cloubed", "boot", "--domain", "toto"] parser = CloubedArgumentParser(u"test_description") parser.add_args() parser.parse_args() self.assertEqual(parser.parse_networks(), False)
def test_parse_disks_values(self): """ Checks CloubedArgumentParser.parse_disks() returns the list of given disk names if values are valid """ sys.argv = ["cloubed", "boot", "--domain", "toto", "--overwrite-disks", "disk1", "disk2"] parser = CloubedArgumentParser(u"test_description") parser.add_args() parser.parse_args() self.assertEqual(parser.parse_disks(), ["disk1", "disk2"])
def test_parse_bootdev_implicit_default(self): """ Checks CloubedArgumentParser.parse_bootdev() returns default implicit bootdev """ sys.argv = ["cloubed", "boot", "--domain", "toto"] parser = CloubedArgumentParser(u"test_description") parser.add_args() parser.parse_args() self.assertEqual(parser.parse_bootdev(), "hd")
def test_arg_coherency_wait_filename(self): """ Raises CloubedArgumentException because filename nonsense with wait action """ sys.argv = ["cloubed", "wait", "--domain", "toto", "--filename", "toto"] parser = CloubedArgumentParser(u"test_description") parser.add_args() parser.parse_args() self.assertRaisesRegexp( CloubedArgumentException, "--filename is not compatible with wait action", parser.check_optionals )
def test_arg_coherency_gen_event(self): """ Raises CloubedArgumentException because event nonsense with boot action """ sys.argv = ["cloubed", "gen", "--domain", "toto", "--event", "toto"] parser = CloubedArgumentParser(u"test_description") parser.add_args() parser.parse_args() self.assertRaisesRegexp( CloubedArgumentException, "--event is not compatible with gen action", parser.check_optionals )
def test_check_required_action_no_arg(self): """ Does not raise CloubedArgumentException because no required args for these actions """ actions = ["status", "cleanup"] for action in actions: sys.argv = ["cloubed", action] parser = CloubedArgumentParser(u"test_description") parser.add_args() parser.parse_args() parser.check_required()
def test_parse_resource_not_valid(self): """ Checks CloubedArgumentParser.parse_resource() shoudl raise CloubedArgumentException if the format of the resource name is not valid """ sys.argv = ["cloubed", "xml", "--resource", "fail"] parser = CloubedArgumentParser(u"test_description") parser.add_args() parser.parse_args() self.assertRaisesRegexp( CloubedArgumentException, "format of --resource parameter is not valid", parser.parse_resource )
def test_parse_event_not_valid(self): """ Checks CloubedArgumentParser.parse_event() should raise CloubedArgumentException if the format of the event name is not valid """ sys.argv = ["cloubed", "wait", "--domain", "toto", "--event", "fail"] parser = CloubedArgumentParser(u"test_description") parser.add_args() parser.parse_args() self.assertRaisesRegexp( CloubedArgumentException, "format of --event parameter is not valid", parser.parse_event )
def test_parse_networks_yes_no(self): """ Checks CloubedArgumentParser.parse_networks() returns True if parameter value is yes and False if no """ expected_values = {"yes": True, "no": False} for param, value in expected_values.items(): sys.argv = ["cloubed", "boot", "--domain", "toto", "--recreate-networks", param] parser = CloubedArgumentParser(u"test_description") parser.add_args() parser.parse_args() self.assertEqual(parser.parse_networks(), value)
def test_check_required_action_no_domain(self): """ Raises CloubedArgumentException because action requires domain """ actions = ["boot", "gen", "wait", "vars"] for action in actions: sys.argv = ["cloubed", action] parser = CloubedArgumentParser(u"test_description") parser.add_args() parser.parse_args() self.assertRaisesRegexp( CloubedArgumentException, "--domain is required for {action} action".format(action=action), parser.check_required, )
def test_parse_disks_yes_no_and_other(self): """ Checks CloubedArgumentParser.parse_disks() raises CloubedArgumentException if value yes and no among other disks names """ values = ["yes", "no"] for value in values: sys.argv = ["cloubed", "boot", "--domain", "toto", "--overwrite-disks", value, "other"] parser = CloubedArgumentParser(u"test_description") parser.add_args() parser.parse_args() self.assertRaisesRegexp( CloubedArgumentException, "--overwrite-disks parameter cannot " "contain '{value}' among other values".format(value=value), parser.parse_disks, )