Skip to content
Snippets Groups Projects
Commit 7f385406 authored by Neda Moeini's avatar Neda Moeini
Browse files

Added unit tests for gap.py

parent 0e8c3232
No related branches found
No related tags found
1 merge request!37Feature/dboard3 921
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'}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment