Fix INF-342 refactor deploymentManager profile data
[pti/o2.git] / tests / unit / test_ocloud.py
index 8be1e42..1b0942e 100644 (file)
@@ -18,7 +18,7 @@ from unittest.mock import MagicMock
 from o2ims.domain import ocloud, subscription_obj
 from o2ims.domain import resource_type as rt
 from o2ims.views import ocloud_view
-from o2common.config import config
+from o2common.config import config, conf as CONF
 
 
 def setup_ocloud():
@@ -138,7 +138,7 @@ def test_view_resource_types(mock_uow):
     order_by = MagicMock()
     order_by.count.return_value = 1
     order_by.limit.return_value.offset.return_value = [restype1]
-    session.return_value.query.return_value.filter_by.return_value.\
+    session.return_value.query.return_value.filter.return_value.\
         order_by.return_value = order_by
 
     result = ocloud_view.resource_types(uow)
@@ -178,7 +178,7 @@ def test_view_resource_pools(mock_uow):
     order_by = MagicMock()
     order_by.count.return_value = 1
     order_by.limit.return_value.offset.return_value = [respool1]
-    session.return_value.query.return_value.filter_by.return_value.\
+    session.return_value.query.return_value.filter.return_value.\
         order_by.return_value = order_by
 
     result = ocloud_view.resource_pools(uow)
@@ -222,8 +222,10 @@ def test_view_resources(mock_uow):
     order_by = MagicMock()
     order_by.count.return_value = 1
     order_by.limit.return_value.offset.return_value = [res1]
-    session.return_value.query.return_value.filter_by.return_value.\
+    session.return_value.query.return_value.filter.return_value.\
         order_by.return_value = order_by
+    # TODO: workaround for sqlalchemy not mapping with resource object
+    setattr(ocloud.Resource, 'resourcePoolId', '')
 
     result = ocloud_view.resources(resource_pool_id1, uow)
     assert result['count'] == 1
@@ -266,7 +268,7 @@ def test_view_deployment_managers(mock_uow):
     order_by = MagicMock()
     order_by.count.return_value = 1
     order_by.limit.return_value.offset.return_value = [dm1]
-    session.return_value.query.return_value.filter_by.return_value.\
+    session.return_value.query.return_value.filter.return_value.\
         order_by.return_value = order_by
 
     result = ocloud_view.deployment_managers(uow)
@@ -292,22 +294,28 @@ def test_view_deployment_manager_one(mock_uow):
     session.return_value.query.return_value.filter_by.return_value.first.\
         return_value.serialize.return_value = {
             "deploymentManagerId": deployment_manager_id1,
-            "deploymentManagementServiceEndpoint": dms_endpoint,
+            "serviceUri": dms_endpoint,
             "profile": {}
         }
 
+    CONF.API.DMS_SUPPORT_PROFILES = 'native_k8sapi,sol018,sol018_helmcli'
+    cluster_endpoint = "https://test_k8s:6443"
+    session.return_value.query.return_value.filter_by.return_value.first.\
+        return_value.serialize.return_value['profile'] = {
+            "cluster_api_endpoint": cluster_endpoint
+        }
+
     # profile default
     deployment_manager_res = ocloud_view.deployment_manager_one(
         deployment_manager_id1, uow)
     assert str(deployment_manager_res.get(
         "deploymentManagerId")) == deployment_manager_id1
     assert str(deployment_manager_res.get(
-        'deploymentManagementServiceEndpoint')) == dms_endpoint
+        'serviceUri')) == cluster_endpoint
     assert deployment_manager_res.get('profile') is None
 
     # profile sol018
     profileName = ocloud.DeploymentManagerProfileSOL018
