Skip to content
Snippets Groups Projects

Feature/dboard3 921

Merged Neda Moeini requested to merge feature/DBOARD3-921 into develop
All threads resolved!
1 file
+ 81
0
Compare changes
  • Side-by-side
  • Inline
test/test_gap.py 0 → 100644
+ 81
0
from unittest.mock import patch, MagicMock
from inventory_provider import gap
def test_get_token_endpoint():
with patch('inventory_provider.gap.requests.get') as mock_get:
mock_response = MagicMock()
mock_response.json.return_value = {'token_endpoint': 'http://example.com/token'}
mock_response.raise_for_status = MagicMock()
mock_get.return_value = mock_response
discovery_endpoint_url = 'http://example.com/aai'
token_endpoint = gap.get_token_endpoint(discovery_endpoint_url)
assert token_endpoint == 'http://example.com/token'
def test_get_token():
with patch('inventory_provider.gap.requests.post') as mock_post, patch(
'inventory_provider.gap.get_token_endpoint') as mock_get_token_endpoint:
mock_get_token_endpoint.return_value = 'http://example.com/token'
mock_response = MagicMock()
mock_response.json.return_value = {'access_token': 'test_token'}
mock_response.raise_for_status = MagicMock()
mock_post.return_value = mock_response
aai_config = {
'discovery_endpoint_url': 'http://example.com/aai',
'inventory_provider': {'client_id': 'test_id', 'secret': 'test_secret'}
}
token = gap.get_token(aai_config)
assert token == 'test_token'
def test_extract_router_info():
device = {
'product': {'tag': 'RTR'},
'subscriptionId': 'test_subscription_id'
}
with patch('inventory_provider.gap.make_request') as mock_make_request:
mock_response = {
'data': {
'subscriptions': {
'page': [{
'productBlockInstances': [{
'productBlockInstanceValues': [
{'field': 'routerFqdn', 'value': 'test_fqdn'},
{'field': 'vendor', 'value': 'test_vendor'}
]
}]
}]
}
}
}
mock_make_request.return_value = mock_response
router_info = gap.extract_router_info(device)
assert router_info == {'fqdn': 'test_fqdn', 'vendor': 'test_vendor'}
def test_load_routers_from_orchestrator():
with patch('inventory_provider.gap.make_request') as mock_make_request, patch(
'inventory_provider.gap.extract_router_info') as mock_extract_router_info:
mock_response = {
'data': {
'subscriptions': {
'page': [
{'subscriptionId': '1', 'product': {'tag': 'RTR'}},
{'subscriptionId': '2', 'product': {'tag': 'OFFICE_ROUTER'}}
]
}
}
}
mock_make_request.return_value = mock_response
mock_extract_router_info.side_effect = [
{'fqdn': 'fqdn1', 'vendor': 'vendor1'},
{'fqdn': 'fqdn2', 'vendor': 'vendor2'}
]
routers = gap.load_routers_from_orchestrator()
assert routers == {'fqdn1': 'vendor1', 'fqdn2': 'vendor2'}
Loading