Port-mapping functional tests for B100G muxponder 79/95979/28
authorBalagangadhar Bathula <bb4341@att.com>
Mon, 3 May 2021 15:03:56 +0000 (11:03 -0400)
committerguillaume.lambert <guillaume.lambert@orange.com>
Thu, 24 Jun 2021 14:47:26 +0000 (16:47 +0200)
- Update the Honeynode 7.1 operational data to support muxponder client
  and network.
- Add port-mapping functional tests to verify the port-mapping data for
  switch-client, switch-network.

JIRA: TRNSPRTPCE-449
Change-Id: I6cd668befee96301ac48fbb8689ee536fac424be
Signed-off-by: Balagangadhar Bathula <bb4341@att.com>
tests/sample_configs/openroadm/7.1/oper-XPDRA2.xml
tests/transportpce_tests/7.1/test_portmapping.py

index b7355eec13b7704b4eda2d5998fb8362cc318a36..59132c4e9add81f9597c8921e1590fb8a4b5f6d4 100644 (file)
@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
   <netconf xmlns="urn:ietf:params:xml:ns:netmod:notification">
-  <streams>
-    <stream>
-      <name>OPENROADM</name>
-    </stream>
-  </streams>
-</netconf>
+    <streams>
+      <stream>
+        <name>OPENROADM</name>
+      </stream>
+    </streams>
+  </netconf>
   <org-openroadm-device xmlns="http://org/openroadm/device">
     <info>
       <node-id>XPDR-A2</node-id>
         <slot-name>slot-2</slot-name>
         <label>2</label>
         <provisioned-circuit-pack>1/0/1-PLUG-CLIENT</provisioned-circuit-pack>
+        <slot-status>installed-prov-match</slot-status>
       </cp-slots>
       <cp-slots>
         <slot-name>slot-3</slot-name>
         <label>3</label>
-        <slot-status>empty-not-prov</slot-status>
+        <provisioned-circuit-pack>1/0/3-PLUG-CLIENT</provisioned-circuit-pack>
+        <slot-status>installed-prov-match</slot-status>
       </cp-slots>
       <cp-slots>
         <slot-name>slot-4</slot-name>
         <label>4</label>
         <slot-status>empty-not-prov</slot-status>
       </cp-slots>
+      <cp-slots>
+        <slot-name>slot-5</slot-name>
+        <label>5</label>
+        <slot-status>empty-not-prov</slot-status>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>slot-6</slot-name>
+        <label>6</label>
+        <slot-status>empty-not-prov</slot-status>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>slot-7</slot-name>
+        <label>7</label>
+        <provisioned-circuit-pack>1/0/7-PLUG-NET</provisioned-circuit-pack>
+        <slot-status>installed-prov-match</slot-status>
+      </cp-slots>
     </circuit-packs>
     <circuit-packs>
       <circuit-pack-name>1/0/1-PLUG-NET</circuit-pack-name>
         <port-capabilities xmlns="http://org/openroadm/port-capability">
           <supported-interface-capability>
             <if-cap-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-otsi-otsigroup</if-cap-type>
-            <otsigroup-capability-profile-name>otsigroup-profile1</otsigroup-capability-profile-name>
+            <otsigroup-capability-profile-name>FOIC4.8-OTUC4</otsigroup-capability-profile-name>
+            <otsigroup-capability-profile-name>FOIC3.6-OTUC3</otsigroup-capability-profile-name>
+            <otsigroup-capability-profile-name>FOIC2.4-OTUC2</otsigroup-capability-profile-name>
           </supported-interface-capability>
         </port-capabilities>
       </ports>
         <lifecycle-state>deployed</lifecycle-state>
         <administrative-state>inService</administrative-state>
         <operational-state>inService</operational-state>
-        <transponder-port>
-          <port-power-capability-min-rx>-22.00</port-power-capability-min-rx>
-          <port-power-capability-min-tx>-5.00</port-power-capability-min-tx>
-          <port-power-capability-max-rx>1.00</port-power-capability-max-rx>
-          <port-power-capability-max-tx>0.00</port-power-capability-max-tx>
-        </transponder-port>
         <port-capabilities xmlns="http://org/openroadm/port-capability">
           <supported-interface-capability>
             <if-cap-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-400GE</if-cap-type>
         </port-capabilities>
       </ports>
     </circuit-packs>
