예제 #1
0
    def testParsingMissingITBDefault(self):
        """
        Make sure gratia picks up the itb defaults when the gratia
        section is missing
        """

        # need to be on a CE to get CE defaults
        if not gratia.requirements_are_installed():
            return
        config_file = get_test_config("gratia/itb_default2.ini")
        configuration = configparser.SafeConfigParser()
        configuration.read(config_file)

        settings = gratia.GratiaConfiguration(logger=global_logger)
        try:
            settings.parse_configuration(configuration)
        except Exception as e:
            self.fail("Received exception while parsing configuration: %s" % e)

        options = settings.options
        variables = {
            'probes': 'jobmanager:gratia-osg-itb.opensciencegrid.org:80'
        }
        for var in variables:
            self.assertTrue(var in options, "Attribute %s missing" % var)
            self.assertEqual(options[var].value,
                             variables[var],
                             "Wrong value obtained for %s, got %s but " \
                             "expected %s" % (var, options[var].value, variables[var]))

        config_file = get_test_config("gratia/itb_default3.ini")
        configuration = configparser.SafeConfigParser()
        configuration.read(config_file)

        settings = gratia.GratiaConfiguration(logger=global_logger)
        try:
            settings.parse_configuration(configuration)
        except Exception as e:
            self.fail("Received exception while parsing configuration: %s" % e)

        options = settings.options
        variables = {
            'probes': 'jobmanager:gratia-osg-itb.opensciencegrid.org:80'
        }
        for var in variables:
            self.assertTrue(var in options, "Attribute %s missing" % var)
            self.assertEqual(options[var].value,
                             variables[var],
                             "Wrong value obtained for %s, got %s but " \
                             "expected %s" % (var, options[var].value, variables[var]))
예제 #2
0
    def testValidProductionDefaults(self):
        """
        Test the production defaults and make sure that they are valid
        """
        config_file = get_test_config("gratia/prod_default.ini")
        configuration = ConfigParser.SafeConfigParser()
        configuration.read(config_file)

        settings = gratia.GratiaConfiguration(logger=global_logger)
        try:
            settings.parse_configuration(configuration)
        except Exception, e:
            self.fail("Received exception while parsing configuration: %s" % e)
예제 #3
0
    def testServiceList(self):
        """
        Test to make sure right services get returned
        """

        config_file = get_test_config("gratia/check_ok.ini")
        configuration = ConfigParser.SafeConfigParser()
        configuration.read(config_file)

        settings = gratia.GratiaConfiguration(logger=global_logger)
        try:
            settings.parse_configuration(configuration)
        except Exception, e:
            self.fail("Received exception while parsing configuration: %s" % e)
예제 #4
0
    def testParsing1(self):
        """
        Test gratia parsing
        """

        config_file = get_test_config("gratia/gratia.ini")
        configuration = ConfigParser.SafeConfigParser()
        configuration.read(config_file)

        settings = gratia.GratiaConfiguration(logger=global_logger)
        try:
            settings.parse_configuration(configuration)
        except Exception, e:
            self.fail("Received exception while parsing configuration: %s" % e)
예제 #5
0
    def testMissingITBDefaults(self):
        """
        Test the ITB defaults and make sure that they are valid when the
        gratia section is missing
        """
        config_file = get_test_config("gratia/itb_default2.ini")
        configuration = ConfigParser.SafeConfigParser()
        configuration.read(config_file)

        settings = gratia.GratiaConfiguration(logger=global_logger)
        try:
            settings.parse_configuration(configuration)
        except Exception, e:
            self.fail("Received exception while parsing configuration: %s" % e)
예제 #6
0
    def testValidSettings2(self):
        """
        Test the check_attributes function to see if it oks a disabled section
        """

        config_file = get_test_config("gratia/disabled.ini")
        configuration = ConfigParser.SafeConfigParser()
        configuration.read(config_file)

        settings = gratia.GratiaConfiguration(logger=global_logger)
        try:
            settings.parse_configuration(configuration)
        except Exception, e:
            self.fail("Received exception while parsing configuration: %s" % e)
