Beispiel #1
0
    def test_registration_with_failed_profile_upload(self):

        with patch("rhsm.connection.UEPConnection",
                   new_callable=StubUEP) as mock_uep:
            profile_mgr = inj.require(inj.PROFILE_MANAGER)

            def raise_remote_server_exception(*args, **kwargs):
                """Raise remote server exception (uploading of profile failed)"""
                from rhsm.connection import RemoteServerException

                raise RemoteServerException(
                    502,
                    request_type="PUT",
                    handler=
                    "/subscription/consumers/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/profiles",
                )

            profile_mgr.update_check = Mock(
                side_effect=raise_remote_server_exception)
            self.stub_cp_provider.basic_auth_cp = mock_uep
            cmd = RegisterCommand()
            with Capture() as cap:
                cmd.main([
                    "--force", "--username", "admin", "--password", "admin",
                    "--org", "admin"
                ])
                output = cap.out
                self.assertTrue(
                    "The system has been registered with ID" in output)
                self.assertTrue("The registered system name is:" in output)
 def test_registration(self):
     """
     Test normal registration (test of proper patching)
     """
     with patch('rhsm.connection.UEPConnection', new_callable=StubUEP) as mock_uep:
         self.stub_cp_provider.basic_auth_cp = mock_uep
         cmd = RegisterCommand()
         cmd.main(['register', '--force', '--username', 'admin', '--password', 'admin', '--org', 'admin'])
    def test_strip_username_and_password(self):
        username, password = RegisterCommand._get_username_and_password(" ", " ")
        self.assertEqual(username, "")
        self.assertEqual(password, "")

        username, password = RegisterCommand._get_username_and_password(" Jar Jar ", " Binks ")
        self.assertEqual(username, "Jar Jar")
        self.assertEqual(password, "Binks")
    def test_activation_keys_updates_certs_and_repos(self, mock_entcertlib):
        self.stub_cp_provider.basic_auth_cp = Mock('rhsm.connection.UEPConnection', new_callable=StubUEP)
        self._inject_mock_invalid_consumer()

        cmd = RegisterCommand()
        mock_entcertlib = mock_entcertlib.return_value
        self._inject_ipm()

        cmd.main(['register', '--activationkey=test_key', '--org=test_org'])
        self.mock_register.register.assert_called_once()
        mock_entcertlib.update.assert_called_once()
    def test_deprecate_consumer_type(self):
        with patch('rhsm.connection.UEPConnection', new_callable=StubUEP) as mock_uep:
            self.stub_cp_provider.basic_auth_cp = mock_uep

            cmd = RegisterCommand()
            self._inject_mock_invalid_consumer()

            with Capture(silent=True):
                with self.assertRaises(SystemExit) as e:
                    cmd.main(['register', '--type=candlepin'])
                    self.assertEqual(e.code, os.EX_USAGE)
    def test_consumerid_updates_certs_and_repos(self, mock_entcertlib):
        self.stub_cp_provider.basic_auth_cp = Mock('rhsm.connection.UEPConnection', new_callable=StubUEP)
        self._inject_mock_invalid_consumer()

        cmd = RegisterCommand()
        mock_entcertlib = mock_entcertlib.return_value
        self._inject_ipm()

        cmd.main(['register', '--consumerid=123456', '--username=testuser1', '--password=password', '--org=test_org'])
        self.mock_register.register.assert_called_once_with(None, consumerid='123456')
        mock_entcertlib.update.assert_called_once()
    def test_consumerid_with_distributor_id(self):
        self.stub_cp_provider.basic_auth_cp = Mock('rhsm.connection.UEPConnection', new_callable=StubUEP)

        self._inject_mock_invalid_consumer()
        cmd = RegisterCommand()
        self._inject_ipm()
        self.mock_register.register.side_effect = exceptions.ServiceError()

        with Capture(silent=True):
            with self.assertRaises(SystemExit) as e:
                cmd.main(['register', '--consumerid=TaylorSwift', '--username=testuser1', '--password=password', '--org=test_org'])
                self.assertEqual(e.code, os.EX_USAGE)
Beispiel #8
0
    def test_validate_multi_environment_with_activation_key(self):
        with patch("rhsm.connection.UEPConnection",
                   new_callable=StubUEP) as mock_uep:
            mock_uep.supports_resource = Mock(return_value=True)
            self.stub_cp_provider.basic_auth_cp = mock_uep

            rc = RegisterCommand()
            rc.cp = mock_uep
            rc.options = Mock()
            rc.options.activation_keys = "someAK"
            rc.options.environments = None
            ret = rc._process_environments(mock_uep, "owner")
            self.assertIsNone(ret)
    def test_get_environment_id_one_available(self):
        def env_list(*args, **kwargs):
            return [{"id": "1234", "name": "somename"}]

        with patch('rhsm.connection.UEPConnection', new_callable=StubUEP) as mock_uep:
            mock_uep.getEnvironmentList = env_list
            mock_uep.supports_resource = Mock(return_value=True)
            self.stub_cp_provider.basic_auth_cp = mock_uep

            rc = RegisterCommand()
            rc.options = Mock()
            rc.options.activation_keys = None
            env_id = rc._get_environment_id(mock_uep, 'owner', None)

            expected = "1234"
            self.assertEqual(expected, env_id)