+    <circuit-packs>
+      <circuit-pack-name>1/0/3-PLUG-CLIENT</circuit-pack-name>
+      <circuit-pack-type>client_pluggable</circuit-pack-type>
+      <circuit-pack-product-code>Client_P</circuit-pack-product-code>
+      <lifecycle-state>deployed</lifecycle-state>
+      <administrative-state>inService</administrative-state>
+      <vendor>VendorA</vendor>
+      <model>QSFP28</model>
+      <serial-id>serial-1234</serial-id>
+      <type>client_pluggable</type>
+      <product-code>clientXPDR</product-code>
+      <manufacture-date>2007-10-10T00:00:00Z</manufacture-date>
+      <clei>12345678901</clei>
+      <hardware-version>0.1</hardware-version>
+      <operational-state>inService</operational-state>
+      <circuit-pack-category>
+        <type>circuitPack</type>
+      </circuit-pack-category>
+      <equipment-state>not-reserved-available</equipment-state>
+      <circuit-pack-mode>NORMAL</circuit-pack-mode>
+      <shelf>1</shelf>
+      <slot>1</slot>
+      <subSlot>3</subSlot>
+      <is-pluggable-optics>true</is-pluggable-optics>
+      <is-physical>true</is-physical>
+      <is-passive>true</is-passive>
+      <faceplate-label>xponder-XPDRA</faceplate-label>
+      <parent-circuit-pack>
+        <circuit-pack-name>1/0</circuit-pack-name>
+        <cp-slot-name>slot-3</cp-slot-name>
+      </parent-circuit-pack>
+      <ports>
+        <port-name>C3</port-name>
+        <administrative-state>inService</administrative-state>
+        <operational-state>inService</operational-state>
+        <port-capabilities xmlns="http://org/openroadm/port-capability">
+          <supported-interface-capability>
+            <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</if-cap-type>
+            <otn-capability>
+              <mpdr-client-restriction>
+                <network-ho-odu-circuit-pack-name>1/0/7-PLUG-NETWORK</network-ho-odu-circuit-pack-name>
+                <muxp-profile-name>ABCD-4-BY-100G-1</muxp-profile-name>
+                <muxp-profile-name>ABCD-3-BY-100G-1</muxp-profile-name>
+                <network-ho-odu-port-name>1</network-ho-odu-port-name>
+              </mpdr-client-restriction>
+            </otn-capability>
+          </supported-interface-capability>
+          <supported-interface-capability>
+            <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</if-cap-type>
+            <otn-capability>
+              <mpdr-client-restriction>
+                <network-ho-odu-circuit-pack-name>1/0/7-PLUG-NETWORK</network-ho-odu-circuit-pack-name>
+                <muxp-profile-name>ABCD-4-BY-100G-1</muxp-profile-name>
+                <muxp-profile-name>ABCD-3-BY-100G-1</muxp-profile-name>
+                <network-ho-odu-port-name>1</network-ho-odu-port-name>
+              </mpdr-client-restriction>
+            </otn-capability>
+          </supported-interface-capability>
+        </port-capabilities>
+        <port-type>QSFP28</port-type>
+        <port-direction>bidirectional</port-direction>
+        <port-wavelength-type>wavelength</port-wavelength-type>
+        <port-qual>switch-client</port-qual>
+      </ports>
+    </circuit-packs>
+    <circuit-packs>
+      <circuit-pack-name>1/0/7-PLUG-NETWORK</circuit-pack-name>
+      <circuit-pack-type>CFP2-DCO</circuit-pack-type>
+      <circuit-pack-product-code>Line_NW_P</circuit-pack-product-code>
+      <lifecycle-state>deployed</lifecycle-state>
+      <administrative-state>inService</administrative-state>
+      <vendor>VendorA</vendor>
+      <model>CFP2-DCO</model>
+      <serial-id>serial-1234</serial-id>
+      <type>line_pluggable</type>
+      <product-code>lineXPDR</product-code>
+      <manufacture-date>2007-10-10T00:00:00Z</manufacture-date>
+      <clei>12345678901</clei>
+      <hardware-version>0.1</hardware-version>
+      <operational-state>inService</operational-state>
+      <circuit-pack-category>
+        <type>circuitPack</type>
+      </circuit-pack-category>
+      <equipment-state>not-reserved-available</equipment-state>
+      <circuit-pack-mode>NORMAL</circuit-pack-mode>
+      <shelf>1</shelf>
+      <slot>1</slot>
+      <subSlot>7</subSlot>
+      <is-pluggable-optics>true</is-pluggable-optics>
+      <is-physical>true</is-physical>
+      <is-passive>true</is-passive>
+      <faceplate-label>xponder-XPDRA</faceplate-label>
+      <parent-circuit-pack>
+        <circuit-pack-name>1/0</circuit-pack-name>
+        <cp-slot-name>slot-7</cp-slot-name>
+      </parent-circuit-pack>
+      <ports>
+        <port-name>L2</port-name>
+        <administrative-state>inService</administrative-state>
+        <port-capabilities xmlns="http://org/openroadm/port-capability">
+          <supported-interface-capability>
+            <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-otsi-otsigroup</if-cap-type>
+            <otsigroup-capability-profile-name>FOIC4.8-OTUC4</otsigroup-capability-profile-name>
+            <otsigroup-capability-profile-name>FOIC3.6-OTUC3</otsigroup-capability-profile-name>
+            <otsigroup-capability-profile-name>FOIC2.4-OTUC2</otsigroup-capability-profile-name>
+          </supported-interface-capability>
+        </port-capabilities>
+        <port-type>CFP2-DCO</port-type>
+        <faceplate-label>pluggable</faceplate-label>
+        <is-physical>true</is-physical>
+        <operational-state>inService</operational-state>
+        <transponder-port>
+          <port-power-capability-max-rx>13.0</port-power-capability-max-rx>
+          <port-power-capability-min-tx>-5.0</port-power-capability-min-tx>
+          <port-power-capability-min-rx>-22.0</port-power-capability-min-rx>
+          <port-power-capability-max-tx>0.0</port-power-capability-max-tx>
+        </transponder-port>
+        <port-direction>bidirectional</port-direction>
+        <port-wavelength-type>wavelength</port-wavelength-type>
+        <port-qual>switch-network</port-qual>
+      </ports>
+    </circuit-packs>
+    <otsigroup-capability-profile>
+      <profile-name>FOIC2.4-OTUC2</profile-name>
+      <foic-type xmlns:x="http://org/openroadm/common-optical-channel-types">x:foic2.4</foic-type>
+      <otn-odu-mux-hierarchy-profile-name>one-stage-ODUCn-ODU4</otn-odu-mux-hierarchy-profile-name>
+      <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-OTUCn-ODUCn</if-cap-type>
+      <otucn-n-rate>2</otucn-n-rate>
+    </otsigroup-capability-profile>
+    <otsigroup-capability-profile>
+      <profile-name>FOIC3.6-OTUC3</profile-name>
+      <foic-type xmlns:x="http://org/openroadm/common-optical-channel-types">x:foic3.6</foic-type>
+      <otn-odu-mux-hierarchy-profile-name>one-stage-ODUCn-ODU4</otn-odu-mux-hierarchy-profile-name>
+      <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-OTUCn-ODUCn</if-cap-type>
+      <otucn-n-rate>3</otucn-n-rate>
+    </otsigroup-capability-profile>
+    <otsigroup-capability-profile>
+      <profile-name>FOIC4.8-OTUC4</profile-name>
+      <foic-type xmlns:x="http://org/openroadm/common-optical-channel-types">x:foic4.8</foic-type>
+      <otn-odu-mux-hierarchy-profile-name>one-stage-ODUCn-ODUflex-ODU4</otn-odu-mux-hierarchy-profile-name>
+      <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-OTUCn-ODUCn</if-cap-type>
+      <otucn-n-rate>4</otucn-n-rate>
+    </otsigroup-capability-profile>
+    <muxp-profile>
+      <profile-name>ABCD-4-BY-100G-1</profile-name>
+      <network-ho-odu-trib-port-number>1</network-ho-odu-trib-port-number>
+      <network-ho-odu-opucn-trib-slots>1.3</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.2</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.5</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.4</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.1</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.18</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.17</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.16</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.15</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.7</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.6</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.9</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.19</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.8</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.10</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.20</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.14</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.13</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.12</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.11</network-ho-odu-opucn-trib-slots>
+      <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTUCn.ts</odtu-type>
+    </muxp-profile>
+    <muxp-profile>
+      <profile-name>ABCD-4-BY-100G-2</profile-name>
+      <network-ho-odu-trib-port-number>2</network-ho-odu-trib-port-number>
+      <network-ho-odu-opucn-trib-slots>2.2</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>2.1</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>2.4</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>2.3</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>2.9</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>2.16</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>2.6</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>2.17</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>2.5</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>2.18</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>2.8</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>2.19</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>2.7</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>2.12</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>2.13</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>2.14</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>2.15</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>2.20</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>2.10</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>2.11</network-ho-odu-opucn-trib-slots>
+      <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTUCn.ts</odtu-type>
+    </muxp-profile>
+    <muxp-profile>
+      <profile-name>ABCD-4-BY-100G-3</profile-name>
+      <network-ho-odu-trib-port-number>3</network-ho-odu-trib-port-number>
+      <network-ho-odu-opucn-trib-slots>3.1</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>3.3</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>3.2</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>3.9</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>3.8</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>3.17</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>3.5</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>3.18</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>3.4</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>3.19</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>3.7</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>3.6</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>3.13</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>3.14</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>3.15</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>3.16</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>3.20</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>3.10</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>3.11</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>3.12</network-ho-odu-opucn-trib-slots>
+      <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTUCn.ts</odtu-type>
+      </muxp-profile>
+    <muxp-profile>
+      <profile-name>ABCD-4-BY-100G-4</profile-name>
+      <network-ho-odu-trib-port-number>4</network-ho-odu-trib-port-number>
+      <network-ho-odu-opucn-trib-slots>4.2</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>4.1</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>4.8</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>4.7</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>4.9</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>4.19</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>4.4</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>4.18</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>4.3</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>4.6</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>4.5</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>4.15</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>4.14</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>4.17</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>4.16</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>4.11</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>4.10</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>4.13</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>4.12</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>4.20</network-ho-odu-opucn-trib-slots>
+      <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTUCn.ts</odtu-type>
+    </muxp-profile>
+    <muxp-profile>
+      <profile-name>ABCD-3-BY-100G-1</profile-name>
+      <network-oducn-n-rate>3</network-oducn-n-rate>
+      <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTUCn.ts</odtu-type>
+      <network-ho-odu-trib-port-number>1</network-ho-odu-trib-port-number>
+      <network-ho-odu-opucn-trib-slots>1.3</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.2</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.5</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.4</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.1</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.18</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.17</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.16</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.15</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.7</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.6</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.9</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.8</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.19</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.10</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.20</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.14</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.13</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.12</network-ho-odu-opucn-trib-slots>
+      <network-ho-odu-opucn-trib-slots>1.11</network-ho-odu-opucn-trib-slots>
+      <network-odu-rate xmlns:x="http://org/openroadm/otn-common-types">x:ODUCn</network-odu-rate>
+    </muxp-profile>
     <xponder>
       <xpdr-number>1</xpdr-number>
       <xpdr-type>tpdr</xpdr-type>
         <eqpt-srg-id>1</eqpt-srg-id>
       </xpdr-port>
     </xponder>