예제 #7
0
    def testInvalidProbes2(self):
        """
        Test the check_attributes function to see if it catches invalid
        probes
        """

        config_file = get_test_config("gratia/invalid_probe2.ini")
        configuration = ConfigParser.SafeConfigParser()
        configuration.read(config_file)

        settings = gratia.GratiaConfiguration(logger=global_logger)
        try:
            settings.parse_configuration(configuration)
        except Exception, e:
            self.fail("Received exception while parsing configuration: %s" % e)
예제 #8
0
    def testServiceList(self):
        """
        Test to make sure right services get returned
        """

        config_file = get_test_config("gratia/check_ok.ini")
        configuration = configparser.SafeConfigParser()
        configuration.read(config_file)

        settings = gratia.GratiaConfiguration(logger=global_logger)
        try:
            settings.parse_configuration(configuration)
        except Exception as e:
            self.fail("Received exception while parsing configuration: %s" % e)
        services = settings.enabled_services()
        expected_services = set(['gratia-probes-cron'])
        self.assertEqual(
            services, expected_services,
            "List of enabled services incorrect, " + "got %s but expected %s" %
            (services, expected_services))

        config_file = get_test_config("gratia/disabled.ini")
        configuration = configparser.SafeConfigParser()
        configuration.read(config_file)

        settings = gratia.GratiaConfiguration(logger=global_logger)
        try:
            settings.parse_configuration(configuration)
        except Exception as e:
            self.fail("Received exception while parsing configuration: %s" % e)
        services = settings.enabled_services()
        expected_services = set()
        self.assertEqual(
            services, expected_services,
            "List of enabled services incorrect, " + "got %s but expected %s" %
            (services, expected_services))
예제 #9
0
    def testValidITBDefaults(self):
        """
        Test the ITB defaults and make sure that they are valid
        """
        config_file = get_test_config("gratia/itb_default.ini")
        configuration = ConfigParser.SafeConfigParser()
        configuration.read(config_file)

        settings = gratia.GratiaConfiguration(logger=global_logger)
        try:
            settings.parse_configuration(configuration)
        except OSError:
            # Need to rewrite or remove this test due to new checks with condor
            pass
        except Exception, e:
            self.fail("Received exception while parsing configuration: %s" % e)
예제 #10
0
    def testValidSettings(self):
        """
        Test the check_attributes function to see if it oks good attributes
        """

        config_file = get_test_config("gratia/check_ok.ini")
        configuration = configparser.SafeConfigParser()
        configuration.read(config_file)

        settings = gratia.GratiaConfiguration(logger=global_logger)
        try:
            settings.parse_configuration(configuration)
        except Exception as e:
            self.fail("Received exception while parsing configuration: %s" % e)

        attributes = settings.get_attributes()
예제 #11
0
    def testParsingIgnored(self):
        """
        Test gratia parsing when section is ignored
        """

        config_file = get_test_config("gratia/ignored.ini")
        configuration = configparser.SafeConfigParser()
        configuration.read(config_file)

        settings = gratia.GratiaConfiguration(logger=global_logger)
        try:
            settings.parse_configuration(configuration)
        except Exception as e:
            self.fail("Received exception while parsing configuration: %s" % e)

        self.assertEqual(len(settings.options['probes'].value), 0,
                         "Disabled configuration should have no attributes")
예제 #12
0
    def testParsingProductionDefault(self):
        """
        Make sure gratia picks up the itb defaults
        """

        # need to be on a CE to get CE defaults
        if not gratia.requirements_are_installed():
            return

        config_file = get_test_config("gratia/prod_default.ini")
        configuration = ConfigParser.SafeConfigParser()
        configuration.read(config_file)

        settings = gratia.GratiaConfiguration(logger=global_logger)
        try:
            settings.parse_configuration(configuration)
        except Exception, e:
            self.fail("Received exception while parsing configuration: %s" % e)
