Unit tests for neutron mapper (parent commit)
[groupbasedpolicy.git] / neutron-mapper / src / test / java / org / opendaylight / groupbasedpolicy / neutron / mapper / infrastructure / NetworkClientTest.java
1 package org.opendaylight.groupbasedpolicy.neutron.mapper.infrastructure;
2
3 import static org.junit.Assert.assertNotNull;
4
5 import org.junit.Rule;
6 import org.junit.Test;
7 import org.junit.rules.ExpectedException;
8 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
9 import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction;
10 import org.opendaylight.groupbasedpolicy.neutron.mapper.test.NeutronMapperDataBrokerTest;
11 import org.opendaylight.groupbasedpolicy.neutron.mapper.test.PolicyAssert;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.SelectorName;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.TenantId;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.policy.endpoint.group.ConsumerNamedSelectorBuilder;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.policy.endpoint.group.ConsumerNamedSelectorKey;
16
17 public class NetworkClientTest extends NeutronMapperDataBrokerTest {
18
19     private final String tenantID = "00000000-0000-0000-0000-000000000001";
20     private final SelectorName selector = new SelectorName("dummy-selector");
21
22     @Rule
23     public ExpectedException exception = ExpectedException.none();
24
25     @Test
26     public void instantiate() {
27         NetworkClient client = new NetworkClient();
28         assertNotNull(client);
29     }
30
31     @Test
32     public void testWriteNetworkClientEntitiesToTenant() throws Exception {
33         //write
34         DataBroker dataBroker = getDataBroker();
35         ReadWriteTransaction rwTx = dataBroker.newReadWriteTransaction();
36         NetworkClient.writeNetworkClientEntitiesToTenant(new TenantId(tenantID), rwTx);
37         rwTx.submit().get();
38
39         //read
40         PolicyAssert.assertEndpointGroupExists(dataBroker, tenantID, NetworkClient.EPG_ID.getValue());
41     }
42
43     @Test
44     public void testWriteConsumerNamedSelector() throws Exception {
45         //create selector
46         ConsumerNamedSelectorBuilder cnsb = new ConsumerNamedSelectorBuilder();
47         cnsb.setName(selector).setKey(new ConsumerNamedSelectorKey(selector));
48
49         //write
50         DataBroker dataBroker = getDataBroker();
51         ReadWriteTransaction rwTx = dataBroker.newReadWriteTransaction();
52         NetworkClient.writeConsumerNamedSelector(new TenantId(tenantID), cnsb.build(), rwTx);
53         rwTx.submit().get();
54
55         //read
56         PolicyAssert.assertConsumerNamedSelectorExists(dataBroker, tenantID, NetworkClient.EPG_ID.getValue(),
57                 cnsb.getName().getValue());
58     }
59
60     @Test
61     public void testWriteConsumerNamedSelectorWithoutKey() throws Exception {
62         //create selector
63         ConsumerNamedSelectorBuilder cnsb = new ConsumerNamedSelectorBuilder();
64         //test exception
65         ReadWriteTransaction rwTx = getDataBroker().newReadWriteTransaction();
66         exception.expect(IllegalArgumentException.class);
67         NetworkClient.writeConsumerNamedSelector(new TenantId(tenantID), cnsb.build(), rwTx);
68     }
69
70 }