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'
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
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
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
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'