+ def test_18_check_tapi_topology_T100G(self):
+ url = "{}/operations/tapi-topology:get-topology-details"
+ data = {
+ "tapi-topology:input": {
+ "tapi-topology:topology-id-or-name": "Transponder 100GE"
+ }
+ }
+ response = test_utils.post_request(url, data)
+ self.assertEqual(response.status_code, requests.codes.ok, test_utils.CODE_SHOULD_BE_200)
+ res = response.json()
+ self.assertEqual(2, len(res["output"]["topology"]["node"][0]["owned-node-edge-point"]),
+ 'Node should contain 2 owned-node-edge-points')
+ self.assertEqual("XPDR1-CLIENT1",
+ res["output"]["topology"]["node"][0]["owned-node-edge-point"][0]["name"][0]["value"],
+ 'name of owned-node-edge-points should be XPDR1-CLIENT1')
+ self.assertEqual("XPDR1-CLIENT1",
+ res["output"]["topology"]["node"][0]["owned-node-edge-point"][1]["name"][0]["value"],
+ 'name of owned-node-edge-points should be XPDR1-CLIENT1')
+
+ def test_19_check_tapi_topology_T0(self):
+ url = "{}/operations/tapi-topology:get-topology-details"
+ data = {
+ "tapi-topology:input": {
+ "tapi-topology:topology-id-or-name": "T0 - Multi-layer topology"
+ }
+ }
+ response = test_utils.post_request(url, data)
+ self.assertEqual(response.status_code, requests.codes.ok, test_utils.CODE_SHOULD_BE_200)
+ res = response.json()
+ nodes = res["output"]["topology"]["node"]
+ links = res["output"]["topology"]["link"]
+ self.assertEqual(5, len(nodes), 'Topology should contain 5 nodes')
+ self.assertEqual(4, len(links), 'Topology should contain 4 links')
+ self.assertEqual(3, count_object_with_double_key(nodes, "name", "value-name", "otsi node name"),
+ 'Topology should contain 3 otsi nodes')
+ self.assertEqual(2, count_object_with_double_key(nodes, "name", "value-name", "dsr/odu node name"),
+ 'Topology should contain 2 dsr nodes')
+ self.assertEqual(2, count_object_with_double_key(links, "name", "value-name", "transitional link name"),
+ 'Topology should contain 2 transitional links')
+ self.assertEqual(2, count_object_with_double_key(links, "name", "value-name", "OMS link name"),
+ 'Topology should contain 2 oms links')
+
+ def test_20_connect_spdr_sa1(self):
+ response = test_utils.mount_device("SPDR-SA1", 'spdra')
+ self.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201)
+ time.sleep(10)
+ # TODO replace connect and disconnect timers with test_utils.wait_until_log_contains
+
+ def test_21_connect_spdr_sc1(self):
+ response = test_utils.mount_device("SPDR-SC1", 'spdrc')
+ self.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201)
+ time.sleep(10)
+ # TODO replace connect and disconnect timers with test_utils.wait_until_log_contains
+
+ def test_22_check_tapi_topology_T100G(self):
+ self.test_18_check_tapi_topology_T100G()
+
+ def test_23_check_tapi_topology_T0(self):
+ self.test_19_check_tapi_topology_T0()
+
+ def test_24_connect_sprda_n1_to_roadma_pp2(self):
+ response = test_utils.connect_xpdr_to_rdm_request("SPDR-SA1", "1", "1",