Beispiel #10
0
    def test_set_duplicate_multi_environment(self):
        def env_list(*args, **kwargs):
            return [{
                "id": "1234",
                "name": "somename"
            }, {
                "id": "5678",
                "name": "othername"
            }]

        with patch("rhsm.connection.UEPConnection",
                   new_callable=StubUEP) as mock_uep:
            mock_uep.getEnvironmentList = env_list
            mock_uep.supports_resource = Mock(return_value=True)
            self.stub_cp_provider.basic_auth_cp = mock_uep

            rc = RegisterCommand()
            rc.cp = mock_uep
            rc.options = Mock()
            rc.options.activation_keys = None
            rc.options.environments = None
            rc._prompt_for_environment = Mock(
                return_value="somename,othername,somename")

            with Capture(silent=True):
                with self.assertRaises(SystemExit):
                    rc._process_environments(mock_uep, "owner")
Beispiel #11
0
    def test_get_environment_id_none_available(self):
        def env_list(*args, **kwargs):
            return []

        with patch("rhsm.connection.UEPConnection",
                   new_callable=StubUEP) as mock_uep:
            mock_uep.getEnvironmentList = env_list
            mock_uep.supports_resource = Mock(return_value=True)
            self.stub_cp_provider.basic_auth_cp = mock_uep

            rc = RegisterCommand()
            rc.options = Mock()
            rc.options.activation_keys = None
            rc.options.environments = None
            env_id = rc._process_environments(mock_uep, "owner")

            expected = None
            self.assertEqual(expected, env_id)
Beispiel #12
0
    def test_set_multi_environment_id_multi_available(self):
        def env_list(*args, **kwargs):
            return [{
                "id": "1234",
                "name": "somename"
            }, {
                "id": "5678",
                "name": "othername"
            }]

        with patch("rhsm.connection.UEPConnection",
                   new_callable=StubUEP) as mock_uep:
            mock_uep.getEnvironmentList = env_list
            mock_uep.supports_resource = Mock(return_value=True)
            mock_uep.has_capability = Mock(return_value=True)
            self.stub_cp_provider.basic_auth_cp = mock_uep

            rc = RegisterCommand()
            rc.cp = mock_uep
            rc.options = Mock()
            rc.options.activation_keys = None
            rc.options.environments = None
            rc._prompt_for_environment = Mock(
                return_value="somename,othername")
            env_id = rc._process_environments(mock_uep, "owner")
            expected = "1234,5678"
            self.assertEqual(expected, env_id)
Beispiel #13
0
    def test_validate_multi_capable_multi_entry(self):
        with patch("rhsm.connection.UEPConnection",
                   new_callable=StubUEP) as mock_uep:
            rc = RegisterCommand()
            rc.cp = mock_uep
            rc.is_registered = Mock(return_value=False)
            rc.options = Mock()
            rc.options.activation_keys = None
            rc.options.force = None
            rc.options.consumertype = None
            rc.options.environments = "One,Two"

            mock_uep.has_capability = Mock(return_value=False)
            try:
                rc._validate_options()
                self.fail("No Exception Raised")
            except SystemExit as e:
                self.assertEqual(e.code, os.EX_USAGE)

            mock_uep.has_capability = Mock(return_value=True)
            try:
                rc._validate_options()
            except SystemExit:
                self.fail("Exception Raised")
    def test_get_environment_id_multi_available_bad_name(self):
        def env_list(*args, **kwargs):
            return [{"id": "1234", "name": "somename"},
                    {"id": "5678", "name": "othername"}]

        with patch('rhsm.connection.UEPConnection', new_callable=StubUEP) as mock_uep:
            mock_uep.getEnvironmentList = env_list
            mock_uep.supports_resource = Mock(return_value=True)
            self.stub_cp_provider.basic_auth_cp = mock_uep

            rc = RegisterCommand()
            rc.options = Mock()
            rc.options.activation_keys = None
            rc._prompt_for_environment = Mock(return_value="not_an_env")

            with Capture(silent=True):
                with self.assertRaises(SystemExit):
                    rc._get_environment_id(mock_uep, 'owner', None)