diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/common/dss_interoperability.py b/monitoring/uss_qualifier/scenarios/astm/netrid/common/dss_interoperability.py
index b9f2b629d0..d756506a2a 100644
--- a/monitoring/uss_qualifier/scenarios/astm/netrid/common/dss_interoperability.py
+++ b/monitoring/uss_qualifier/scenarios/astm/netrid/common/dss_interoperability.py
@@ -1,8 +1,8 @@
+import datetime
import ipaddress
import socket
import uuid
from dataclasses import dataclass
-import datetime
from enum import Enum
from typing import List, Dict, Optional
from urllib.parse import urlparse
@@ -429,6 +429,7 @@ def step5(self):
subscription notification requests"""
isa_1 = self._context["isa_1"]
+ sub_1_0 = self._context["sub_1_0"]
with self.check(
"Can get ISA from primary DSS", [self._dss_primary.participant_id]
@@ -439,16 +440,51 @@ def step5(self):
with self.check(
"Can modify ISA in primary DSS", [self._dss_primary.participant_id]
) as check:
- mutated_isa = self._dss_primary.put_isa(
+ mutated_isa_primary = self._dss_primary.put_isa(
check,
isa_id=isa_1.uuid,
isa_version=isa_1.version,
+ do_not_notify="https://testdummy.interuss.org",
**_default_params(datetime.timedelta(seconds=SHORT_WAIT_SEC)),
)
- isa_1.version = mutated_isa.dss_query.isa.version
+ isa_1.version = mutated_isa_primary.dss_query.isa.version
+
+ subs_to_notify_primary = []
+ for subscriber in mutated_isa_primary.subscribers:
+ for s in subscriber.raw.subscriptions:
+ subs_to_notify_primary.append(s.subscription_id)
# TODO: Implement "ISA modification triggers subscription notification requests check"
+ for sec_dss in self._dss_others:
+ with self.check(
+ "Can modify ISA on secondary DSS",
+ [sec_dss.participant_id],
+ ) as check:
+ mutated_isa_sec = self._dss_primary.put_isa(
+ check,
+ isa_id=isa_1.uuid,
+ isa_version=isa_1.version,
+ do_not_notify="https://testdummy.interuss.org",
+ **_default_params(datetime.timedelta(seconds=SHORT_WAIT_SEC)),
+ )
+ isa_1.version = mutated_isa_sec.dss_query.isa.version
+
+ subs_to_notify_sec = []
+ for subscriber in mutated_isa_primary.subscribers:
+ for s in subscriber.raw.subscriptions:
+ subs_to_notify_sec.append(s.subscription_id)
+
+ with self.check(
+ "ISA modification on secondary DSS triggers subscription notification requests",
+ [self._dss_primary.participant_id],
+ ) as check:
+ if sub_1_0.uuid not in subs_to_notify_sec:
+ check.record_failed(
+ summary=f"Subscription {sub_1_0.uuid} was not notified of ISA modification",
+ details=f"Subscription {sub_1_0.uuid} was created on the primary DSS and should have been notified of the ISA modification that happened on the primary DSS, but was not.",
+ )
+
def step6(self):
"""Can delete all Subscription in primary DSS"""
diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss_interoperability.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss_interoperability.md
index 0be76b5bc2..96b1f2de3c 100644
--- a/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss_interoperability.md
+++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v19/dss_interoperability.md
@@ -166,6 +166,14 @@ TODO: Implement
**[astm.f3411.v19.DSS0130,A2-6-1,3c](../../../../requirements/astm/f3411/v19.md)**
+#### 🛑 Can modify ISA on secondary DSS check
+
+**[astm.f3411.v19.DSS0130,A2-6-1,1b](../../../../requirements/astm/f3411/v19.md)**
+
+#### ⚠️ ISA modification on secondary DSS triggers subscription notification requests check
+
+**[astm.f3411.v19.DSS0130,A2-6-1,3c](../../../../requirements/astm/f3411/v19.md)** and **[astm.f3411.v19.DSS0130,2,e](../../../../requirements/astm/f3411/v19.md)**
+
### S6 test step
Action: USS2@DSS*P*: DELETE Subscription[*n*]
diff --git a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss_interoperability.md b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss_interoperability.md
index caa30a9b9c..b27f9c5867 100644
--- a/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss_interoperability.md
+++ b/monitoring/uss_qualifier/scenarios/astm/netrid/v22a/dss_interoperability.md
@@ -165,6 +165,14 @@ TODO: Implement
**[astm.f3411.v22a.DSS0130,A2-6-1,3c](../../../../requirements/astm/f3411/v22a.md)**
+#### 🛑 Can modify ISA on secondary DSS check
+
+**[astm.f3411.v22a.DSS0130,A2-6-1,1b](../../../../requirements/astm/f3411/v22a.md)**
+
+#### ⚠️ ISA modification on secondary DSS triggers subscription notification requests check
+
+**[astm.f3411.v22a.DSS0130,A2-6-1,3c](../../../../requirements/astm/f3411/v22a.md)** and **[astm.f3411.v22a.DSS0130,2,e](../../../../requirements/astm/f3411/v22a.md)**
+
### S6 test step
Action: USS2@DSS*P*: DELETE Subscription[*n*]
diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md
index 89bab93543..d29423b5f7 100644
--- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md
+++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md
@@ -21,7 +21,7 @@
Checked in |
- astm .f3411 .v19 |
+ astm .f3411 .v19 |
DSS0010 |
Implemented |
ASTM NetRID DSS: Token Validation |
@@ -101,6 +101,11 @@
Implemented |
ASTM F3411-19 NetRID DSS interoperability |
+
+ DSS0130,2,e |
+ Implemented |
+ ASTM F3411-19 NetRID DSS interoperability |
+
DSS0130,2,f |
Implemented |
@@ -173,7 +178,7 @@
DSS0130,A2-6-1,3c |
- Implemented + TODO |
+ Implemented |
ASTM F3411-19 NetRID DSS interoperability |
diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.md
index 4353e6d3d2..f0692c1063 100644
--- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.md
+++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_19/dss_probing.md
@@ -25,7 +25,7 @@
Checked in |
- astm .f3411 .v19 |
+ astm .f3411 .v19 |
DSS0010 |
Implemented |
ASTM NetRID DSS: Token Validation |
@@ -105,6 +105,11 @@
Implemented |
ASTM F3411-19 NetRID DSS interoperability |
+
+ DSS0130,2,e |
+ Implemented |
+ ASTM F3411-19 NetRID DSS interoperability |
+
DSS0130,2,f |
Implemented |
@@ -177,7 +182,7 @@
DSS0130,A2-6-1,3c |
- Implemented + TODO |
+ Implemented |
ASTM F3411-19 NetRID DSS interoperability |
diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md
index 3066d6a267..08b3ab8b1b 100644
--- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md
+++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md
@@ -21,7 +21,7 @@
Checked in |
- astm .f3411 .v22a |
+ astm .f3411 .v22a |
DSS0010 |
Implemented |
ASTM NetRID DSS: Token Validation |
@@ -106,6 +106,11 @@
Implemented |
ASTM F3411-22a NetRID DSS interoperability |
+
+ DSS0130,2,e |
+ Implemented |
+ ASTM F3411-22a NetRID DSS interoperability |
+
DSS0130,2,f |
Implemented |
@@ -178,7 +183,7 @@
DSS0130,A2-6-1,3c |
- Implemented + TODO |
+ Implemented |
ASTM F3411-22a NetRID DSS interoperability |
diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.md b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.md
index 1d46cfe2f4..7d2006c61d 100644
--- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.md
+++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a/dss_probing.md
@@ -25,7 +25,7 @@
Checked in |
- astm .f3411 .v22a |
+ astm .f3411 .v22a |
DSS0010 |
Implemented |
ASTM NetRID DSS: Token Validation |
@@ -110,6 +110,11 @@
Implemented |
ASTM F3411-22a NetRID DSS interoperability |
+
+ DSS0130,2,e |
+ Implemented |
+ ASTM F3411-22a NetRID DSS interoperability |
+
DSS0130,2,f |
Implemented |
@@ -182,7 +187,7 @@
DSS0130,A2-6-1,3c |
- Implemented + TODO |
+ Implemented |
ASTM F3411-22a NetRID DSS interoperability |
diff --git a/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md b/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md
index 3f8915e3d1..8fa5f4b6cf 100644
--- a/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md
+++ b/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md
@@ -21,7 +21,7 @@
Checked in |
- astm .f3411 .v19 |
+ astm .f3411 .v19 |
DSS0010 |
Implemented |
ASTM NetRID DSS: Token Validation |
@@ -101,6 +101,11 @@
Implemented |
ASTM F3411-19 NetRID DSS interoperability |
+
+ DSS0130,2,e |
+ Implemented |
+ ASTM F3411-19 NetRID DSS interoperability |
+
DSS0130,2,f |
Implemented |
@@ -173,7 +178,7 @@
DSS0130,A2-6-1,3c |
- Implemented + TODO |
+ Implemented |
ASTM F3411-19 NetRID DSS interoperability |
@@ -212,7 +217,7 @@
ASTM NetRID DSS: Concurrent Requests ASTM NetRID DSS: ISA Expiry ASTM NetRID DSS: ISA Subscription Interactions ASTM NetRID DSS: Simple ISA ASTM NetRID DSS: Submitted ISA Validations ASTM NetRID DSS: Subscription Simple ASTM NetRID DSS: Subscription Validation ASTM NetRID DSS: Token Validation |
- astm .f3411 .v22a |
+ astm .f3411 .v22a |
DSS0010 |
Implemented |
ASTM NetRID DSS: Token Validation |
@@ -297,6 +302,11 @@
Implemented |
ASTM F3411-22a NetRID DSS interoperability |
+
+ DSS0130,2,e |
+ Implemented |
+ ASTM F3411-22a NetRID DSS interoperability |
+
DSS0130,2,f |
Implemented |
@@ -369,7 +379,7 @@
DSS0130,A2-6-1,3c |
- Implemented + TODO |
+ Implemented |
ASTM F3411-22a NetRID DSS interoperability |
diff --git a/monitoring/uss_qualifier/suites/uspace/network_identification.md b/monitoring/uss_qualifier/suites/uspace/network_identification.md
index 6d17e3c0e2..ab7b46f31c 100644
--- a/monitoring/uss_qualifier/suites/uspace/network_identification.md
+++ b/monitoring/uss_qualifier/suites/uspace/network_identification.md
@@ -17,7 +17,7 @@
Checked in |
- astm .f3411 .v22a |
+ astm .f3411 .v22a |
DSS0010 |
Implemented |
ASTM NetRID DSS: Token Validation |
@@ -102,6 +102,11 @@
Implemented |
ASTM F3411-22a NetRID DSS interoperability |
+
+ DSS0130,2,e |
+ Implemented |
+ ASTM F3411-22a NetRID DSS interoperability |
+
DSS0130,2,f |
Implemented |
@@ -174,7 +179,7 @@
DSS0130,A2-6-1,3c |
- Implemented + TODO |
+ Implemented |
ASTM F3411-22a NetRID DSS interoperability |
diff --git a/monitoring/uss_qualifier/suites/uspace/required_services.md b/monitoring/uss_qualifier/suites/uspace/required_services.md
index 4e201b2411..6fba2ae6a2 100644
--- a/monitoring/uss_qualifier/suites/uspace/required_services.md
+++ b/monitoring/uss_qualifier/suites/uspace/required_services.md
@@ -18,7 +18,7 @@
Checked in |
- astm .f3411 .v22a |
+ astm .f3411 .v22a |
DSS0010 |
Implemented |
ASTM NetRID DSS: Token Validation |
@@ -103,6 +103,11 @@
Implemented |
ASTM F3411-22a NetRID DSS interoperability |
+
+ DSS0130,2,e |
+ Implemented |
+ ASTM F3411-22a NetRID DSS interoperability |
+
DSS0130,2,f |
Implemented |
@@ -175,7 +180,7 @@
DSS0130,A2-6-1,3c |
- Implemented + TODO |
+ Implemented |
ASTM F3411-22a NetRID DSS interoperability |