예제 #1
0
def test_config_defaults():
    #config_file = ('defaults.yml')
    logger = ActivityLogger('log/defaults.log')
    konf = Konfabulator('config/defaults.yml', logger)
    jenk_conf = konf.topLevel('Jenkins')
    ac_conf = konf.topLevel('AgileCentral')
    srv_config = konf.topLevel('Service')
    assert not ac_conf.get('Server', None)
    assert not jenk_conf.get('Server', None)

    # runner = BuildConnectorRunner([config_file])
    # runner.run()

    agicen = bsh.AgileCentralConnection(konf.topLevel('AgileCentral'), logger)
    agicen.other_name = 'Jenkins'
    agicen.project_name = jenk_conf['AgileCentral_DefaultBuildProject']
    agicen.connect()
    assert agicen.server == 'rally1.rallydev.com'
    assert not agicen.proxy

    jc = bsh.JenkinsConnection(jenk_conf, logger)
    jc.connect()
    assert jc.server == 'coyotepair.ca.com'
    assert jc.port   == 8080
    assert jc.protocol == 'http'
예제 #2
0
def test_config_defaults():
    #config_file = ('defaults.yml')
    logger = ActivityLogger('log/defaults.log')
    konf = Konfabulator('config/defaults.yml', logger)
    jenk_conf = konf.topLevel('Jenkins')
    ac_conf = konf.topLevel('AgileCentral')
    srv_config = konf.topLevel('Service')
    assert not ac_conf.get('Server', None)
    assert not jenk_conf.get('Server', None)

    # runner = BuildConnectorRunner([config_file])
    # runner.run()

    agicen = bsh.AgileCentralConnection(konf.topLevel('AgileCentral'), logger)
    agicen.other_name = 'Jenkins'
    agicen.project_name = jenk_conf['AgileCentral_DefaultBuildProject']
    agicen.connect()
    assert agicen.server == 'rally1.rallydev.com'
    assert not agicen.proxy

    jc = bsh.JenkinsConnection(jenk_conf, logger)
    jc.connect()
    assert jc.server == 'coyotepair.ca.com'
    assert jc.port == 8080
    assert jc.protocol == 'http'
예제 #3
0
def connect_to_ac(config_file):
    logger = ActivityLogger('kublakhan.log')
    konf = Konfabulator('config/buildorama.yml', logger)
    jenk_conf = konf.topLevel('Jenkins')
    ac_conf = konf.topLevel('AgileCentral')
    ac_conf['Project'] = jenk_conf['AgileCentral_DefaultBuildProject']  # leak proj from jenkins section to ac section
    agicen = AgileCentralConnection(ac_conf, logger)
    agicen.other_name = 'Jenkins'
    agicen.connect()
    return agicen
예제 #4
0
def connect_to_ac(config_file):
    logger = ActivityLogger('kublakhan.log')
    konf = Konfabulator('config/buildorama.yml', logger)
    jenk_conf = konf.topLevel('Jenkins')
    ac_conf = konf.topLevel('AgileCentral')
    ac_conf['Project'] = jenk_conf[
        'AgileCentral_DefaultBuildProject']  # leak proj from jenkins section to ac section
    agicen = AgileCentralConnection(ac_conf, logger)
    agicen.other_name = 'Jenkins'
    agicen.connect()
    return agicen
예제 #5
0
    def getConfiguration(self, config_file):
        try:
            config = Konfabulator(config_file, self.log)
        except NonFatalConfigurationError as msg:
            pass  # info for this will have already been logged or blurted
        except Exception as msg:
            raise ConfigurationError(msg)
        svc_conf = config.topLevel('Service')
        self.preview = False
        if svc_conf and svc_conf.get('Preview', None) == True:
            self.preview = True
        self.log_level = 'Info'
        if svc_conf:
            ll = svc_conf.get('LogLevel', 'Info').title()
            if ll in ['Fatal', 'Error', 'Warn', 'Info', 'Debug']:
                self.log_level = ll
                self.log.setLevel(self.log_level)
            else:
                pass  # bad LogLevel specified
            #if 'PostBatchExtension' in svc_conf:
            #    pba_class_name = svc_conf['PostBatchExtension']
            #    pba_class = ExtensionLoader().getExtension(pba_class_name)
            #    self.extension['PostBatch'] = pba_class()

        return config
예제 #6
0
def test_without_project():
    config_file = ('missing-project.yml')
    ymlfile = open("config/{}".format(config_file), 'r')
    y = yaml.load(ymlfile)
    logger = ActivityLogger('log/missing-project.log')
    logger.setLevel('DEBUG')
    logAllExceptions(True, logger)
    konf = Konfabulator('config/missing-project.yml', logger)
    jenk_conf = konf.topLevel('Jenkins')
    ac_conf = konf.topLevel('AgileCentral')
    #expectedErrPattern = 'The Jenkins section of the config is missing AgileCentral_DefaultBuildProject property'
    expectedErrPattern = 'The Jenkins section of the config is missing a value for AgileCentral_DefaultBuildProject property'
    with pytest.raises(Exception) as excinfo:
        bc = bsh.BLDConnector(konf, logger)
    actualErrVerbiage = excinfo.value.args[0]
    assert re.search(expectedErrPattern, actualErrVerbiage) is not None
    assert excinfo.typename == 'ConfigurationError'
예제 #7
0
def test_without_project():
    config_file = ('missing-project.yml')
    ymlfile = open("config/{}".format(config_file), 'r')
    y = yaml.load(ymlfile)
    logger = ActivityLogger('log/missing-project.log')
    logger.setLevel('DEBUG')
    logAllExceptions(True, logger)
    konf = Konfabulator('config/missing-project.yml', logger)
    jenk_conf = konf.topLevel('Jenkins')
    ac_conf = konf.topLevel('AgileCentral')
    #expectedErrPattern = 'The Jenkins section of the config is missing AgileCentral_DefaultBuildProject property'
    expectedErrPattern = 'The Jenkins section of the config is missing a value for AgileCentral_DefaultBuildProject property'
    with pytest.raises(Exception) as excinfo:
        bc = bsh.BLDConnector(konf, logger)
    actualErrVerbiage = excinfo.value.args[0]
    assert re.search(expectedErrPattern, actualErrVerbiage) is not None
    assert excinfo.typename == 'ConfigurationError'