Increase ServiceHandler Junit coverage
[transportpce.git] / servicehandler / src / test / java / org / opendaylight / transportpce / servicehandler / validation / checks / ServicehandlerTxRxCheckTest.java
diff --git a/servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/validation/checks/ServicehandlerTxRxCheckTest.java b/servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/validation/checks/ServicehandlerTxRxCheckTest.java
new file mode 100644 (file)
index 0000000..6e9aac9
--- /dev/null
@@ -0,0 +1,158 @@
+/*
+ * Copyright © 2019 Orange, Inc. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.transportpce.servicehandler.validation.checks;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.opendaylight.transportpce.servicehandler.ServiceEndpointType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.ServiceFormat;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service.ServiceAEndBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service.endpoint.RxDirectionBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service.endpoint.TxDirectionBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service.lgx.LgxBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service.port.PortBuilder;
+
+public class ServicehandlerTxRxCheckTest {
+
+    @Test
+    public void checkPortShouldBeFalseForNullPort() {
+        Assert.assertFalse(ServicehandlerTxRxCheck.checkPort(null));
+    }
+
+    @Test
+    public void checkLgxShouldBeFalseForNullLgx() {
+        Assert.assertFalse(ServicehandlerTxRxCheck.checkLgx(null));
+    }
+
+    @Test
+    public void checkTxOrRxInfoForNullTx() {
+        ComplianceCheckResult result = ServicehandlerTxRxCheck.checkTxOrRxInfo(null, null);
+
+        Assert.assertFalse(result.hasPassed());
+        Assert.assertEquals("Service TxDirection is not correctly set", result.getMessage());
+    }
+
+    @Test
+    public void checkTxOrRxInfoForNullTxPort() {
+        ComplianceCheckResult result = ServicehandlerTxRxCheck
+                .checkTxOrRxInfo(new TxDirectionBuilder().build(), null);
+
+        Assert.assertFalse(result.hasPassed());
+        Assert.assertEquals("Service TxDirection Port is not correctly set", result.getMessage());
+    }
+
+    @Test
+    public void checkTxOrRxInfoForNullTxLgx() {
+        ComplianceCheckResult result = ServicehandlerTxRxCheck
+            .checkTxOrRxInfo(new TxDirectionBuilder()
+                .setPort(new PortBuilder().setPortDeviceName("q")
+                    .setPortName("n").setPortRack("r").setPortShelf("s").setPortType("t").build()).build(), null);
+
+        Assert.assertFalse(result.hasPassed());
+        Assert.assertEquals("Service TxDirection Lgx is not correctly set", result.getMessage());
+    }
+
+    @Test
+    public void checkTxOrRxInfoForNullRx() {
+        ComplianceCheckResult result = ServicehandlerTxRxCheck
+                .checkTxOrRxInfo(new TxDirectionBuilder()
+                        .setPort(new PortBuilder().setPortDeviceName("q")
+                                .setPortName("n").setPortRack("r").setPortShelf("s").setPortType("t").build())
+                        .setLgx(new LgxBuilder().setLgxDeviceName("l")
+                                .setLgxPortName("p").setLgxPortRack("r").setLgxPortShelf("s").build()).build(), null);
+
+        Assert.assertFalse(result.hasPassed());
+        Assert.assertEquals("Service RxDirection is not correctly set", result.getMessage());
+    }
+
+    @Test
+    public void checkTxOrRxInfoForNullRxPort() {
+        ComplianceCheckResult result = ServicehandlerTxRxCheck
+            .checkTxOrRxInfo(new TxDirectionBuilder()
+                .setPort(new PortBuilder().setPortDeviceName("q")
+                .setPortName("n").setPortRack("r").setPortShelf("s").setPortType("t").build())
+                .setLgx(new LgxBuilder().setLgxDeviceName("l")
+                .setLgxPortName("p").setLgxPortRack("r").setLgxPortShelf("s").build()).build(),
+            new RxDirectionBuilder().build());
+
+        Assert.assertFalse(result.hasPassed());
+        Assert.assertEquals("Service RxDirection Port is not correctly set", result.getMessage());
+    }
+
+    @Test
+    public void checkTxOrRxInfoForNullRxLgx() {
+        ComplianceCheckResult result = ServicehandlerTxRxCheck
+                .checkTxOrRxInfo(new TxDirectionBuilder()
+                        .setPort(new PortBuilder().setPortDeviceName("q")
+                                .setPortName("n").setPortRack("r").setPortShelf("s").setPortType("t").build())
+                        .setLgx(new LgxBuilder().setLgxDeviceName("l")
+                                .setLgxPortName("p").setLgxPortRack("r").setLgxPortShelf("s").build()).build(),
+                        new RxDirectionBuilder().setPort(new PortBuilder().setPortDeviceName("q")
+                                .setPortName("n").setPortRack("r").setPortShelf("s").setPortType("t").build()).build());
+
+        Assert.assertFalse(result.hasPassed());
+        Assert.assertEquals("Service RxDirection Lgx is not correctly set", result.getMessage());
+    }
+
+    @Test
+    public void checkForServiceEndNull() {
+        ComplianceCheckResult result = ServicehandlerTxRxCheck.check(null, ServiceEndpointType.SERVICEAEND);
+
+        Assert.assertFalse(result.hasPassed());
+        Assert.assertEquals(ServiceEndpointType.SERVICEAEND + " is not set", result.getMessage());
+    }
+
+    @Test
+    public void checkForServiceRateNull() {
+        ComplianceCheckResult result =
+            ServicehandlerTxRxCheck.check(new ServiceAEndBuilder().build(), ServiceEndpointType.SERVICEAEND);
+
+        Assert.assertFalse(result.hasPassed());
+        Assert.assertEquals("Service " + ServiceEndpointType.SERVICEAEND + " rate is not set", result.getMessage());
+    }
+
+    @Test
+    public void checkForServiceRateEquals0() {
+        ComplianceCheckResult result = ServicehandlerTxRxCheck.check(
+            new ServiceAEndBuilder().setServiceRate(0L).build(), ServiceEndpointType.SERVICEAEND);
+
+        Assert.assertFalse(result.hasPassed());
+        Assert.assertEquals("Service " + ServiceEndpointType.SERVICEAEND + " rate is not set", result.getMessage());
+    }
+
+    @Test
+    public void checkForServiceFormatNull() {
+        ComplianceCheckResult result = ServicehandlerTxRxCheck.check(
+            new ServiceAEndBuilder().setServiceRate(3L).build(), ServiceEndpointType.SERVICEAEND);
+
+        Assert.assertFalse(result.hasPassed());
+        Assert.assertEquals("Service " + ServiceEndpointType.SERVICEAEND + " format is not set", result.getMessage());
+    }
+
+    @Test
+    public void checkForClliEmpty() {
+        ComplianceCheckResult result = ServicehandlerTxRxCheck.check(new ServiceAEndBuilder()
+            .setServiceRate(3L).setClli("").setServiceFormat(ServiceFormat.Ethernet).build(),
+            ServiceEndpointType.SERVICEAEND);
+
+        Assert.assertFalse(result.hasPassed());
+        Assert.assertEquals(
+            "Service" + ServiceEndpointType.SERVICEAEND + " clli format is not set", result.getMessage());
+    }
+
+    @Test
+    public void checkForFailTxOrRx() {
+        ComplianceCheckResult result = ServicehandlerTxRxCheck.check(new ServiceAEndBuilder()
+            .setServiceRate(3L).setClli("cc").setServiceFormat(ServiceFormat.Ethernet).build(),
+            ServiceEndpointType.SERVICEAEND);
+
+        Assert.assertFalse(result.hasPassed());
+        Assert.assertEquals("Service TxDirection is not correctly set", result.getMessage());
+    }
+}