1 package org.opendaylight.groupbasedpolicy.neutron.mapper.mapping;
3 import static org.junit.Assert.fail;
6 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
7 import org.opendaylight.groupbasedpolicy.neutron.mapper.mapping.NeutronSecurityGroupAware;
8 import org.opendaylight.groupbasedpolicy.neutron.mapper.test.GbpDataBrokerTest;
9 import org.opendaylight.groupbasedpolicy.neutron.mapper.test.NeutronEntityFactory;
10 import org.opendaylight.groupbasedpolicy.neutron.mapper.test.PolicyAssert;
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.policy.EndpointGroup.IntraGroupPolicy;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.secgroups.rev150712.security.groups.attributes.security.groups.SecurityGroup;
14 public class NeutronSecurityGroupAwareDataStoreTest extends GbpDataBrokerTest {
17 public void testAddAndDeleteNeutronSecurityGroup_noSecurityRules() throws Exception {
18 DataBroker dataBroker = getDataBroker();
19 NeutronSecurityGroupAware groupAware = new NeutronSecurityGroupAware(dataBroker);
21 final String tenantId = "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa";
22 final String secGroupId1 = "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb";
23 final String secGroupId2 = "cccccccc-cccc-cccc-cccc-cccccccccccc";
25 SecurityGroup secGroup1 = NeutronEntityFactory.securityGroup(secGroupId1, tenantId);
26 SecurityGroup secGroup2 = NeutronEntityFactory.securityGroup(secGroupId2, tenantId);
28 groupAware.onCreated(secGroup1, null);
30 PolicyAssert.assertTenantExists(dataBroker, tenantId);
31 PolicyAssert.assertContractCount(dataBroker, tenantId, 0);
32 PolicyAssert.assertEndpointGroupCount(dataBroker, tenantId, 1);
33 PolicyAssert.assertEndpointGroupExists(dataBroker, tenantId, secGroupId1);
34 PolicyAssert.assertNoProviderNamedSelectors(dataBroker, tenantId, secGroupId1);
35 PolicyAssert.assertNoConsumerNamedSelectors(dataBroker, tenantId, secGroupId1);
36 PolicyAssert.assertIntraGroupPolicy(dataBroker, tenantId, secGroupId1, IntraGroupPolicy.RequireContract);
38 groupAware.onDeleted(secGroup1, null, null);
40 PolicyAssert.assertTenantExists(dataBroker, tenantId);
41 PolicyAssert.assertContractCount(dataBroker, tenantId, 0);
42 PolicyAssert.assertEndpointGroupCount(dataBroker, tenantId, 0);
44 groupAware.onCreated(secGroup1, null);
45 groupAware.onCreated(secGroup2, null);
47 PolicyAssert.assertTenantExists(dataBroker, tenantId);
48 PolicyAssert.assertContractCount(dataBroker, tenantId, 0);
49 PolicyAssert.assertEndpointGroupCount(dataBroker, tenantId, 2);
50 PolicyAssert.assertEndpointGroupExists(dataBroker, tenantId, secGroupId1);
51 PolicyAssert.assertNoProviderNamedSelectors(dataBroker, tenantId, secGroupId1);
52 PolicyAssert.assertNoConsumerNamedSelectors(dataBroker, tenantId, secGroupId1);
53 PolicyAssert.assertIntraGroupPolicy(dataBroker, tenantId, secGroupId1, IntraGroupPolicy.RequireContract);
54 PolicyAssert.assertEndpointGroupExists(dataBroker, tenantId, secGroupId2);
55 PolicyAssert.assertNoProviderNamedSelectors(dataBroker, tenantId, secGroupId2);
56 PolicyAssert.assertNoConsumerNamedSelectors(dataBroker, tenantId, secGroupId2);
57 PolicyAssert.assertIntraGroupPolicy(dataBroker, tenantId, secGroupId2, IntraGroupPolicy.RequireContract);
59 groupAware.onDeleted(secGroup2, null, null);
61 PolicyAssert.assertTenantExists(dataBroker, tenantId);
62 PolicyAssert.assertContractCount(dataBroker, tenantId, 0);
63 PolicyAssert.assertEndpointGroupCount(dataBroker, tenantId, 1);
64 PolicyAssert.assertEndpointGroupExists(dataBroker, tenantId, secGroupId1);
65 PolicyAssert.assertNoProviderNamedSelectors(dataBroker, tenantId, secGroupId1);
66 PolicyAssert.assertNoConsumerNamedSelectors(dataBroker, tenantId, secGroupId1);
68 groupAware.onDeleted(secGroup1, null, null);
70 PolicyAssert.assertTenantExists(dataBroker, tenantId);
71 PolicyAssert.assertContractCount(dataBroker, tenantId, 0);
72 PolicyAssert.assertEndpointGroupCount(dataBroker, tenantId, 0);
76 public void testConstructor_invalidArgument() throws Exception {
78 new NeutronSecurityGroupAware(null);
79 fail(NullPointerException.class.getName() + " expected");
80 } catch (NullPointerException e) {