def test_old_config(self): """ Make sure that we can correctly parse an old-style GIP config. """ config_parser = ConfigParser.SafeConfigParser() config_file = get_test_config("gip/red-old-gip-config.ini") config_parser.read(config_file) gip_config = gip.GipConfiguration(logger=global_logger) gip_config._parse_configuration(config_parser)
def test_user_check_valid_user(self): config_parser = ConfigParser.SafeConfigParser() config_file = get_test_config("gip/valid_user.ini") config_parser.read(config_file) config_parser.set('Install Locations', 'user_vo_map', get_test_config(SAMPLE_VO_MAP_LOCATION)) gip_config = gip.GipConfiguration(logger=global_logger) self.assertTrue( gip_config._parse_configuration(config_parser) is None, "Flagged valid user as being missing")
def test_no_name(self): """ Make sure a missing name causes an error """ config_parser = ConfigParser.SafeConfigParser() config_file = get_test_config("gip/sc_samples.ini") config_parser.read(config_file) gip_config = gip.GipConfiguration(logger=global_logger) self.assertRaises(exceptions.SettingError, gip_config.check_sc, config_parser, "Subcluster No Name")
def test_doherty(self): """ Make sure that we can correctly parse a correct new-style GIP config. """ config_parser = ConfigParser.SafeConfigParser() config_file = get_test_config("gip/doherty.ini") config_parser.read(config_file) gip_config = gip.GipConfiguration(logger=global_logger) gip_config._parse_configuration(config_parser) gip_config._parse_configuration_ce(config_parser)
def test_allowed_vos(self): """ Make sure the allowed VOs is filtered properly. """ config_parser = ConfigParser.SafeConfigParser() config_file = get_test_config("gip/allowed_vos.ini") config_parser.read(config_file) config_parser.set('Install Locations', 'user_vo_map', get_test_config(SAMPLE_VO_MAP_LOCATION)) gip_config = gip.GipConfiguration(logger=global_logger) gip_config._parse_configuration(config_parser) gip_config._parse_configuration_ce(config_parser)
def test_user_check_invalid_user(self): """ Check to make sure gip class will distinguish between valid and invalid users """ config_parser = ConfigParser.SafeConfigParser() config_file = get_test_config("gip/invalid_user.ini") config_parser.read(config_file) config_parser.set('Install Locations', 'user_vo_map', get_test_config(SAMPLE_VO_MAP_LOCATION)) gip_config = gip.GipConfiguration(logger=global_logger) self.assertRaises(exceptions.SettingError, gip_config._parse_configuration, config_parser)
def test_mount_point_valid(self): """ Make sure we pass validation for a valid mount_point specification """ did_fail = False try: config_parser = ConfigParser.SafeConfigParser() config_file = get_test_config("gip/mount_point.ini") config_parser.read(config_file) gip_config = gip.GipConfiguration(logger=global_logger) gip_config.check_se(config_parser, "SE Valid") except exceptions.SettingError: did_fail = True self.assertFalse(did_fail, msg="Improperly rejected a valid SE.")
def test_changeme2(self): """ Test should fail because SE CHANGEME section is enabled. """ did_fail = False try: config_parser = ConfigParser.SafeConfigParser() config_file = get_test_config("gip/changeme_section_bad.ini") config_parser.read(config_file) gip_config = gip.GipConfiguration(logger=global_logger) gip_config._parse_configuration(config_parser) except exceptions.SettingError: did_fail = True self.assertTrue(did_fail, msg="Did not detect SE CHANGEME section.")
def test_changeme1(self): """ Test should pass if SE CHANGEME section is disabled. """ did_fail = False try: config_parser = ConfigParser.SafeConfigParser() config_file = get_test_config("gip/changeme_section.ini") config_parser.read(config_file) gip_config = gip.GipConfiguration(logger=global_logger) gip_config._parse_configuration(config_parser) except exceptions.SettingError: did_fail = True self.assertFalse(did_fail, msg="Falsely detected an enabled CHANGEME section.")
def test_missing_se2(self): """ Make sure that we have no when there is no configured SE and there is a classic SE. """ did_fail = False try: config_parser = ConfigParser.SafeConfigParser() config_file = get_test_config("gip/red-missing-se2.ini") config_parser.read(config_file) gip_config = gip.GipConfiguration(logger=global_logger) gip_config._parse_configuration(config_parser) except exceptions.SettingError: did_fail = True self.assertFalse(did_fail, msg="Did not properly detect a missing SE.")
def test_hepspec_valid(self): """ Make sure a valid HEPSPEC value is accepted. """ did_fail = False config_parser = ConfigParser.SafeConfigParser() config_file = get_test_config("gip/sc_samples.ini") config_parser.read(config_file) gip_config = gip.GipConfiguration(logger=global_logger) try: gip_config.check_sc(config_parser, "Subcluster Valid") except exceptions.SettingError: did_fail = True self.assertFalse(did_fail, msg="Valid HEPSPEC entry threw an exception.")
def test_missing_attributes(self): """ Make sure that we have failures when there are missing attributes. """ did_fail = False try: config_parser = ConfigParser.SafeConfigParser() config_file = get_test_config("gip/red-missing-attributes.ini") config_parser.read(config_file) gip_config = gip.GipConfiguration(logger=global_logger) gip_config._parse_configuration(config_parser) gip_config._parse_configuration_ce(config_parser) except exceptions.SettingError: did_fail = True self.assertTrue(did_fail, msg="Did not properly detect missing attrs.")
def test_mount_point_invalid_path2(self): """ Make sure that if the first path is invalid, then an exception is thrown. """ did_fail = False try: config_parser = ConfigParser.SafeConfigParser() config_file = get_test_config("gip/mount_point.ini") config_parser.read(config_file) gip_config = gip.GipConfiguration(logger=global_logger) gip_config.check_se(config_parser, "SE Invalid Path 2") except exceptions.SettingError: did_fail = True self.assertTrue(did_fail, msg="Did not throw an exception for invalid " \ "second mount_point path.")
def test_mount_point_wrong_len(self): """ Make sure that if the incorrect number of paths were specified for mount_point, then an exception is thrown """ did_fail = False try: config_parser = ConfigParser.SafeConfigParser() config_file = get_test_config("gip/mount_point.ini") config_parser.read(config_file) gip_config = gip.GipConfiguration(logger=global_logger) gip_config.check_se(config_parser, "SE Wrong len") except exceptions.SettingError: did_fail = True self.assertTrue(did_fail, msg="Did not throw an exception for incorrect # " \ "of paths in mount_point")
def test_hepspec_invalid(self): """ Make sure a invalid HEPSPEC value causes an error.. """ config_parser = ConfigParser.SafeConfigParser() config_file = get_test_config("gip/sc_samples.ini") config_parser.read(config_file) gip_config = gip.GipConfiguration(logger=global_logger) try: gip_config.check_sc(config_parser, "Subcluster Bad HEPSPEC") except exceptions.SettingError: pass else: self.fail(msg="Invalid HEPSPEC entry did not throw an exception.") try: gip_config.check_sc(config_parser, "Subcluster Formerly Bad Cores") except exceptions.SettingError: self.fail(msg="Formerly Bad Cores entry threw an exception")
def test_allowed_jobmanagers(self): """ Make sure the allowed VOs is filtered properly. """ config_parser = ConfigParser.SafeConfigParser() config_file = get_test_config("gip/allowed_jobmanager1.ini") config_parser.read(config_file) config_parser.set('Install Locations', 'user_vo_map', get_test_config(SAMPLE_VO_MAP_LOCATION)) gip_config = gip.GipConfiguration(logger=global_logger) gip_config._parse_configuration(config_parser) gip_config._parse_configuration_ce(config_parser) config_parser = ConfigParser.SafeConfigParser() config_file = get_test_config("gip/allowed_jobmanager2.ini") config_parser.read(config_file) config_parser.set('Install Locations', 'user_vo_map', get_test_config(SAMPLE_VO_MAP_LOCATION)) gip_config = gip.GipConfiguration(logger=global_logger) gip_config._parse_configuration(config_parser) gip_config._parse_configuration_ce(config_parser) config_parser = ConfigParser.SafeConfigParser() config_file = get_test_config("gip/allowed_jobmanager3.ini") config_parser.read(config_file) config_parser.set('Install Locations', 'user_vo_map', get_test_config(SAMPLE_VO_MAP_LOCATION)) gip_config = gip.GipConfiguration(logger=global_logger) gip_config._parse_configuration(config_parser) gip_config._parse_configuration_ce(config_parser) config_parser = ConfigParser.SafeConfigParser() config_file = get_test_config("gip/allowed_jobmanager4.ini") config_parser.read(config_file) config_parser.set('Install Locations', 'user_vo_map', get_test_config(SAMPLE_VO_MAP_LOCATION)) gip_config = gip.GipConfiguration(logger=global_logger) gip_config._parse_configuration(config_parser) gip_config._parse_configuration_ce(config_parser) config_parser = ConfigParser.SafeConfigParser() config_file = get_test_config("gip/allowed_jobmanager5.ini") config_parser.read(config_file) config_parser.set('Install Locations', 'user_vo_map', get_test_config(SAMPLE_VO_MAP_LOCATION)) gip_config = gip.GipConfiguration(logger=global_logger) gip_config._parse_configuration(config_parser) gip_config._parse_configuration_ce(config_parser) config_parser = ConfigParser.SafeConfigParser() config_file = get_test_config("gip/allowed_jobmanager6.ini") config_parser.read(config_file) config_parser.set('Install Locations', 'user_vo_map', get_test_config(SAMPLE_VO_MAP_LOCATION)) gip_config = gip.GipConfiguration(logger=global_logger) gip_config._parse_configuration(config_parser) gip_config._parse_configuration_ce(config_parser) config_parser = ConfigParser.SafeConfigParser() config_file = get_test_config("gip/invalid_jobmanager1.ini") config_parser.read(config_file) config_parser.set('Install Locations', 'user_vo_map', get_test_config(SAMPLE_VO_MAP_LOCATION)) gip_config = gip.GipConfiguration(logger=global_logger) self.failUnlessRaises(exceptions.SettingError, gip_config._parse_configuration, configuration=config_parser)