From 954d5cc57656f37e0cb27c3ab339789d08a142e4 Mon Sep 17 00:00:00 2001
From: Robert Latta <robert.latta@geant.org>
Date: Fri, 24 Apr 2020 08:06:24 +0000
Subject: [PATCH] moved tests

---
 test/test_ims.py      | 85 ++-----------------------------------------
 test/test_ims_data.py | 85 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 88 insertions(+), 82 deletions(-)
 create mode 100644 test/test_ims_data.py

diff --git a/test/test_ims.py b/test/test_ims.py
index c9501dfe..0434f50d 100644
--- a/test/test_ims.py
+++ b/test/test_ims.py
@@ -1,8 +1,9 @@
-import json
+import os
+import re
 
 import inventory_provider
 from inventory_provider.db.ims import InventoryStatus
-from inventory_provider.db.ims_data import lookup_lg_routers, lookup_pop_info
+from inventory_provider.tasks.ims_worker import export_data_for_otrs
 
 
 class MockResponse:
@@ -149,83 +150,3 @@ def test_ims_class_cache(mocker):
     ds.get_entity_by_id(
         'Node', 4567, navigation_properties=[1, 2, 3, 4, 5], use_cache=True)
     assert mock_get.call_count == 4
-
-
-def test_lookup_lg_routers(mocker):
-
-    ims = mocker.patch('inventory_provider.db.ims.IMS')
-    with open('test/data/ims_lg_data.json') as data:
-        ims.return_value.get_filtered_entities.return_value = json.load(data)
-    ims.return_value.get_entity_by_id.return_value = {
-        'Name': 'pop name',
-        'Longitude': 'long',
-        'Latitude': 'lat',
-        'City': {
-            'Name': 'city name',
-            'Country': {
-                'Name': 'country name',
-                'Abbreviation': 'country code'
-            }
-        },
-        'SiteAliases': [
-            {
-                'AliasName': 'abbr'
-            }
-        ]
-    }
-
-    ds = inventory_provider.db.ims.IMS(
-        'dummy_base', 'dmmy_username', 'dummy_password')
-
-    res = list(lookup_lg_routers(ds))
-
-    ds.get_filtered_entities.assert_called_once_with(
-        'EquipmentDefinition',
-        'Name like mx',
-        inventory_provider.db.ims.EQUIP_DEF_PROPERTIES['Nodes'])
-
-    assert ds.get_entity_by_id.call_count == 35
-    assert len(res) == 35
-
-    pop = {
-        'name': 'pop name',
-        'city': 'city name',
-        'country': 'country name',
-        'country code': 'country code',
-        'abbreviation': 'abbr',
-        'longitude': 'long',
-        'latitude': 'lat'
-    }
-    assert res[0] == {
-        'equipment name': 'MX3.LAB.OFFICE.GEANT.NET',
-        'type': 'CORE',
-        'pop': pop
-    }
-
-
-def test_lookup_pop_info(mocker):
-
-    ims = mocker.patch('inventory_provider.db.ims.IMS')
-    with open('test/data/ims_pop_info_mx1_pra_cz.json') as data:
-        resp_data = json.load(data)
-    ims.return_value.get_entity_by_name.return_value = resp_data['router']
-    ims.return_value.get_entity_by_id.return_value = resp_data['site']
-
-    ds = inventory_provider.db.ims.IMS(
-        'dummy_base', 'dmmy_username', 'dummy_password')
-    res = lookup_pop_info(ds, 'dummy_host')
-    ds.get_entity_by_name.assert_called_once_with('Node', 'dummy_host')
-    ds.get_entity_by_id.assert_called_once_with(
-        'Site', 445312, [2, 64, 256], True)
-    assert res == {
-        'equipment-name': 'MX1.PRA.CZ',
-        'status': InventoryStatus.IN_SERVICE.name,
-        'pop': {
-            'name': 'PRAGUE',
-            'city': 'PRAGUE',
-            'country': 'CZECH REPUBLIC',
-            'abbreviation': 'PRA',
-            'longitude': 14.39166667,
-            'latitude': 50.10166667,
-        }
-    }
diff --git a/test/test_ims_data.py b/test/test_ims_data.py
new file mode 100644
index 00000000..1a5608ea
--- /dev/null
+++ b/test/test_ims_data.py
@@ -0,0 +1,85 @@
+import json
+
+import inventory_provider
+from inventory_provider.db.ims import InventoryStatus
+from inventory_provider.db.ims_data import lookup_pop_info, lookup_lg_routers
+
+
+def test_lookup_lg_routers(mocker):
+
+    ims = mocker.patch('inventory_provider.db.ims.IMS')
+    with open('test/data/ims_lg_data.json') as data:
+        ims.return_value.get_filtered_entities.return_value = json.load(data)
+    ims.return_value.get_entity_by_id.return_value = {
+        'Name': 'pop name',
+        'Longitude': 'long',
+        'Latitude': 'lat',
+        'City': {
+            'Name': 'city name',
+            'Country': {
+                'Name': 'country name',
+                'Abbreviation': 'country code'
+            }
+        },
+        'SiteAliases': [
+            {
+                'AliasName': 'abbr'
+            }
+        ]
+    }
+
+    ds = inventory_provider.db.ims.IMS(
+        'dummy_base', 'dmmy_username', 'dummy_password')
+
+    res = list(lookup_lg_routers(ds))
+
+    ds.get_filtered_entities.assert_called_once_with(
+        'EquipmentDefinition',
+        'Name like mx',
+        inventory_provider.db.ims.EQUIP_DEF_PROPERTIES['Nodes'])
+
+    assert ds.get_entity_by_id.call_count == 35
+    assert len(res) == 35
+
+    pop = {
+        'name': 'pop name',
+        'city': 'city name',
+        'country': 'country name',
+        'country code': 'country code',
+        'abbreviation': 'abbr',
+        'longitude': 'long',
+        'latitude': 'lat'
+    }
+    assert res[0] == {
+        'equipment name': 'MX3.LAB.OFFICE.GEANT.NET',
+        'type': 'CORE',
+        'pop': pop
+    }
+
+
+def test_lookup_pop_info(mocker):
+
+    ims = mocker.patch('inventory_provider.db.ims.IMS')
+    with open('test/data/ims_pop_info_mx1_pra_cz.json') as data:
+        resp_data = json.load(data)
+    ims.return_value.get_entity_by_name.return_value = resp_data['router']
+    ims.return_value.get_entity_by_id.return_value = resp_data['site']
+
+    ds = inventory_provider.db.ims.IMS(
+        'dummy_base', 'dmmy_username', 'dummy_password')
+    res = lookup_pop_info(ds, 'dummy_host')
+    ds.get_entity_by_name.assert_called_once_with('Node', 'dummy_host')
+    ds.get_entity_by_id.assert_called_once_with(
+        'Site', 445312, [2, 64, 256], True)
+    assert res == {
+        'equipment-name': 'MX1.PRA.CZ',
+        'status': InventoryStatus.IN_SERVICE.name,
+        'pop': {
+            'name': 'PRAGUE',
+            'city': 'PRAGUE',
+            'country': 'CZECH REPUBLIC',
+            'abbreviation': 'PRA',
+            'longitude': 14.39166667,
+            'latitude': 50.10166667,
+        }
+    }
\ No newline at end of file
-- 
GitLab