Skip to content
Snippets Groups Projects
Commit 954d5cc5 authored by Robert Latta's avatar Robert Latta
Browse files

moved tests

parent cff5b3b4
No related branches found
Tags 0.40
No related merge requests found
import json import os
import re
import inventory_provider import inventory_provider
from inventory_provider.db.ims import InventoryStatus 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: class MockResponse:
...@@ -149,83 +150,3 @@ def test_ims_class_cache(mocker): ...@@ -149,83 +150,3 @@ def test_ims_class_cache(mocker):
ds.get_entity_by_id( ds.get_entity_by_id(
'Node', 4567, navigation_properties=[1, 2, 3, 4, 5], use_cache=True) 'Node', 4567, navigation_properties=[1, 2, 3, 4, 5], use_cache=True)
assert mock_get.call_count == 4 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,
}
}
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment