IOvisor policy processing
[groupbasedpolicy.git] / renderers / iovisor / src / test / java / org / opendaylight / groupbasedpolicy / renderer / iovisor / module / IovisorModuleManagerTest.java
1 /*
2  * Copyright (c) 2015 Inocybe Technologies 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
9 package org.opendaylight.groupbasedpolicy.renderer.iovisor.module;
10
11 import org.junit.Assert;
12 import org.junit.Before;
13 import org.junit.Test;
14 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
15 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
16 import org.opendaylight.groupbasedpolicy.renderer.iovisor.test.GbpIovisorDataBrokerTest;
17 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Uri;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.iovisor.rev151030.IovisorModuleId;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.iovisor.rev151030.iovisor.module.instances.IovisorModuleInstance;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.iovisor.rev151030.iovisor.module.instances.IovisorModuleInstanceBuilder;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.iovisor.rev151030.iovisor.module.instances.IovisorModuleInstanceKey;
22
23 public class IovisorModuleManagerTest extends GbpIovisorDataBrokerTest {
24
25     private DataBroker dataBroker;
26     private IovisorModuleManager iovisorModuleManager;
27     IovisorModuleInstance iovisorModuleInstance1;
28     IovisorModuleInstance iovisorModuleInstance2;
29     IovisorModuleInstance badIovisorModuleInstance1;
30
31     @Before
32     public void initialisation() throws Exception {
33         dataBroker = getDataBroker();
34         iovisorModuleManager = new IovisorModuleManager(dataBroker);
35
36         String iom1 = "10.10.10.10:10000";
37         IovisorModuleId iom1Id = new IovisorModuleId(iom1);
38         String iom2 = "iom1.groupbasedpolicy.org:10000";
39         IovisorModuleId iom2Id = new IovisorModuleId(iom2);
40
41         String badIom1 = "10.10.10.10";
42         IovisorModuleId badIom1Id = new IovisorModuleId(badIom1);
43
44         iovisorModuleInstance1 = new IovisorModuleInstanceBuilder().setId(iom1Id)
45             .setKey(new IovisorModuleInstanceKey(iom1Id))
46             .setUri(new Uri(iom1))
47             .build();
48
49         iovisorModuleInstance2 = new IovisorModuleInstanceBuilder().setId(iom2Id)
50             .setKey(new IovisorModuleInstanceKey(iom2Id))
51             .setUri(new Uri(iom2))
52             .build();
53
54         badIovisorModuleInstance1 = new IovisorModuleInstanceBuilder().setId(badIom1Id)
55             .setKey(new IovisorModuleInstanceKey(badIom1Id))
56             .setUri(new Uri(badIom1))
57             .build();
58     }
59
60     @Test
61     public void addActiveIovisorModuleTest() {
62         Assert.assertFalse(iovisorModuleManager.addActiveIovisorModule(iovisorModuleInstance1.getId()));
63         Assert.assertTrue(iovisorModuleManager.addProvisionedIovisorModule(iovisorModuleInstance1));
64         Assert.assertTrue(iovisorModuleManager.addActiveIovisorModule(iovisorModuleInstance1.getId()));
65     }
66
67     @Test
68     public void addProvisionedIovisorModuleTest() {
69         Assert.assertTrue(iovisorModuleManager.addProvisionedIovisorModule(iovisorModuleInstance1));
70         Assert.assertFalse(iovisorModuleManager.addProvisionedIovisorModule(badIovisorModuleInstance1));
71     }
72
73     @Test
74     public void addIovisorInstanceTest() {
75         Assert.assertTrue(
76                 iovisorModuleManager.addIovisorModule(iovisorModuleInstance1, LogicalDatastoreType.CONFIGURATION));
77         Assert.assertTrue(
78                 iovisorModuleManager.addIovisorModule(iovisorModuleInstance1, LogicalDatastoreType.OPERATIONAL));
79
80         Assert.assertFalse(
81                 iovisorModuleManager.addIovisorModule(badIovisorModuleInstance1, LogicalDatastoreType.CONFIGURATION));
82         Assert.assertFalse(
83                 iovisorModuleManager.addIovisorModule(badIovisorModuleInstance1, LogicalDatastoreType.OPERATIONAL));
84     }
85
86     @Test
87     public void getActiveIovisorModuleTest() {
88         // Prepare a provisioned IOM
89         Assert.assertTrue(iovisorModuleManager.addProvisionedIovisorModule(iovisorModuleInstance1));
90         IovisorModuleInstance fetchedIom =
91                 iovisorModuleManager.getProvisionedIovisorModule(iovisorModuleInstance1.getId());
92         Assert.assertEquals(iovisorModuleInstance1, fetchedIom);
93         // Its not Active yet
94         Assert.assertNull(iovisorModuleManager.getActiveIovisorModule(iovisorModuleInstance1.getId()));
95         Assert.assertTrue(iovisorModuleManager.addActiveIovisorModule(iovisorModuleInstance1.getId()));
96         Assert.assertEquals(iovisorModuleInstance1,
97                 iovisorModuleManager.getActiveIovisorModule(iovisorModuleInstance1.getId()));
98
99     }
100
101     @Test
102     public void getProvisionedIovisorModuleTest() {
103         Assert.assertTrue(iovisorModuleManager.addProvisionedIovisorModule(iovisorModuleInstance1));
104         Assert.assertEquals(iovisorModuleInstance1,
105                 iovisorModuleManager.getProvisionedIovisorModule(iovisorModuleInstance1.getId()));
106     }
107 }