-    cluster_endpoint = "https://test_k8s:6443"
     session.return_value.query.return_value.filter_by.return_value.first.\
         return_value.serialize.return_value['profile'] = {
             "cluster_api_endpoint": cluster_endpoint
@@ -315,19 +323,15 @@ def test_view_deployment_manager_one(mock_uow):
     deployment_manager_res = ocloud_view.deployment_manager_one(
         deployment_manager_id1, uow, profile=profileName)
     assert str(deployment_manager_res.get(
-        'deploymentManagementServiceEndpoint')) == cluster_endpoint
-    assert str(deployment_manager_res.get(
+        'serviceUri')) == cluster_endpoint
+    assert str(deployment_manager_res.get("extensions").get(
         "profileName")) == profileName
 
     # profile wrong name
     profileName = 'wrong_profile'
-    session.return_value.query.return_value.filter_by.return_value.first.\
-        return_value.serialize.return_value['profile'] = {
-            "cluster_api_endpoint": cluster_endpoint
-        }
     deployment_manager_res = ocloud_view.deployment_manager_one(
         deployment_manager_id1, uow, profile=profileName)
-    assert deployment_manager_res is None
+    assert deployment_manager_res == ""
 
 
 def test_view_subscriptions(mock_uow):
@@ -342,7 +346,7 @@ def test_view_subscriptions(mock_uow):
     order_by = MagicMock()
     order_by.count.return_value = 1
     order_by.limit.return_value.offset.return_value = [sub1]
-    session.return_value.query.return_value.filter_by.return_value.\
+    session.return_value.query.return_value.filter.return_value.\
         order_by.return_value = order_by
 
     result = ocloud_view.subscriptions(uow)
@@ -379,9 +383,11 @@ def test_flask_get_list(mock_flask_uow):
     order_by = MagicMock()
     order_by.count.return_value = 0
     order_by.limit.return_value.offset.return_value = []
-    session.return_value.query.return_value.filter_by.return_value.\
+    session.return_value.query.return_value.filter.return_value.\
         order_by.return_value = order_by
-    apibase = config.get_o2ims_api_base()
+    apibase = config.get_o2ims_api_base() + '/v1'
+    # TODO: workaround for sqlalchemy not mapping with resource object
+    setattr(ocloud.Resource, 'resourcePoolId', '')
 
     with app.test_client() as client:
         # Get list and return empty list
@@ -409,7 +415,7 @@ def test_flask_get_one(mock_flask_uow):
 
     session.return_value.query.return_value.filter_by.return_value.\
         first.return_value = None
-    apibase = config.get_o2ims_api_base()
+    apibase = config.get_o2ims_api_base() + '/v1'
 
     with app.test_client() as client:
         # Get one and return 404
@@ -442,7 +448,7 @@ def test_flask_get_one(mock_flask_uow):
 
 def test_flask_post(mock_flask_uow):
     session, app = mock_flask_uow
-    apibase = config.get_o2ims_api_base()
+    apibase = config.get_o2ims_api_base() + '/v1'
 
     with app.test_client() as client:
         session.return_value.execute.return_value = []
@@ -451,7 +457,7 @@ def test_flask_post(mock_flask_uow):
         resp = client.post(apibase+'/subscriptions', json={
             'callback': sub_callback,
             'consumerSubscriptionId': 'consumerSubId1',
-            'filter': 'empty'
+            'filter': ''
         })
         assert resp.status_code == 201
         assert 'subscriptionId' in resp.get_json()
@@ -459,19 +465,19 @@ def test_flask_post(mock_flask_uow):
 
 def test_flask_delete(mock_flask_uow):
     session, app = mock_flask_uow
-    apibase = config.get_o2ims_api_base()
+    apibase = config.get_o2ims_api_base() + '/v1'
 
     with app.test_client() as client:
         session.return_value.execute.return_value.first.return_value = {}
 
         subscription_id1 = str(uuid.uuid4())
         resp = client.delete(apibase+"/subscriptions/"+subscription_id1)
-        assert resp.status_code == 204
+        assert resp.status_code == 200
 
 
 def test_flask_not_allowed(mock_flask_uow):
     _, app = mock_flask_uow
-    apibase = config.get_o2ims_api_base()
+    apibase = config.get_o2ims_api_base() + '/v1'
 
     with app.test_client() as client:
         # Testing resource type not support method