Esempio n. 1
0
    def test_validate(self):
        validator = validators.RequiredAPIVersionsValidator(
            "keystone", [2.0, 3])

        clients = self.context["users"][0]["credential"].clients()

        clients.keystone.return_value = self._get_keystone_v3_mock_client()
        validator.validate(self.context, self.config, None, None)

        clients.keystone.return_value = self._get_keystone_v2_mock_client()
        validator.validate(self.context, self.config, None, None)
Esempio n. 2
0
    def test_validate_context(self, version, err_msg):
        validator = validators.RequiredAPIVersionsValidator("nova", [version])

        config = {"context": {"api_versions": {"nova": {"version": 2}}}}

        result = validator.validate(config, self.credentials, None, None)

        if err_msg:
            self.assertIsNotNone(result)
            self.assertEqual(err_msg, result.msg)
        else:
            self.assertIsNone(result)
Esempio n. 3
0
    def test_validate_with_keystone_v3(self):
        validator = validators.RequiredAPIVersionsValidator("keystone", [3])

        clients = self.context["users"][0]["credential"].clients()
        clients.keystone.return_value = self._get_keystone_v3_mock_client()
        validator.validate(self.context, self.config, None, None)

        clients.keystone.return_value = self._get_keystone_v2_mock_client()
        e = self.assertRaises(validators.validation.ValidationError,
                              validator.validate, self.context, self.config,
                              None, None)
        self.assertEqual(
            "Task was designed to be used with keystone V3, "
            "but V2.0 is selected.", e.message)
Esempio n. 4
0
    def test_validate_context(self, version, err_msg):
        validator = validators.RequiredAPIVersionsValidator("nova",
                                                            [version])

        config = {
            "contexts": {"api_versions@openstack": {"nova": {"version": 2}}}}

        if err_msg:
            e = self.assertRaises(
                validators.validation.ValidationError,
                validator.validate, self.context, config, None, None)
            self.assertEqual(err_msg, e.message)
        else:
            result = validator.validate(self.context, config, None, None)
            self.assertIsNone(result)
Esempio n. 5
0
    def test_validate_nova(self, nova, versions, err_msg):
        validator = validators.RequiredAPIVersionsValidator("nova", versions)

        clients = self.context["users"][0]["credential"].clients()

        clients.nova.choose_version.return_value = nova
        config = {"contexts": {"api_versions@openstack": {}}}

        if err_msg:
            e = self.assertRaises(validators.validation.ValidationError,
                                  validator.validate, self.context, config,
                                  None, None)
            self.assertEqual(err_msg, e.message)
        else:
            result = validator.validate(self.context, config, None, None)
            self.assertIsNone(result)
Esempio n. 6
0
    def test_validate_nova(self, nova, versions, err_msg):
        validator = validators.RequiredAPIVersionsValidator("nova", versions)

        clients = self.credentials["openstack"]["users"][0][
            "credential"].clients()

        clients.nova.choose_version.return_value = nova
        config = {"context": {"api_versions": {}}}

        result = validator.validate(config, self.credentials, None, None)

        if err_msg:
            self.assertIsNotNone(result)
            self.assertEqual(err_msg, result.msg)
        else:
            self.assertIsNone(result)
Esempio n. 7
0
    def test_validate_keystone(self, versions, err_msg):
        validator = validators.RequiredAPIVersionsValidator(
            "keystone", versions)

        clients = self.credentials["openstack"]["users"][0][
            "credential"].clients()

        clients.keystone.return_value = self._get_keystone_v3_mock_client()
        result = validator.validate(self.config, self.credentials, None, None)

        if result:
            self.assertEqual(err_msg, result.msg)

        clients.keystone.return_value = self._get_keystone_v2_mock_client()
        result = validator.validate(self.config, self.credentials, None, None)

        if result:
            self.assertEqual(err_msg, result.msg)