ios-xe renderer now creates configuration per endpoint pair
[groupbasedpolicy.git] / renderers / ios-xe / src / test / java / org / opendaylight / groupbasedpolicy / renderer / ios_xe_provider / impl / util / StatusUtilTest.java
index 9b1fdb02207d387db0429d2f2d52a4ae467768fe..569021d3ae637e7eaf9ca8f4ee6c8fd71d72c2e7 100644 (file)
@@ -19,6 +19,7 @@ import org.opendaylight.groupbasedpolicy.renderer.ios_xe_provider.impl.manager.P
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.base_endpoint.rev160427.AddressEndpointKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ContextId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ContractId;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.RuleName;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.SubjectName;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.TenantId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.forwarding.l2_l3.rev160427.IpPrefixType;
@@ -27,6 +28,8 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.rev151103.has.rule.group.with.renderer.endpoint.participation.RuleGroupWithRendererEndpointParticipation;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.rev151103.has.rule.group.with.renderer.endpoint.participation.RuleGroupWithRendererEndpointParticipationBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.rev151103.has.unconfigured.rule.groups.UnconfiguredRuleGroup;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.rev151103.has.unconfigured.rule.groups.unconfigured.rule.group.UnconfiguredResolvedRule;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.rev151103.has.unconfigured.rule.groups.unconfigured.rule.group.UnconfiguredResolvedRuleBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.rev151103.renderers.renderer.renderer.policy.configuration.renderer.endpoints.RendererEndpoint;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.rev151103.renderers.renderer.renderer.policy.configuration.renderer.endpoints.RendererEndpointBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.rev151103.renderers.renderer.renderer.policy.configuration.renderer.endpoints.renderer.endpoint.PeerEndpoint;
@@ -39,14 +42,14 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.r
  */
 public class StatusUtilTest {
 
-    public static final TenantId TENANT_ID = new TenantId("unit-tenant-1");
-    public static final SubjectName SUBJECT_NAME = new SubjectName("unit-subject-1");
-    public static final ContractId CONTRACT_ID = new ContractId("unit-contract-1");
-    public static final String ADDRESS_1 = "unit-address-1";
-    public static final ContextId CONTEXT_ID_1 = new ContextId("unit-context-1");
-    public static final String ADDRESS_2 = "unit-address-2";
-    public static final ContextId CONTEXT_ID_2 = new ContextId("unit-context-2");
-    public static final String INFO_MESSAGE = "unit-info-1";
+    private static final TenantId TENANT_ID = new TenantId("unit-tenant-1");
+    private static final SubjectName SUBJECT_NAME = new SubjectName("unit-subject-1");
+    private static final ContractId CONTRACT_ID = new ContractId("unit-contract-1");
+    private static final String ADDRESS_1 = "unit-address-1";
+    private static final ContextId CONTEXT_ID_1 = new ContextId("unit-context-1");
+    private static final String ADDRESS_2 = "unit-address-2";
+    private static final ContextId CONTEXT_ID_2 = new ContextId("unit-context-2");
+    private static final String INFO_MESSAGE = "unit-info-1";
     private PolicyConfigurationContext context;
 
     @Before
@@ -117,7 +120,7 @@ public class StatusUtilTest {
     @Test
     public void testAssemblePeerEndpoint() throws Exception {
         final PeerEndpoint peerEndpoint = createPeer(ADDRESS_1, CONTEXT_ID_1);
-        final List<UnconfiguredPeerEndpoint> gatheredPeers = StatusUtil.assemblePeerEndpoint(Stream.of(peerEndpoint));
+        final List<UnconfiguredPeerEndpoint> gatheredPeers = StatusUtil.assemblePeerEndpoint(Stream.of(peerEndpoint), null);
 
         Assert.assertEquals(1, gatheredPeers.size());
         final UnconfiguredPeerEndpoint actual = gatheredPeers.get(0);
@@ -134,6 +137,11 @@ public class StatusUtilTest {
 
     @Test
     public void testAssembleRuleGroups() throws Exception {
+        final UnconfiguredResolvedRuleBuilder unconfiguredResolvedRuleBuilder = new UnconfiguredResolvedRuleBuilder();
+        unconfiguredResolvedRuleBuilder.setRuleName(new RuleName("rule-name"));
+        final UnconfiguredResolvedRule resolvedRule = unconfiguredResolvedRuleBuilder.build();
+        final PolicyConfigurationContext context = new PolicyConfigurationContext();
+        context.setCurrentUnconfiguredRule(resolvedRule);
         final RuleGroupWithRendererEndpointParticipation ruleGroup =
                 new RuleGroupWithRendererEndpointParticipationBuilder()
                         .setTenantId(TENANT_ID)
@@ -141,14 +149,14 @@ public class StatusUtilTest {
                         .setContractId(CONTRACT_ID)
                         .setRendererEndpointParticipation(EndpointPolicyParticipation.CONSUMER)
                         .build();
-        final List<UnconfiguredRuleGroup> gatheredRuleGroups = StatusUtil.assembleRuleGroups(Stream.of(ruleGroup));
+        final List<UnconfiguredRuleGroup> gatheredRuleGroups = StatusUtil.assembleRuleGroups(Stream.of(ruleGroup), context);
 
         Assert.assertEquals(1, gatheredRuleGroups.size());
         final UnconfiguredRuleGroup actual = gatheredRuleGroups.get(0);
         Assert.assertEquals(TENANT_ID, actual.getTenantId());
         Assert.assertEquals(SUBJECT_NAME, actual.getSubjectName());
         Assert.assertEquals(CONTRACT_ID, actual.getContractId());
-        Assert.assertEquals(null, actual.getUnconfiguredResolvedRule());
+        Assert.assertEquals(Collections.singletonList(resolvedRule), actual.getUnconfiguredResolvedRule());
         Assert.assertEquals(EndpointPolicyParticipation.CONSUMER, actual.getRendererEndpointParticipation());
     }
 }
\ No newline at end of file