Commit 4ee718b0 authored by Konstantinos Togias's avatar Konstantinos Togias
Browse files

test: cover location backend failures at the public query boundary

parent 1dc7b758
Loading
Loading
Loading
Loading
+16 −0
Changes for tests/contract/test_network_location.py: 16 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ import requests
from openop_tfsdk.contract.adapters import build_adapter
from openop_tfsdk.contract.adapters.network import _area_sqm
from openop_tfsdk.contract.errors import (
    DomainExecutionFailed,
    MaxAgeUnsatisfiable,
    MaxSurfaceUnsatisfiable,
    SubscriberNotFound,
@@ -125,6 +126,21 @@ def test_unknown_subscriber_is_one_error_for_ip_and_nai(nef, device, lookup):
        _locate(**device)


def test_ue_id_http_500_is_a_backend_fault(nef):
    nef["ueid"] = (500, {"title": "Internal Server Error"})
    with pytest.raises(DomainExecutionFailed):
        _locate(ipv4=IPv4Address("12.1.0.1"))


def test_location_connection_failure_is_a_backend_fault(nef, monkeypatch):
    def fail_request(*args, **kwargs):
        raise requests.ConnectionError("connection refused")

    monkeypatch.setattr("openop_tfsdk.network.core.common.requests.request", fail_request)
    with pytest.raises(DomainExecutionFailed):
        _locate(network_access_id="ue1@oop.example")


def test_phone_number_is_an_unsupported_identifier_for_oai(nef):
    with pytest.raises(UnsupportedIdentifier):
        _locate(phone_number="+306900000000")