예제 #13
0
    def testValidSettings2(self):
        """
        Test the check_attributes function to see if it oks a disabled section
        """

        config_file = get_test_config("gratia/disabled.ini")
        configuration = configparser.SafeConfigParser()
        configuration.read(config_file)

        settings = gratia.GratiaConfiguration(logger=global_logger)
        try:
            settings.parse_configuration(configuration)
        except Exception as e:
            self.fail("Received exception while parsing configuration: %s" % e)

        attributes = settings.get_attributes()
        self.assertTrue(settings.check_attributes(attributes),
                        "Disabled section incorrectly flagged as invalid")
예제 #14
0
    def testMissingProductionDefaults(self):
        """
        Test the production defaults and make sure that they are valid when the
        gratia section is missing
        """
        config_file = get_test_config("gratia/prod_default2.ini")
        configuration = configparser.SafeConfigParser()
        configuration.read(config_file)

        settings = gratia.GratiaConfiguration(logger=global_logger)
        try:
            settings.parse_configuration(configuration)
        except Exception as e:
            self.fail("Received exception while parsing configuration: %s" % e)

        attributes = settings.get_attributes()
        self.assertTrue(settings.check_attributes(attributes),
                        "Production defaults flagged as invalid")
예제 #15
0
    def testInvalidProbes2(self):
        """
        Test the check_attributes function to see if it catches invalid
        probes
        """

        config_file = get_test_config("gratia/invalid_probe2.ini")
        configuration = configparser.SafeConfigParser()
        configuration.read(config_file)

        settings = gratia.GratiaConfiguration(logger=global_logger)
        try:
            settings.parse_configuration(configuration)
        except Exception as e:
            self.fail("Received exception while parsing configuration: %s" % e)

        attributes = settings.get_attributes()
        self.assertFalse(settings.check_attributes(attributes),
                         "Did not notice invalid probe specification")
예제 #16
0
    def testParsing1(self):
        """
        Test gratia parsing
        """

        config_file = get_test_config("gratia/gratia.ini")
        configuration = configparser.SafeConfigParser()
        configuration.read(config_file)

        settings = gratia.GratiaConfiguration(logger=global_logger)
        try:
            settings.parse_configuration(configuration)
        except Exception as e:
            self.fail("Received exception while parsing configuration: %s" % e)

        options = settings.options
        variables = {'probes': 'jobmanager:gratia-osg-prod.opensciencegrid.org:80, ' \
                               'gridftp:gratia-osg-transfer.opensciencegrid.org:80'}
        for var in variables:
            self.assertTrue(var in options, "Attribute %s missing" % var)
            self.assertEqual(options[var].value,
                             variables[var],
                             "Wrong value obtained for %s, got %s but " \
                             "expected %s" % (var, options[var].value, variables[var]))
예제 #17
0
        options = settings.options
        variables = {
            'probes': 'jobmanager:gratia-osg-itb.opensciencegrid.org:80'
        }
        for var in variables:
            self.assertTrue(options.has_key(var), "Attribute %s missing" % var)
            self.assertEqual(options[var].value,
                             variables[var],
                             "Wrong value obtained for %s, got %s but " \
                             "expected %s" % (var, options[var].value, variables[var]))

        config_file = get_test_config("gratia/itb_default3.ini")
        configuration = ConfigParser.SafeConfigParser()
        configuration.read(config_file)

        settings = gratia.GratiaConfiguration(logger=global_logger)
        try:
            settings.parse_configuration(configuration)
        except Exception, e:
            self.fail("Received exception while parsing configuration: %s" % e)

        options = settings.options
        variables = {
            'probes': 'jobmanager:gratia-osg-itb.opensciencegrid.org:80'
        }
        for var in variables:
            self.assertTrue(options.has_key(var), "Attribute %s missing" % var)
            self.assertEqual(options[var].value,
                             variables[var],
                             "Wrong value obtained for %s, got %s but " \
                             "expected %s" % (var, options[var].value, variables[var]))