+    <xponder>
+      <xpdr-number>2</xpdr-number>
+      <xpdr-type>mpdr</xpdr-type>
+      <xpdr-port>
+        <index>1</index>
+        <circuit-pack-name>1/0/7-PLUG-NETWORK</circuit-pack-name>
+        <port-name>L2</port-name>
+      </xpdr-port>
+      <xpdr-port>
+        <index>2</index>
+        <circuit-pack-name>1/0/3-PLUG-CLIENT</circuit-pack-name>
+        <port-name>C3</port-name>
+      </xpdr-port>
+    </xponder>
     <connection-map>
       <connection-map-number>1</connection-map-number>
       <source>
         <port-name>C1</port-name>
       </destination>
     </connection-map>
-    <otsigroup-capability-profile>
-      <profile-name>otsigroup-profile1</profile-name>
-      <if-cap-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OTUCn-ODUCn</if-cap-type>
-      <otucn-n-rate>4</otucn-n-rate>
-      <foic-type xmlns:org-openroadm-common-optical-channel-types="http://org/openroadm/common-optical-channel-types">org-openroadm-common-optical-channel-types:foic4.8</foic-type>
-      <otn-odu-mux-hierarchy-profile-name>one-stage-ODUCn-ODUflex-ODU4</otn-odu-mux-hierarchy-profile-name>
-    </otsigroup-capability-profile>
     <mc-capability-profile>
       <profile-name>mc-capa-profile1</profile-name>
       <center-freq-granularity>3.125</center-freq-granularity>
       <max-slots>14</max-slots>
     </mc-capability-profile>
   </org-openroadm-device>
