Reactive remaining Junits tests for Al migration
[transportpce.git] / networkmodel / src / test / java / org / opendaylight / transportpce / networkmodel / util / TpceNetworkTest.java
1 /*
2  * Copyright © 2020 Orange, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.transportpce.networkmodel.util;
9
10 import static org.junit.Assert.assertEquals;
11 import static org.junit.Assert.assertNotNull;
12 import static org.junit.Assert.assertNull;
13
14 import java.util.concurrent.ExecutionException;
15 import org.junit.Test;
16 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
17 import org.opendaylight.transportpce.common.network.NetworkTransactionImpl;
18 import org.opendaylight.transportpce.common.network.RequestProcessor;
19 import org.opendaylight.transportpce.test.AbstractTest;
20 import org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev181130.NetworkTypes1;
21 import org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev181130.NetworkTypes1Builder;
22 import org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev181130.networks.network.network.types.ClliNetworkBuilder;
23 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.networks.network.network.types.OpenroadmCommonNetworkBuilder;
24 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NetworkId;
25 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.Networks;
26 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.Network;
27 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.NetworkKey;
28 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NetworkTypes;
29 import org.opendaylight.yangtools.yang.binding.Augmentation;
30 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
31
32 public class TpceNetworkTest extends AbstractTest {
33     TpceNetwork tpceNetwork = new TpceNetwork(new NetworkTransactionImpl(new RequestProcessor(getDataBroker())));
34
35     @Test
36     public void createLayerClliTest() throws InterruptedException, ExecutionException {
37         tpceNetwork.createLayer("clli-network");
38         InstanceIdentifier<Network> nwIID = InstanceIdentifier.create(Networks.class)
39             .child(Network.class, new NetworkKey(new NetworkId("clli-network")));
40         Network createdClli = getDataBroker().newReadOnlyTransaction()
41             .read(LogicalDatastoreType.CONFIGURATION, nwIID).get().get();
42         assertNotNull("Clli layer should be created and not null", createdClli);
43
44         Augmentation<NetworkTypes> ordClli = new NetworkTypes1Builder()
45             .setClliNetwork(new ClliNetworkBuilder().build())
46             .build();
47         assertNotNull("clli augmentation should not be null", createdClli.getNetworkTypes()
48             .augmentation(NetworkTypes1.class));
49         assertEquals("bad clli augmentation for network-types", ordClli,
50             createdClli.getNetworkTypes().augmentation(NetworkTypes1.class));
51     }
52
53     @Test
54     public void createLayerNetworkTest() throws InterruptedException, ExecutionException {
55         tpceNetwork.createLayer("openroadm-network");
56         InstanceIdentifier<Network> nwIID = InstanceIdentifier.create(Networks.class)
57             .child(Network.class, new NetworkKey(new NetworkId("openroadm-network")));
58         Network createdOrdNetwork = getDataBroker().newReadOnlyTransaction()
59             .read(LogicalDatastoreType.CONFIGURATION, nwIID).get().get();
60         assertNotNull("openroadm-network layer should be created and not null", createdOrdNetwork);
61         commonNetworkAugmentationTest(createdOrdNetwork);
62     }
63
64     @Test
65     public void createLayerTopologyTest() throws InterruptedException, ExecutionException {
66         tpceNetwork.createLayer("openroadm-topology");
67         InstanceIdentifier<Network> nwIID = InstanceIdentifier.create(Networks.class)
68             .child(Network.class, new NetworkKey(new NetworkId("openroadm-topology")));
69         Network createdOrdNetwork = getDataBroker().newReadOnlyTransaction()
70             .read(LogicalDatastoreType.CONFIGURATION, nwIID).get().get();
71         assertNotNull("openroadm-logpology layer should be created and not null", createdOrdNetwork);
72         commonNetworkAugmentationTest(createdOrdNetwork);
73     }
74
75     @Test
76     public void createLayerOtnTest() throws InterruptedException, ExecutionException {
77         tpceNetwork.createLayer("otn-topology");
78         InstanceIdentifier<Network> nwIID = InstanceIdentifier.create(Networks.class)
79             .child(Network.class, new NetworkKey(new NetworkId("otn-topology")));
80         Network createdOrdNetwork = getDataBroker().newReadOnlyTransaction()
81             .read(LogicalDatastoreType.CONFIGURATION, nwIID).get().get();
82         assertNotNull("otn-logpology layer should be created and not null", createdOrdNetwork);
83         commonNetworkAugmentationTest(createdOrdNetwork);
84     }
85
86     @Test
87     public void createBadLayerTest() throws InterruptedException, ExecutionException {
88         tpceNetwork.createLayer("toto");
89         InstanceIdentifier<Network> nwIID = InstanceIdentifier.create(Networks.class)
90             .child(Network.class, new NetworkKey(new NetworkId("toto")));
91         Network createdOrdNetwork = getDataBroker().newReadOnlyTransaction()
92             .read(LogicalDatastoreType.CONFIGURATION, nwIID).get().get();
93         assertNotNull("toto layer should be created and not null", createdOrdNetwork);
94         assertNull("toto layer should not have any network-type augmentation", createdOrdNetwork.getNetworkTypes()
95             .augmentation(NetworkTypes1.class));
96         assertNull("toto layer should not have any network-type augmentation", createdOrdNetwork.getNetworkTypes()
97             .augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
98             .NetworkTypes1.class));
99     }
100
101     private void commonNetworkAugmentationTest(Network createdOrdNetwork) {
102         Augmentation<NetworkTypes> ordComNet
103             = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.NetworkTypes1Builder()
104             .setOpenroadmCommonNetwork(new OpenroadmCommonNetworkBuilder().build())
105             .build();
106         assertNotNull("common-network augmentation should not be null", createdOrdNetwork.getNetworkTypes()
107             .augmentation(
108                 org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.NetworkTypes1.class));
109         assertEquals("bad common-network augmentation for network-types", ordComNet, createdOrdNetwork.getNetworkTypes()
110             .augmentation(
111                 org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.NetworkTypes1.class));
112     }
113 }