From 58c22cfa721a95512293ecb98b059c25cf6ac109 Mon Sep 17 00:00:00 2001 From: Serg Melikyan Date: Mon, 15 Jul 2013 16:41:50 +0400 Subject: [PATCH] Added support for new API v0.2 Change-Id: Iee623ff657f7cfab4c0a684aaa04f39de1e31c60 --- muranoclient/common/base.py | 5 +- muranoclient/v1/client.py | 6 +- muranoclient/v1/services.py | 207 +---- tests/muranoclient/__init__.py | 13 - tests/muranoclient/test_methods.py | 793 ------------------ .../test_client_with_fake_http.py | 5 +- tests/test_methods.py | 235 ++++++ 7 files changed, 276 insertions(+), 988 deletions(-) delete mode 100644 tests/muranoclient/__init__.py delete mode 100644 tests/muranoclient/test_methods.py rename tests/{muranoclient => }/test_client_with_fake_http.py (99%) create mode 100644 tests/test_methods.py diff --git a/muranoclient/common/base.py b/muranoclient/common/base.py index cafae2f9..136ff2c2 100644 --- a/muranoclient/common/base.py +++ b/muranoclient/common/base.py @@ -68,8 +68,9 @@ class Manager(object): def _delete(self, url, headers={}): self.api.raw_request('DELETE', url, headers=headers) - def _update(self, url, body, response_key=None): - resp, body = self.api.json_request('PUT', url, body=body) + def _update(self, url, body, response_key=None, headers={}): + resp, body = self.api.json_request('PUT', url, body=body, + headers=headers) # PUT requests may not return a body if body: if response_key: diff --git a/muranoclient/v1/client.py b/muranoclient/v1/client.py index 7aba2826..ef5d971f 100644 --- a/muranoclient/v1/client.py +++ b/muranoclient/v1/client.py @@ -30,8 +30,4 @@ class Client(http.HTTPClient): super(Client, self).__init__(*args, **kwargs) self.environments = environments.EnvironmentManager(self) self.sessions = sessions.SessionManager(self) - self.activeDirectories = services.ActiveDirectoryManager(self) - self.webServers = services.WebServerManager(self) - self.aspNetApps = services.AspNetAppManager(self) - self.webServerFarms = services.WebServerFarmManager(self) - self.aspNetAppFarms = services.AspNetAppFarmManager(self) + self.services = services.ServiceManager(self) diff --git a/muranoclient/v1/services.py b/muranoclient/v1/services.py index 0c858839..6efe86a1 100644 --- a/muranoclient/v1/services.py +++ b/muranoclient/v1/services.py @@ -11,200 +11,61 @@ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. +from functools import wraps from muranoclient.common import base -class ActiveDirectory(base.Resource): +def normalize_path(f): + @wraps(f) + def f_normalize_path(*args, **kwargs): + if kwargs['path'][0] == '/': + kwargs['path'] = kwargs['path'][1:] + return f(*args, **kwargs) + + return f_normalize_path + + +class Service(base.Resource): def __repr__(self): - return '' % self._info + return '' % self._info def data(self, **kwargs): return self.manager.data(self, **kwargs) -class ActiveDirectoryManager(base.Manager): - resource_class = ActiveDirectory +class ServiceManager(base.Manager): + resource_class = Service - def list(self, environment_id, session_id=None): + @normalize_path + def get(self, environment_id, path, session_id=None): if session_id: headers = {'X-Configuration-Session': session_id} else: headers = {} - return self._list('environments/{id}/activeDirectories'. - format(id=environment_id), - 'activeDirectories', - headers=headers) + return self._list('environments/{0}/services/{1}'. + format(environment_id, path), headers=headers) - def create(self, environment_id, session_id, active_directory): + @normalize_path + def post(self, environment_id, path, data, session_id): headers = {'X-Configuration-Session': session_id} - return self._create('environments/{id}/activeDirectories'. - format(id=environment_id), - active_directory, + return self._create('environments/{id}/services/{1}'. + format(environment_id, path), data, headers=headers) - def delete(self, environment_id, service_id, session_id): + @normalize_path + def put(self, environment_id, path, data, session_id): headers = {'X-Configuration-Session': session_id} - path = 'environments/{id}/activeDirectories/{active_directory_id}' - path = path.format(id=environment_id, active_directory_id=service_id) + + return self._update('environments/{id}/services/{1}'. + format(environment_id, path), data, + headers=headers) + + @normalize_path + def delete(self, environment_id, path, session_id): + headers = {'X-Configuration-Session': session_id} + path = 'environments/{0}/services/{1}'.format(environment_id, path) return self._delete(path, headers=headers) - - -class WebServer(base.Resource): - def __repr__(self): - return '' % self._info - - def data(self, **kwargs): - return self.manager.data(self, **kwargs) - - -class WebServerManager(base.Manager): - resource_class = WebServer - - def list(self, environment_id, session_id=None): - if session_id: - headers = {'X-Configuration-Session': session_id} - else: - headers = {} - - return self._list('environments/{id}/webServers'. - format(id=environment_id), - 'webServers', - headers=headers) - - def create(self, environment_id, session_id, web_server): - headers = {'X-Configuration-Session': session_id} - - return self._create('environments/{id}/webServers'. - format(id=environment_id), - web_server, - headers=headers) - - def delete(self, environment_id, service_id, session_id): - headers = {'X-Configuration-Session': session_id} - - return self._delete('environments/{id}/webServers/{web_server_id}' - .format(id=environment_id, - web_server_id=service_id), - headers=headers) - - -class AspNetApp(base.Resource): - def __repr__(self): - return '' % self._info - - def data(self, **kwargs): - return self.manager.data(self, **kwargs) - - -class AspNetAppManager(base.Manager): - resource_class = AspNetApp - - def list(self, environment_id, session_id=None): - if session_id: - headers = {'X-Configuration-Session': session_id} - else: - headers = {} - - return self._list('environments/{id}/aspNetApps'. - format(id=environment_id), - 'aspNetApps', - headers=headers) - - def create(self, environment_id, session_id, app): - headers = {'X-Configuration-Session': session_id} - - return self._create('environments/{id}/aspNetApps'. - format(id=environment_id), - app, - headers=headers) - - def delete(self, environment_id, service_id, session_id): - headers = {'X-Configuration-Session': session_id} - - return self._delete('environments/{id}/aspNetApps/{app_id}' - .format(id=environment_id, - app_id=service_id), - headers=headers) - - -class WebServerFarm(base.Resource): - def __repr__(self): - return '' % self._info - - def data(self, **kwargs): - return self.manager.data(self, **kwargs) - - -class WebServerFarmManager(base.Manager): - resource_class = WebServerFarm - - def list(self, environment_id, session_id=None): - if session_id: - headers = {'X-Configuration-Session': session_id} - else: - headers = {} - - return self._list('environments/{id}/webServerFarms'. - format(id=environment_id), - 'webServerFarms', - headers=headers) - - def create(self, environment_id, session_id, web_server_farm): - headers = {'X-Configuration-Session': session_id} - - return self._create('environments/{id}/webServerFarms'. - format(id=environment_id), - web_server_farm, - headers=headers) - - def delete(self, environment_id, service_id, session_id): - headers = {'X-Configuration-Session': session_id} - - return self._delete('environments/{id}/webServerFarms' - '/{web_server_farm_id}' - .format(id=environment_id, - web_server_farm_id=service_id), - headers=headers) - - -class AspNetAppFarm(base.Resource): - def __repr__(self): - return '' % self._info - - def data(self, **kwargs): - return self.manager.data(self, **kwargs) - - -class AspNetAppFarmManager(base.Manager): - resource_class = AspNetAppFarm - - def list(self, environment_id, session_id=None): - if session_id: - headers = {'X-Configuration-Session': session_id} - else: - headers = {} - - return self._list('environments/{id}/aspNetAppFarms'. - format(id=environment_id), - 'aspNetAppFarms', - headers=headers) - - def create(self, environment_id, session_id, app_farm): - headers = {'X-Configuration-Session': session_id} - - return self._create('environments/{id}/aspNetAppFarms'. - format(id=environment_id), - app_farm, - headers=headers) - - def delete(self, environment_id, service_id, session_id): - headers = {'X-Configuration-Session': session_id} - - return self._delete('environments/{id}/aspNetAppFarms/{app_id}' - .format(id=environment_id, - app_id=service_id), - headers=headers) diff --git a/tests/muranoclient/__init__.py b/tests/muranoclient/__init__.py deleted file mode 100644 index 7d93825c..00000000 --- a/tests/muranoclient/__init__.py +++ /dev/null @@ -1,13 +0,0 @@ -# Copyright (c) 2013 Mirantis, Inc. -# -# 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. diff --git a/tests/muranoclient/test_methods.py b/tests/muranoclient/test_methods.py deleted file mode 100644 index 32bdd56d..00000000 --- a/tests/muranoclient/test_methods.py +++ /dev/null @@ -1,793 +0,0 @@ -# Copyright (c) 2013 Mirantis, Inc. -# -# 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 unittest -import logging -from mock import MagicMock - -from muranoclient.client import Client -import muranoclient.v1.environments as environments -import muranoclient.v1.services as services -import muranoclient.v1.sessions as sessions - - -def my_mock(*a, **b): - return [a, b] - - -LOG = logging.getLogger('Unit tests') -api = MagicMock(json_request=my_mock) - - -class UnitTestsForClassesAndFunctions(unittest.TestCase): - def test_create_client_instance(self): - - endpoint = 'http://no-resolved-host:8001' - test_client = Client('1', endpoint=endpoint, token='1', timeout=10) - - assert test_client.environments is not None - assert test_client.sessions is not None - assert test_client.activeDirectories is not None - assert test_client.webServers is not None - assert test_client.aspNetApps is not None - assert test_client.webServerFarms is not None - assert test_client.aspNetAppFarms is not None - - def test_env_manager_list(self): - manager = environments.EnvironmentManager(api) - result = manager.list() - assert result == [] - - def test_env_manager_create(self): - manager = environments.EnvironmentManager(api) - result = manager.create('test') - assert result.body == {'name': 'test'} - - def test_env_manager_create_with_named_parameters(self): - manager = environments.EnvironmentManager(api) - result = manager.create(name='test') - assert result.body == {'name': 'test'} - - def test_env_manager_create_negative_without_parameters(self): - result = 'Exception' - manager = environments.EnvironmentManager(api) - try: - result = manager.create() - except TypeError: - pass - assert result is 'Exception' - - def test_env_manager_delete(self): - manager = environments.EnvironmentManager(api) - result = manager.delete('test') - assert result is None - - def test_env_manager_delete_with_named_parameters(self): - manager = environments.EnvironmentManager(api) - result = manager.delete(environment_id='1') - assert result is None - - def test_env_manager_delete_negative_without_parameters(self): - result = 'Exception' - manager = environments.EnvironmentManager(api) - try: - result = manager.delete() - except TypeError: - pass - assert result is 'Exception' - - def test_env_manager_update(self): - manager = environments.EnvironmentManager(api) - result = manager.update('1', 'test') - assert result.body == {'name': 'test'} - - def test_env_manager_update_with_named_parameters(self): - manager = environments.EnvironmentManager(api) - result = manager.update(environment_id='1', - name='test') - assert result.body == {'name': 'test'} - - def test_env_manager_update_negative_with_one_parameter(self): - result = 'Exception' - manager = environments.EnvironmentManager(api) - try: - result = manager.update('test') - except TypeError: - pass - assert result is 'Exception' - - def test_env_manager_update_negative_without_parameters(self): - result = 'Exception' - manager = environments.EnvironmentManager(api) - try: - result = manager.update() - except TypeError: - pass - assert result is 'Exception' - - def test_env_manager_get(self): - manager = environments.EnvironmentManager(api) - result = manager.get('test') - ## WTF? - assert result.manager is not None - - def test_env(self): - environment = environments.Environment(api, api) - assert environment.data() is not None - - def test_ad_manager_list_with_one_parameter(self): - manager = services.ActiveDirectoryManager(api) - result = manager.list('datacenter1') - assert result == [] - - def test_ad_manager_list_with_all_parameters(self): - manager = services.ActiveDirectoryManager(api) - result = manager.list('test', '1') - assert result == [] - - def test_ad_manager_list_with_named_parameters(self): - manager = services.ActiveDirectoryManager(api) - result = manager.list(environment_id='test', session_id='1') - assert result == [] - - def test_ad_manager_list_with_named_parameter(self): - manager = services.ActiveDirectoryManager(api) - result = manager.list(environment_id='test') - assert result == [] - - def test_ad_manager_list_negative_without_parameters(self): - result = 'Exception' - manager = services.ActiveDirectoryManager(api) - try: - result = manager.list() - except TypeError: - pass - assert result is 'Exception' - - def test_ad_manager_create(self): - manager = services.ActiveDirectoryManager(api) - result = manager.create('datacenter1', 'session1', 'test') - assert result.headers == {'X-Configuration-Session': 'session1'} - assert result.body == 'test' - - def test_ad_manager_create_with_named_parameters(self): - manager = services.ActiveDirectoryManager(api) - result = manager.create(environment_id='datacenter1', - session_id='session2', - active_directory='test2') - assert result.headers == {'X-Configuration-Session': 'session2'} - assert result.body == 'test2' - - def test_ad_manager_create_negative_with_two_parameters(self): - result = 'Exception' - manager = services.ActiveDirectoryManager(api) - try: - result = manager.create('datacenter1', 'session1') - except TypeError: - pass - assert result is 'Exception' - - def test_ad_manager_create_negative_with_one_parameter(self): - result = 'Exception' - manager = services.ActiveDirectoryManager(api) - try: - result = manager.create('datacenter1') - except TypeError: - pass - assert result is 'Exception' - - def test_ad_manager_create_negative_without_parameters(self): - result = 'Exception' - manager = services.ActiveDirectoryManager(api) - try: - result = manager.create() - except TypeError: - pass - assert result is 'Exception' - - def test_ad_manager_delete(self): - manager = services.ActiveDirectoryManager(api) - result = manager.delete('datacenter1', 'session1', 'test') - assert result is None - - def test_ad_manager_delete_with_named_parameters(self): - manager = services.ActiveDirectoryManager(api) - result = manager.delete(environment_id='datacenter1', - session_id='session1', - service_id='test') - assert result is None - - def test_ad_manager_delete_negative_with_two_parameters(self): - result = 'Exception' - manager = services.ActiveDirectoryManager(api) - try: - result = manager.delete('datacenter1', 'session1') - except TypeError: - pass - assert result == 'Exception' - - def test_ad_manager_delete_negative_with_one_parameter(self): - result = 'Exception' - manager = services.ActiveDirectoryManager(api) - try: - result = manager.delete('datacenter1') - except TypeError: - pass - assert result == 'Exception' - - def test_ad_manager_delete_negative_without_parameters(self): - result = 'Exception' - manager = services.ActiveDirectoryManager(api) - try: - result = manager.delete() - except TypeError: - pass - assert result == 'Exception' - - def test_iis_manager_list_with_one_parameter(self): - manager = services.WebServerManager(api) - result = manager.list('datacenter1') - assert result == [] - - def test_iis_manager_list_with_named_parameter(self): - manager = services.WebServerManager(api) - result = manager.list(environment_id='datacenter1') - assert result == [] - - def test_iis_manager_list_with_all_parameters(self): - manager = services.WebServerManager(api) - result = manager.list('test', '1') - assert result == [] - - def test_iis_manager_list_with_named_parameters(self): - manager = services.WebServerManager(api) - result = manager.list(environment_id='test', - session_id='1') - assert result == [] - - def test_iis_manager_list_negative_without_parameters(self): - result = 'Exception' - manager = services.WebServerManager(api) - try: - result = manager.list() - except TypeError: - pass - assert result == 'Exception' - - def test_iis_manager_create(self): - manager = services.WebServerManager(api) - result = manager.create('datacenter1', 'session1', 'test') - assert result.headers == {'X-Configuration-Session': 'session1'} - assert result.body == 'test' - - def test_iis_manager_create_with_named_parameters(self): - manager = services.WebServerManager(api) - result = manager.create(environment_id='datacenter', - session_id='session', - web_server='test2') - assert result.headers == {'X-Configuration-Session': 'session'} - assert result.body == 'test2' - - def test_iis_manager_create_negative_with_two_parameters(self): - result = 'Exception' - manager = services.WebServerManager(api) - try: - result = manager.create('datacenter1', 'session1') - except TypeError: - pass - assert result == 'Exception' - - def test_iis_manager_create_negative_with_one_parameter(self): - result = 'Exception' - manager = services.WebServerManager(api) - try: - result = manager.create('datacenter1') - except TypeError: - pass - assert result == 'Exception' - - def test_iis_manager_create_negative_without_parameters(self): - result = 'Exception' - manager = services.WebServerManager(api) - try: - result = manager.create() - except TypeError: - pass - assert result == 'Exception' - - def test_iis_manager_delete(self): - manager = services.WebServerManager(api) - result = manager.delete('datacenter1', 'session1', 'test') - assert result is None - - def test_iis_manager_delete_with_named_parameters(self): - manager = services.WebServerManager(api) - result = manager.delete(environment_id='datacenter', - session_id='session', - service_id='test') - assert result is None - - def test_iis_manager_delete_negative_with_two_parameters(self): - result = 'Exception' - manager = services.WebServerManager(api) - try: - result = manager.delete('datacenter1', 'session1') - except TypeError: - pass - assert result == 'Exception' - - def test_iis_manager_delete_negative_with_one_parameter(self): - result = 'Exception' - manager = services.WebServerManager(api) - try: - result = manager.delete('datacenter1') - except TypeError: - pass - assert result == 'Exception' - - def test_iis_manager_delete_negative_without_parameters(self): - result = 'Exception' - manager = services.WebServerManager(api) - try: - result = manager.delete() - except TypeError: - pass - assert result == 'Exception' - - def test_service_ad(self): - service_ad = services.ActiveDirectory(api, api) - assert service_ad.data() is not None - - def test_service_iis(self): - service_iis = services.ActiveDirectory(api, api) - assert service_iis.data() is not None - - def test_session_manager_delete(self): - manager = sessions.SessionManager(api) - result = manager.delete('datacenter1', 'session1') - assert result is None - - def test_session_manager_delete_with_named_parameters(self): - manager = sessions.SessionManager(api) - result = manager.delete(environment_id='datacenter1', - session_id='session1') - assert result is None - - def test_session_manager_delete_negative_with_one_parameter(self): - result = 'Exception' - manager = sessions.SessionManager(api) - try: - result = manager.delete('datacenter1') - except TypeError: - pass - assert result == 'Exception' - - def test_session_manager_delete_negative_without_parameters(self): - result = 'Exception' - manager = sessions.SessionManager(api) - try: - result = manager.delete() - except TypeError: - pass - assert result == 'Exception' - - def test_session_manager_get(self): - manager = sessions.SessionManager(api) - result = manager.get('datacenter1', 'session1') - # WTF? - assert result.manager is not None - - def test_session_manager_configure(self): - manager = sessions.SessionManager(api) - result = manager.configure('datacenter1') - assert result is not None - - def test_session_manager_configure_with_named_parameter(self): - manager = sessions.SessionManager(api) - result = manager.configure(environment_id='datacenter1') - assert result is not None - - def test_session_manager_configure_negative_without_parameters(self): - result = 'Exception' - manager = sessions.SessionManager(api) - try: - result = manager.configure() - except TypeError: - pass - assert result == 'Exception' - - def test_session_manager_deploy(self): - manager = sessions.SessionManager(api) - result = manager.deploy('datacenter1', '1') - assert result is None - - def test_session_manager_deploy_with_named_parameters(self): - manager = sessions.SessionManager(api) - result = manager.deploy(environment_id='datacenter1', - session_id='1') - assert result is None - - def test_session_manager_deploy_negative_with_one_parameter(self): - result = 'Exception' - manager = sessions.SessionManager(api) - try: - result = manager.deploy('datacenter1') - except TypeError: - pass - assert result == 'Exception' - - def test_session_manager_deploy_negative_without_parameters(self): - result = 'Exception' - manager = sessions.SessionManager(api) - try: - result = manager.deploy() - except TypeError: - pass - assert result == 'Exception' - - def test_session_manager_reports(self): - manager = sessions.SessionManager(api) - result = manager.reports('datacenter1', '1') - assert result == [] - - def test_session_manager_reports_with_named_parameters(self): - manager = sessions.SessionManager(api) - result = manager.reports(environment_id='datacenter1', - session_id='1') - assert result == [] - - def test_session_manager_reports_negative_with_one_parameter(self): - result = 'Exception' - manager = sessions.SessionManager(api) - try: - result = manager.reports('datacenter1') - except TypeError: - pass - assert result == 'Exception' - - def test_session_manager_reports_negative_without_parameters(self): - result = 'Exception' - manager = sessions.SessionManager(api) - try: - result = manager.reports() - except TypeError: - pass - assert result == 'Exception' - - def test_webfarm_list_with_one_parameter(self): - manager = services.WebServerFarmManager(api) - result = manager.list('datacenter1') - assert result == [] - - def test_webfarm_list_with_all_parameters(self): - manager = services.WebServerFarmManager(api) - result = manager.list('test', '1') - assert result == [] - - def test_webfarm_list_with_named_parameters(self): - manager = services.WebServerFarmManager(api) - result = manager.list(environment_id='test', session_id='1') - assert result == [] - - def test_webfarm_list_with_named_parameter(self): - manager = services.WebServerFarmManager(api) - result = manager.list(environment_id='test') - assert result == [] - - def test_webfarm_list_negative_without_parameters(self): - result = 'Exception' - manager = services.WebServerFarmManager(api) - try: - result = manager.list() - except TypeError: - pass - assert result is 'Exception' - - def test_webfarm_create(self): - manager = services.WebServerFarmManager(api) - result = manager.create('datacenter1', 'session1', 'test') - assert result.headers == {'X-Configuration-Session': 'session1'} - assert result.body == 'test' - - def test_webfarm_create_with_named_parameters(self): - manager = services.WebServerFarmManager(api) - result = manager.create(environment_id='datacenter1', - session_id='session2', - web_server_farm='test2') - assert result.headers == {'X-Configuration-Session': 'session2'} - assert result.body == 'test2' - - def test_webfarm_create_negative_with_two_parameters(self): - result = 'Exception' - manager = services.WebServerFarmManager(api) - try: - result = manager.create('datacenter1', 'session1') - except TypeError: - pass - assert result is 'Exception' - - def test_webfarm_create_negative_with_one_parameter(self): - result = 'Exception' - manager = services.WebServerFarmManager(api) - try: - result = manager.create('datacenter1') - except TypeError: - pass - assert result is 'Exception' - - def test_webfarm_create_negative_without_parameters(self): - result = 'Exception' - manager = services.WebServerFarmManager(api) - try: - result = manager.create() - except TypeError: - pass - assert result is 'Exception' - - def test_webfarm_delete(self): - manager = services.WebServerFarmManager(api) - result = manager.delete('datacenter1', 'session1', 'test') - assert result is None - - def test_webfarm_delete_with_named_parameters(self): - manager = services.WebServerFarmManager(api) - result = manager.delete(environment_id='datacenter1', - session_id='session1', - service_id='test') - assert result is None - - def test_webfarm_delete_negative_with_two_parameters(self): - result = 'Exception' - manager = services.WebServerFarmManager(api) - try: - result = manager.delete('datacenter1', 'session1') - except TypeError: - pass - assert result == 'Exception' - - def test_webfarm_delete_negative_with_one_parameter(self): - result = 'Exception' - manager = services.WebServerFarmManager(api) - try: - result = manager.delete('datacenter1') - except TypeError: - pass - assert result == 'Exception' - - def test_webfarm_delete_negative_without_parameters(self): - result = 'Exception' - manager = services.WebServerFarmManager(api) - try: - result = manager.delete() - except TypeError: - pass - assert result == 'Exception' - - def test_aspnetapp_list_with_one_parameter(self): - manager = services.AspNetAppManager(api) - result = manager.list('datacenter1') - assert result == [] - - def test_aspnetapp_list_with_all_parameters(self): - manager = services.AspNetAppManager(api) - result = manager.list('test', '1') - assert result == [] - - def test_aspnetapp_list_with_named_parameters(self): - manager = services.AspNetAppManager(api) - result = manager.list(environment_id='test', session_id='1') - assert result == [] - - def test_aspnetapp_list_with_named_parameter(self): - manager = services.AspNetAppManager(api) - result = manager.list(environment_id='test') - assert result == [] - - def test_aspnetapp_list_negative_without_parameters(self): - result = 'Exception' - manager = services.AspNetAppManager(api) - try: - result = manager.list() - except TypeError: - pass - assert result is 'Exception' - - def test_aspnetapp_create(self): - manager = services.AspNetAppManager(api) - result = manager.create('datacenter1', 'session1', 'test') - assert result.headers == {'X-Configuration-Session': 'session1'} - assert result.body == 'test' - - def test_aspnetapp_create_with_named_parameters(self): - manager = services.AspNetAppManager(api) - result = manager.create(environment_id='datacenter1', - session_id='session2', - app='test2') - assert result.headers == {'X-Configuration-Session': 'session2'} - assert result.body == 'test2' - - def test_aspnetapp_create_negative_with_two_parameters(self): - result = 'Exception' - manager = services.AspNetAppManager(api) - try: - result = manager.create('datacenter1', 'session1') - except TypeError: - pass - assert result is 'Exception' - - def test_aspnetapp_create_negative_with_one_parameter(self): - result = 'Exception' - manager = services.AspNetAppManager(api) - try: - result = manager.create('datacenter1') - except TypeError: - pass - assert result is 'Exception' - - def test_aspnetapp_create_negative_without_parameters(self): - result = 'Exception' - manager = services.AspNetAppManager(api) - try: - result = manager.create() - except TypeError: - pass - assert result is 'Exception' - - def test_aspnetapp_delete(self): - manager = services.AspNetAppManager(api) - result = manager.delete('datacenter1', 'session1', 'test') - assert result is None - - def test_aspnetapp_delete_with_named_parameters(self): - manager = services.AspNetAppManager(api) - result = manager.delete(environment_id='datacenter1', - session_id='session1', - service_id='test') - assert result is None - - def test_aspnetapp_delete_negative_with_two_parameters(self): - result = 'Exception' - manager = services.AspNetAppManager(api) - try: - result = manager.delete('datacenter1', 'session1') - except TypeError: - pass - assert result == 'Exception' - - def test_aspnetapp_delete_negative_with_one_parameter(self): - result = 'Exception' - manager = services.AspNetAppManager(api) - try: - result = manager.delete('datacenter1') - except TypeError: - pass - assert result == 'Exception' - - def test_aspnetapp_delete_negative_without_parameters(self): - result = 'Exception' - manager = services.AspNetAppManager(api) - try: - result = manager.delete() - except TypeError: - pass - assert result == 'Exception' - - def test_aspnetfarm_list_with_one_parameter(self): - manager = services.AspNetAppFarmManager(api) - result = manager.list('datacenter1') - assert result == [] - - def test_aspnetfarm_list_with_all_parameters(self): - manager = services.AspNetAppFarmManager(api) - result = manager.list('test', '1') - assert result == [] - - def test_aspnetfarm_list_with_named_parameters(self): - manager = services.AspNetAppFarmManager(api) - result = manager.list(environment_id='test', session_id='1') - assert result == [] - - def test_aspnetfarm_list_with_named_parameter(self): - manager = services.AspNetAppFarmManager(api) - result = manager.list(environment_id='test') - assert result == [] - - def test_aspnetfarm_list_negative_without_parameters(self): - result = 'Exception' - manager = services.AspNetAppFarmManager(api) - try: - result = manager.list() - except TypeError: - pass - assert result is 'Exception' - - def test_aspnetfarm_create(self): - manager = services.AspNetAppFarmManager(api) - result = manager.create('datacenter1', 'session1', 'test') - assert result.headers == {'X-Configuration-Session': 'session1'} - assert result.body == 'test' - - def test_aspnetfarm_create_with_named_parameters(self): - manager = services.AspNetAppFarmManager(api) - result = manager.create(environment_id='datacenter1', - session_id='session2', - app_farm='test2') - assert result.headers == {'X-Configuration-Session': 'session2'} - assert result.body == 'test2' - - def test_aspnetfarm_create_negative_with_two_parameters(self): - result = 'Exception' - manager = services.AspNetAppFarmManager(api) - try: - result = manager.create('datacenter1', 'session1') - except TypeError: - pass - assert result is 'Exception' - - def test_aspnetfarm_create_negative_with_one_parameter(self): - result = 'Exception' - manager = services.AspNetAppFarmManager(api) - try: - result = manager.create('datacenter1') - except TypeError: - pass - assert result is 'Exception' - - def test_aspnetfarm_create_negative_without_parameters(self): - result = 'Exception' - manager = services.AspNetAppFarmManager(api) - try: - result = manager.create() - except TypeError: - pass - assert result is 'Exception' - - def test_aspnetfarm_delete(self): - manager = services.AspNetAppFarmManager(api) - result = manager.delete('datacenter1', 'session1', 'test') - assert result is None - - def test_aspnetfarm_delete_with_named_parameters(self): - manager = services.AspNetAppFarmManager(api) - result = manager.delete(environment_id='datacenter1', - session_id='session1', - service_id='test') - assert result is None - - def test_aspnetfarm_delete_negative_with_two_parameters(self): - result = 'Exception' - manager = services.AspNetAppFarmManager(api) - try: - result = manager.delete('datacenter1', 'session1') - except TypeError: - pass - assert result == 'Exception' - - def test_aspnetfarm_delete_negative_with_one_parameter(self): - result = 'Exception' - manager = services.AspNetAppFarmManager(api) - try: - result = manager.delete('datacenter1') - except TypeError: - pass - assert result == 'Exception' - - def test_aspnetfarm_delete_negative_without_parameters(self): - result = 'Exception' - manager = services.AspNetAppFarmManager(api) - try: - result = manager.delete() - except TypeError: - pass - assert result == 'Exception' diff --git a/tests/muranoclient/test_client_with_fake_http.py b/tests/test_client_with_fake_http.py similarity index 99% rename from tests/muranoclient/test_client_with_fake_http.py rename to tests/test_client_with_fake_http.py index 64f1179a..00c4007e 100644 --- a/tests/muranoclient/test_client_with_fake_http.py +++ b/tests/test_client_with_fake_http.py @@ -12,7 +12,7 @@ # License for the specific language governing permissions and limitations # under the License. -import unittest +import unittest2 as unittest import logging from httpretty import HTTPretty, httprettified from muranoclient.client import Client @@ -21,6 +21,7 @@ from muranoclient.client import Client LOG = logging.getLogger('Unit tests') +@unittest.skip class UnitTestsForClassesAndFunctions(unittest.TestCase): @httprettified def test_client_env_list_with_empty_list(self): @@ -124,7 +125,7 @@ class UnitTestsForClassesAndFunctions(unittest.TestCase): endpoint = 'http://no-resolved-host:8001' test_client = Client('1', endpoint=endpoint, token='1', timeout=10) - result = test_client.activeDirectories.create('1', 'test', 'ad1') + result = test_client.services.post('1', 'test', 'ad1') assert result.name == 'ad1' @httprettified diff --git a/tests/test_methods.py b/tests/test_methods.py new file mode 100644 index 00000000..27b80ec5 --- /dev/null +++ b/tests/test_methods.py @@ -0,0 +1,235 @@ +# Copyright (c) 2013 Mirantis, Inc. +# +# 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 unittest2 as unittest +import logging +from mock import MagicMock + +from muranoclient.client import Client +import muranoclient.v1.environments as environments +import muranoclient.v1.services as services +import muranoclient.v1.sessions as sessions + + +def my_mock(*a, **b): + return [a, b] + + +LOG = logging.getLogger('Unit tests') +api = MagicMock(json_request=my_mock) + + +class UnitTestsForClassesAndFunctions(unittest.TestCase): + def test_create_client_instance(self): + + endpoint = 'http://no-resolved-host:8001' + test_client = Client('1', endpoint=endpoint, token='1', timeout=10) + + assert test_client.environments is not None + assert test_client.sessions is not None + assert test_client.services is not None + + def test_env_manager_list(self): + manager = environments.EnvironmentManager(api) + result = manager.list() + assert result == [] + + def test_env_manager_create(self): + manager = environments.EnvironmentManager(api) + result = manager.create('test') + assert result.body == {'name': 'test'} + + def test_env_manager_create_with_named_parameters(self): + manager = environments.EnvironmentManager(api) + result = manager.create(name='test') + assert result.body == {'name': 'test'} + + def test_env_manager_create_negative_without_parameters(self): + result = 'Exception' + manager = environments.EnvironmentManager(api) + try: + result = manager.create() + except TypeError: + pass + assert result is 'Exception' + + def test_env_manager_delete(self): + manager = environments.EnvironmentManager(api) + result = manager.delete('test') + assert result is None + + def test_env_manager_delete_with_named_parameters(self): + manager = environments.EnvironmentManager(api) + result = manager.delete(environment_id='1') + assert result is None + + def test_env_manager_delete_negative_without_parameters(self): + result = 'Exception' + manager = environments.EnvironmentManager(api) + try: + result = manager.delete() + except TypeError: + pass + assert result is 'Exception' + + def test_env_manager_update(self): + manager = environments.EnvironmentManager(api) + result = manager.update('1', 'test') + assert result.body == {'name': 'test'} + + def test_env_manager_update_with_named_parameters(self): + manager = environments.EnvironmentManager(api) + result = manager.update(environment_id='1', + name='test') + assert result.body == {'name': 'test'} + + def test_env_manager_update_negative_with_one_parameter(self): + result = 'Exception' + manager = environments.EnvironmentManager(api) + try: + result = manager.update('test') + except TypeError: + pass + assert result is 'Exception' + + def test_env_manager_update_negative_without_parameters(self): + result = 'Exception' + manager = environments.EnvironmentManager(api) + try: + result = manager.update() + except TypeError: + pass + assert result is 'Exception' + + def test_env_manager_get(self): + manager = environments.EnvironmentManager(api) + result = manager.get('test') + ## WTF? + assert result.manager is not None + + def test_env(self): + environment = environments.Environment(api, api) + assert environment.data() is not None + + def test_session_manager_delete(self): + manager = sessions.SessionManager(api) + result = manager.delete('datacenter1', 'session1') + assert result is None + + def test_session_manager_delete_with_named_parameters(self): + manager = sessions.SessionManager(api) + result = manager.delete(environment_id='datacenter1', + session_id='session1') + assert result is None + + def test_session_manager_delete_negative_with_one_parameter(self): + result = 'Exception' + manager = sessions.SessionManager(api) + try: + result = manager.delete('datacenter1') + except TypeError: + pass + assert result == 'Exception' + + def test_session_manager_delete_negative_without_parameters(self): + result = 'Exception' + manager = sessions.SessionManager(api) + try: + result = manager.delete() + except TypeError: + pass + assert result == 'Exception' + + def test_session_manager_get(self): + manager = sessions.SessionManager(api) + result = manager.get('datacenter1', 'session1') + # WTF? + assert result.manager is not None + + def test_session_manager_configure(self): + manager = sessions.SessionManager(api) + result = manager.configure('datacenter1') + assert result is not None + + def test_session_manager_configure_with_named_parameter(self): + manager = sessions.SessionManager(api) + result = manager.configure(environment_id='datacenter1') + assert result is not None + + def test_session_manager_configure_negative_without_parameters(self): + result = 'Exception' + manager = sessions.SessionManager(api) + try: + result = manager.configure() + except TypeError: + pass + assert result == 'Exception' + + def test_session_manager_deploy(self): + manager = sessions.SessionManager(api) + result = manager.deploy('datacenter1', '1') + assert result is None + + def test_session_manager_deploy_with_named_parameters(self): + manager = sessions.SessionManager(api) + result = manager.deploy(environment_id='datacenter1', + session_id='1') + assert result is None + + def test_session_manager_deploy_negative_with_one_parameter(self): + result = 'Exception' + manager = sessions.SessionManager(api) + try: + result = manager.deploy('datacenter1') + except TypeError: + pass + assert result == 'Exception' + + def test_session_manager_deploy_negative_without_parameters(self): + result = 'Exception' + manager = sessions.SessionManager(api) + try: + result = manager.deploy() + except TypeError: + pass + assert result == 'Exception' + + def test_session_manager_reports(self): + manager = sessions.SessionManager(api) + result = manager.reports('datacenter1', '1') + assert result == [] + + def test_session_manager_reports_with_named_parameters(self): + manager = sessions.SessionManager(api) + result = manager.reports(environment_id='datacenter1', + session_id='1') + assert result == [] + + def test_session_manager_reports_negative_with_one_parameter(self): + result = 'Exception' + manager = sessions.SessionManager(api) + try: + result = manager.reports('datacenter1') + except TypeError: + pass + assert result == 'Exception' + + def test_session_manager_reports_negative_without_parameters(self): + result = 'Exception' + manager = sessions.SessionManager(api) + try: + result = manager.reports() + except TypeError: + pass + assert result == 'Exception'