1 package org.opendaylight.groupbasedpolicy.neutron.mapper.mapping.rule;
3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.assertNotNull;
7 import org.opendaylight.groupbasedpolicy.neutron.mapper.test.NeutronEntityFactory;
8 import org.opendaylight.groupbasedpolicy.neutron.mapper.test.PolicyAssert;
9 import org.opendaylight.groupbasedpolicy.neutron.mapper.util.MappingUtils;
10 import org.opendaylight.groupbasedpolicy.neutron.mapper.util.NeutronUtils;
11 import org.opendaylight.neutron.spi.NeutronSecurityRule;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.Description;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.has.classifier.refs.ClassifierRef;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.policy.Contract;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.policy.contract.Clause;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.policy.contract.Subject;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.policy.contract.subject.Rule;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.policy.subject.feature.instances.ClassifierInstance;
20 public class SingleRuleContractTest {
23 public void testConstructorAndGetters() {
24 NeutronSecurityRule secRule = NeutronEntityFactory.securityRuleWithoutGroupIds(
25 "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa", "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb", NeutronUtils.IPv4,
26 NeutronUtils.INGRESS, NeutronUtils.TCP, 8010, 8020);
27 int subjectAndRuleOrder = 1;
28 SingleRuleContract singleRuleContract = new SingleRuleContract(secRule, subjectAndRuleOrder, new Description(
29 "contractDescription"), MappingUtils.ACTION_REF_ALLOW);
31 SingleClassifierRule singleClsfRule = singleRuleContract.getSingleClassifierRule();
32 assertNotNull(singleClsfRule);
34 ClassifierInstance clsfInstance = singleClsfRule.getClassifierInstance();
35 assertNotNull(clsfInstance);
36 assertEquals(clsfInstance, SecRuleEntityDecoder.getClassifierInstance(secRule));
38 ClassifierRef clsfRef = singleClsfRule.getClassifierRef();
39 assertNotNull(clsfRef);
40 assertEquals(clsfRef, SecRuleEntityDecoder.getClassifierRef(secRule));
42 Rule rule = singleClsfRule.getRule();
44 PolicyAssert.assertRule(rule, secRule, subjectAndRuleOrder);
46 assertEquals(rule, singleRuleContract.getRule());
48 Subject subject = singleRuleContract.getSubject();
49 assertNotNull(subject);
50 PolicyAssert.assertSubjectWithOneRule(subject, secRule);
52 Clause clause = singleRuleContract.getClause();
53 assertNotNull(clause);
54 PolicyAssert.assertClauseWithOneSubject(clause, secRule);
56 Contract contract = singleRuleContract.getContract();
57 assertNotNull(contract);
58 PolicyAssert.assertContract(contract, secRule);