def test_set_rhsm_config_tast_restore_default_value(self): """Test the SetRHSMConfigurationTask task - restore default values.""" mock_config_proxy = Mock() # RHSM config default values default_config = { SetRHSMConfigurationTask.CONFIG_KEY_SERVER_HOSTNAME: "server.example.com", SetRHSMConfigurationTask.CONFIG_KEY_SERVER_PROXY_HOSTNAME: "proxy.example.com", SetRHSMConfigurationTask.CONFIG_KEY_SERVER_PROXY_PORT: "1000", SetRHSMConfigurationTask.CONFIG_KEY_SERVER_PROXY_USER: "******", SetRHSMConfigurationTask.CONFIG_KEY_SERVER_PROXY_PASSWORD: "******", SetRHSMConfigurationTask.CONFIG_KEY_RHSM_BASEURL: "cdn.example.com", "key_anaconda_does_not_use_1": "foo1", "key_anaconda_does_not_use_2": "foo2" } # a representative subscription request, with server hostname and rhsm baseurl # set to blank request = SubscriptionRequest() request.type = SUBSCRIPTION_REQUEST_TYPE_ORG_KEY request.organization = "123456789" request.account_username = "******" request.server_hostname = "" request.rhsm_baseurl = "" request.server_proxy_hostname = "proxy.foo.com" request.server_proxy_port = 9001 request.server_proxy_user = "******" request.account_password.set_secret("foo_password") request.activation_keys.set_secret(["key1", "key2", "key3"]) request.server_proxy_password.set_secret("foo_proxy_password") # create a task task = SetRHSMConfigurationTask(rhsm_config_proxy=mock_config_proxy, rhsm_config_defaults=default_config, subscription_request=request) task.run() # check that the server.hostname and rhsm.baseurl keys are set # to the default value expected_dict = { "server.hostname": get_variant(Str, "server.example.com"), "server.proxy_hostname": get_variant(Str, "proxy.foo.com"), "server.proxy_port": get_variant(Str, "9001"), "server.proxy_user": get_variant(Str, "foo_proxy_user"), "server.proxy_password": get_variant(Str, "foo_proxy_password"), "rhsm.baseurl": get_variant(Str, "cdn.example.com") } mock_config_proxy.SetAll.assert_called_once_with(expected_dict, "")
def set_rhsm_config_with_task(self): """Set RHSM config values based on current subscription request. :return: a DBus path of an installation task """ # NOTE: we access self._subscription_request directly # to avoid the sensitive data clearing happening # in the subscription_request property getter rhsm_config_proxy = self.rhsm_observer.get_proxy(RHSM_CONFIG) task = SetRHSMConfigurationTask(rhsm_config_proxy=rhsm_config_proxy, rhsm_config_defaults=self.get_rhsm_config_defaults(), subscription_request=self._subscription_request) return task