def test_get_connection_info_env(self, params): os.environ['BG_HOST'] = 'bg_host' os.environ['BG_PORT'] = '1234' os.environ['BG_SSL_ENABLED'] = 'False' os.environ['BG_CA_CERT'] = 'ca_cert' os.environ['BG_CLIENT_CERT'] = 'client_cert' os.environ['BG_URL_PREFIX'] = '/beer/' os.environ['BG_CA_VERIFY'] = 'True' assert params == brewtils.get_connection_info()
def test_get_connection_info_env(self, params): os.environ["BG_HOST"] = "bg_host" os.environ["BG_PORT"] = "1234" os.environ["BG_SSL_ENABLED"] = "False" os.environ["BG_CA_CERT"] = "ca_cert" os.environ["BG_CLIENT_CERT"] = "client_cert" os.environ["BG_URL_PREFIX"] = "/beer/" os.environ["BG_CA_VERIFY"] = "True" assert params == brewtils.get_connection_info()
def test_get_connection_info_deprecated_kwarg_host(self, params): deprecated_params = copy.copy(params) deprecated_params["host"] = deprecated_params.pop("bg_host") with warnings.catch_warnings(record=True) as w: warnings.simplefilter("always") assert params == brewtils.get_connection_info(**deprecated_params) assert issubclass(w[0].category, DeprecationWarning) assert "host" in str(w[0].message)
def test_get_connection_info_deprecated_env(self, params): deprecated_params = copy.copy(params) deprecated_params["bg_host"] = None deprecated_params["bg_port"] = None deprecated_params["ca_cert"] = None deprecated_params["client_cert"] = None os.environ["BG_SSL_CA_CERT"] = "ca_cert" os.environ["BG_SSL_CLIENT_CERT"] = "client_cert" os.environ["BG_WEB_HOST"] = "bg_host" os.environ["BG_WEB_PORT"] = "1234" assert params == brewtils.get_connection_info(**deprecated_params)
def test_get_connection_info_deprecated_env(self, params): deprecated_params = copy.copy(params) deprecated_params['bg_host'] = None deprecated_params['bg_port'] = None deprecated_params['ca_cert'] = None deprecated_params['client_cert'] = None os.environ['BG_SSL_CA_CERT'] = 'ca_cert' os.environ['BG_SSL_CLIENT_CERT'] = 'client_cert' os.environ['BG_WEB_HOST'] = 'bg_host' os.environ['BG_WEB_PORT'] = '1234' assert params == brewtils.get_connection_info(**deprecated_params)
def main(): connection_params = get_connection_info(sys.argv[1:]) username = os.getenv("github_username") password = os.getenv("github_password") token = os.getenv("github_token") Plugin(GithubSummary(connection_params, username=username, password=password, token=token), name="github-summary", version=__version__, **connection_params).run()
def test_cli(self, client, bg_system): args = [ "--bg-host", "remotehost", "--bg-port", "2338", "--url-prefix", "beer", "--no-ssl-enabled", "--no-ca-verify", ] plugin = Plugin(client, system=bg_system, **get_connection_info(cli_args=args)) assert plugin.bg_host == "remotehost" assert plugin.bg_port == 2338 assert plugin.bg_url_prefix == "/beer/" assert plugin.ssl_enabled is False assert plugin.ca_verify is False
def test_get_connection_info_kwargs(self, params): assert params == brewtils.get_connection_info(**params)
def test_normalize_url_prefix(self, params): os.environ["BG_WEB_HOST"] = "bg_host" os.environ["BG_URL_PREFIX"] = "/beer" generated_params = brewtils.get_connection_info() assert generated_params["url_prefix"] == params["url_prefix"]
def test_get_connection_info_no_host(self): with pytest.raises(ValidationError): brewtils.get_connection_info()
def __init__(self, client, bg_host=None, bg_port=None, ssl_enabled=None, ca_cert=None, client_cert=None, system=None, name=None, description=None, version=None, icon_name=None, instance_name=None, logger=None, parser=None, multithreaded=None, metadata=None, max_concurrent=None, bg_url_prefix=None, **kwargs): # If a logger is specified or the logging module already has additional # handlers then we assume that logging has already been configured if logger or len(logging.getLogger(__name__).root.handlers) > 0: self.logger = logger or logging.getLogger(__name__) self._custom_logger = True else: logging.config.dictConfig(DEFAULT_LOGGING_CONFIG) self.logger = logging.getLogger(__name__) self._custom_logger = False connection_parameters = brewtils.get_connection_info( bg_host=bg_host, bg_port=bg_port, ssl_enabled=ssl_enabled, ca_cert=ca_cert, client_cert=client_cert, url_prefix=bg_url_prefix or kwargs.get("url_prefix", None), ca_verify=kwargs.get("ca_verify", None), username=kwargs.get("username", None), password=kwargs.get("password", None), client_timeout=kwargs.get("client_timeout", None), ) self.bg_host = connection_parameters["bg_host"] self.bg_port = connection_parameters["bg_port"] self.ssl_enabled = connection_parameters["ssl_enabled"] self.ca_cert = connection_parameters["ca_cert"] self.client_cert = connection_parameters["client_cert"] self.bg_url_prefix = connection_parameters["url_prefix"] self.ca_verify = connection_parameters["ca_verify"] self.max_attempts = kwargs.get("max_attempts", -1) self.max_timeout = kwargs.get("max_timeout", 30) self.starting_timeout = kwargs.get("starting_timeout", 5) self._mq_max_attempts = kwargs.get("mq_max_attempts", -1) self._mq_max_timeout = kwargs.get("mq_max_timeout", 30) self._mq_starting_timeout = kwargs.get("mq_starting_timeout", 5) self._mq_retry_attempt = 0 self._mq_timeout = self._mq_starting_timeout self.max_concurrent = self._setup_max_concurrent( multithreaded, max_concurrent) self.instance_name = instance_name or os.environ.get( "BG_INSTANCE_NAME", "default") self.metadata = metadata or {} self.instance = None self.queue_connection_params = None self.admin_consumer = None self.request_consumer = None self.connection_poll_thread = None self.client = client self.shutdown_event = threading.Event() self.parser = parser or SchemaParser() self.system = self._setup_system( client, self.instance_name, system, name, description, version, icon_name, self.metadata, kwargs.get("display_name", None), kwargs.get("max_instances", None), ) self.unique_name = "%s[%s]-%s" % ( self.system.name, self.instance_name, self.system.version, ) # Tightly manage when we're in an 'error' state, aka Brew-view is down self.brew_view_error_condition = threading.Condition() self.brew_view_down = False self.pool = ThreadPoolExecutor(max_workers=self.max_concurrent) self.admin_pool = ThreadPoolExecutor(max_workers=1) self.bm_client = EasyClient(logger=self.logger, parser=self.parser, **connection_parameters)
def test_get_connection_info_deprecated_kwargs(self, params): deprecated_params = copy.copy(params) deprecated_params['host'] = deprecated_params.pop('bg_host') deprecated_params['port'] = deprecated_params.pop('bg_port') assert params == brewtils.get_connection_info(**deprecated_params)
def test_normalize_url_prefix(self, params): os.environ['BG_WEB_HOST'] = 'bg_host' os.environ['BG_URL_PREFIX'] = '/beer' generated_params = brewtils.get_connection_info() assert generated_params['url_prefix'] == params['url_prefix']
def test_get_connection_info_deprecated_kwargs(self, params): deprecated_params = copy.copy(params) deprecated_params["host"] = deprecated_params.pop("bg_host") deprecated_params["port"] = deprecated_params.pop("bg_port") assert params == brewtils.get_connection_info(**deprecated_params)