fix(distops): D018_01 loop detection on a redirect registration, where 508 is the answer

Loop detection on a redirect registration.

Spec: TS 104-176 clause 6.3.5: "In the case of an exclusive or redirect registration, where all of the data is held outside of the Context Broker and held in a single registered source", the answer is "508 Loop Detected - if the single registered source and tenant is registered to redirect back on to the Context Broker". For an inclusive registration the data is also held locally, so 508 does not follow.

Change: D018_01 registers its loop as redirect (was inclusive). Redirect, because the fixture carries entities only, and an exclusive registration needs attribute names.

Effect (against coraine): D018_01 fails on develop and passes with this MR. The rest of LoopDetection passes on both.

Checks run: robocop format --check (0 files), scripts/find_unused_test_data.py (nothing new), statisticsDocumentationData.py (0 of 625 failed), doc unit tests OK.

Fix MR 14 of the plan: https://famzang.com/ttf/ngsi-ld-suite-plan.html

Edited by Ken Zangelin

Merge request reports

Loading
+2 −2
Changes for TP/NGSI-LD/DistributedOperations/LoopDetection/D018_01.robot: 2 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@ D018_01 Loop Detection With Via Header
    [Documentation]    Verify that a loop is detected when the Via header contains the broker's identifier.
    [Tags]    since_v1.8.1    dist-ops    core_4_3_3    cf_04    core_10_2_8    http_6_4_11

    # The inclusive registration forwards the create to the mock; that forward
    # The redirect registration forwards the create to the mock; that forward
    # must be answered so the operation returns 201 (cf. sibling D018_02, which
    # stubs the same reply). Without it a broker that surfaces the unanswered
    # forward as a partial success returns 207 and the test fails at setup.
@@ -52,7 +52,7 @@ Create Entity And Registration On The Context Broker And Start Context Source Mo
    ...    ${registration_id}
    ...    ${registration_payload_file_path}
    ...    entity_id=${entity_id}
    ...    mode=inclusive
    ...    mode=redirect
    ${response}=    Create Context Source Registration With Return    ${registration_payload}
    Check Response Status Code    201    ${response.status_code}

Loading