-</data>
+</data>
\ No newline at end of file
index a94da1f3c9c47fa7851cb14e1256edd2679a48ab..e734f4bb5eb23c0fdaa4284f9861dec5af579ec6 100644 (file)
@@ -106,11 +106,53 @@ class TransportPCE400GPortMappingTesting(unittest.TestCase):
              'port-admin-state': 'InService', 'port-oper-state': 'InService'},
             res['mapping'])
 
-    def test_06_xpdr_device_disconnection(self):
+    # Check the port-mapping for the switch-client and switch-network port-quals
+    def test_06_xpdr2_portmapping_NETWORK1(self):
+        response = test_utils.portmapping_request("XPDR-A2/mapping/XPDR2-NETWORK1")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertIn(
+            {'supported-interface-capability':
+               ['org-openroadm-port-types:if-otsi-otsigroup'],
+             'supporting-port': 'L2',
+             'supporting-circuit-pack-name': '1/0/7-PLUG-NETWORK',
+             'logical-connection-point': 'XPDR2-NETWORK1',
+             'port-qual': 'switch-network',
+             'port-direction': 'bidirectional',
+             'lcp-hash-val': 'LY9PxYJqUbw=',
+             'port-admin-state': 'InService',
+             'port-oper-state': 'InService',
+             'xponder-type': 'mpdr'
+             },
+            res['mapping'])
+
+    def test_07_xpdr2_portmapping_CLIENT1(self):
+        response = test_utils.portmapping_request("XPDR-A2/mapping/XPDR2-CLIENT1")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertIn(
+            {'supported-interface-capability':
+               ['org-openroadm-port-types:if-100GE-ODU4',
+                'org-openroadm-port-types:if-OCH-OTU4-ODU4'],
+             'supporting-port': 'C3',
+             'supporting-circuit-pack-name': '1/0/3-PLUG-CLIENT',
+             'logical-connection-point': 'XPDR2-CLIENT1',
+             'port-direction': 'bidirectional',
+              'port-qual': 'switch-client',
+             'lcp-hash-val': 'AK+Cna4EclRH',
+             'port-admin-state': 'InService',
+             'port-oper-state': 'InService',
+             "mpdr-restrictions": {
+               "min-trib-slot": "1.1",
+               "max-trib-slot": "1.20"
+             }},
+            res['mapping'])
+
+    def test_08_xpdr_device_disconnection(self):
         response = test_utils.unmount_device("XPDR-A2")
         self.assertEqual(response.status_code, requests.codes.ok, test_utils.CODE_SHOULD_BE_200)
 
-    def test_07_xpdr_device_disconnected(self):
+    def test_09_xpdr_device_disconnected(self):
         response = test_utils.get_netconf_oper_request("XPDR-A2")
         self.assertEqual(response.status_code, requests.codes.conflict)
         res = response.json()
@@ -120,7 +162,7 @@ class TransportPCE400GPortMappingTesting(unittest.TestCase):
                               "relevant data model content does not exist"},
             res['errors']['error'])
 
-    def test_08_xpdr_device_not_connected(self):
+    def test_10_xpdr_device_not_connected(self):
         response = test_utils.portmapping_request("XPDR-A2")
         self.assertEqual(response.status_code, requests.codes.conflict)
         res = response.json()