python-tuskarclient/tuskarclient/tests/test_client.py

91 lines
3.3 KiB
Python

# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import mock
from tuskarclient import client
from tuskarclient.common import auth
from tuskarclient.openstack.common.apiclient import client as apiclient
from tuskarclient.tests import utils as tutils
class ClientGetClientTest(tutils.TestCase):
def setUp(self):
super(ClientGetClientTest, self).setUp()
self.kwargs = {
'os_username': 'os_username',
'os_password': 'os_password',
'os_tenant_name': 'os_tenant_name',
'os_auth_token': 'os_auth_token',
'os_auth_url': 'os_auth_url',
'tuskar_url': 'tuskar_url',
'os_cacert': 'os_cacert',
'os_cert': 'os_cert',
'os_key': 'os_key',
}
self.client_kwargs = {
'username': 'os_username',
'password': 'os_password',
'tenant_name': 'os_tenant_name',
'token': 'os_auth_token',
'auth_url': 'os_auth_url',
'endpoint': 'tuskar_url',
'cacert': 'os_cacert',
'cert': 'os_cert',
'key': 'os_key',
}
self.api_version = 2
@mock.patch.object(client, 'Client')
def test_it_works(self, mocked_Client):
mocked_Client.return_value = 'client'
self.assertEqual(client.get_client(self.api_version, **self.kwargs),
'client')
mocked_Client.assert_called_with(self.api_version,
**self.client_kwargs)
@mock.patch.object(client, 'Client')
def test_it_raises_error_without_proper_params(
self,
mocked_Client):
mocked_Client.return_value = None
kwargs = self.kwargs.copy()
del kwargs['os_password']
self.assertRaises(ValueError,
client.get_client, self.api_version, **self.kwargs
)
mocked_Client.assert_called_with(self.api_version,
**self.client_kwargs)
class ClientClientTest(tutils.TestCase):
def setUp(self):
super(ClientClientTest, self).setUp()
self.client_kwargs = {
'username': 'os_username',
'password': 'os_password',
'tenant_name': 'os_tenant_name',
'token': 'os_auth_token',
'auth_url': 'os_auth_url',
'endpoint': 'tuskar_url'
}
self.api_version = 2
@mock.patch.object(apiclient, 'HTTPClient')
@mock.patch.object(auth, 'KeystoneAuthPlugin')
def test_client_initialization(self, mocked_KeystoneAuthPlugin,
mocked_HTTPClient):
client.Client(self.api_version, **self.client_kwargs)
mocked_KeystoneAuthPlugin.assert_called_with(**self.client_kwargs)
mocked_HTTPClient.assert_called_with(mocked_KeystoneAuthPlugin())