import json from inventory_provider.tasks import worker DEFAULT_REQUEST_HEADERS = { "Content-type": "application/json", "Accept": ["application/json"] } def test_get_one_equipment_location(mocker, client): mocked_redis = mocker.patch( "inventory_provider.routes.common.get_redis") mocked_hget = mocked_redis.return_value.hget dummy_data = { "absid": 1404, "equipment_name": "pp-cz-e13b", "pop_name": "Prague", "pop_abbreviation": "pra", "pop_site_id": "", "country": "Czech Republic", "longitude": 14.391738888889, "latitude": 50.101847222222 } mocked_hget.return_value = json.dumps(dummy_data) rv = client.get( '/opsdb/equipment-location/dummy-equipment', headers=DEFAULT_REQUEST_HEADERS) assert rv.status_code == 200 assert rv.is_json assert dummy_data == json.loads(rv.data.decode("utf-8")) mocked_hget.assert_called_with( worker.equipment_locations_key, "dummy-equipment" ) def test_get_equipment_location(mocker, client): mocked_redis = mocker.patch( "inventory_provider.routes.common.get_redis") mocked_hgetall = mocked_redis.return_value.hgetall rv = client.get( '/opsdb/equipment-location', headers=DEFAULT_REQUEST_HEADERS) assert rv.status_code == 200 assert rv.is_json mocked_hgetall.assert_called_with( worker.equipment_locations_key ) def test_get_interface_info(mocker, client): mocked_redis = mocker.patch( "inventory_provider.routes.common.get_redis") mocked_hgetall = mocked_redis.return_value.hgetall rv = client.get( '/opsdb/interfaces', headers=DEFAULT_REQUEST_HEADERS) assert rv.status_code == 200 assert rv.is_json mocked_hgetall.assert_called_with( worker.interfaces_key ) def test_get_interface_info_for_equipment(mocker, client): mocked_redis = mocker.patch( "inventory_provider.routes.common.get_redis") mocked_hscan_iter = mocked_redis.return_value.hscan_iter rv = client.get( '/opsdb/interfaces/dummy-equipment', headers=DEFAULT_REQUEST_HEADERS) assert rv.status_code == 200 assert rv.is_json mocked_hscan_iter.assert_called_with( worker.interfaces_key, "dummy-equipment::*" ) def test_get_interface_info_for_equipment_and_interface(mocker, client): mocked_redis = mocker.patch( "inventory_provider.routes.common.get_redis") mocked_hget = mocked_redis.return_value.hget rv = client.get( '/opsdb/interfaces/dummy-equipment/xe-2/3/1', headers=DEFAULT_REQUEST_HEADERS) assert rv.status_code == 200 assert rv.is_json mocked_hget.assert_called_with( worker.interfaces_key, "dummy-equipment::xe-2/3/1" ) def test_get_children(mocker, client): mocked_redis = mocker.patch( "inventory_provider.routes.common.get_redis") mocked_hget = mocked_redis.return_value.hget rv = client.get( '/opsdb/circuit-hierarchy/children/22987', headers=DEFAULT_REQUEST_HEADERS) assert rv.status_code == 200 assert rv.is_json mocked_hget.assert_called_with( worker.service_parent_to_children_key, "22987" ) def test_get_parents(mocker, client): mocked_redis = mocker.patch( "inventory_provider.routes.common.get_redis") mocked_hget = mocked_redis.return_value.hget rv = client.get( '/opsdb/circuit-hierarchy/children/22987', headers=DEFAULT_REQUEST_HEADERS) assert rv.status_code == 200 assert rv.is_json mocked_hget.assert_called_with( worker.service_parent_to_children_key, "22987" )