Add missing license headers
[groupbasedpolicy.git] / renderers / ofoverlay / src / test / java / org / opendaylight / groupbasedpolicy / renderer / ofoverlay / test / TestUtils.java
1 /*
2  * Copyright (c) 2016 Cisco Systems, Inc. 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 package org.opendaylight.groupbasedpolicy.renderer.ofoverlay.test;
9
10 import java.util.ArrayList;
11 import java.util.List;
12 import java.util.Map;
13
14 import com.google.common.collect.ImmutableList;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ContractId;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.EndpointGroupId;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.RuleName;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.SubjectName;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.TenantId;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.resolved.policy.rev150828.has.classifiers.Classifier;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.resolved.policy.rev150828.has.resolved.rules.ResolvedRuleBuilder;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.resolved.policy.rev150828.resolved.policies.ResolvedPolicy;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.resolved.policy.rev150828.resolved.policies.ResolvedPolicyBuilder;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.resolved.policy.rev150828.resolved.policies.resolved.policy.PolicyRuleGroupWithEndpointConstraints;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.resolved.policy.rev150828.resolved.policies.resolved.policy.PolicyRuleGroupWithEndpointConstraintsBuilder;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.resolved.policy.rev150828.resolved.policies.resolved.policy.policy.rule.group.with.endpoint.constraints.PolicyRuleGroup;
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.resolved.policy.rev150828.resolved.policies.resolved.policy.policy.rule.group.with.endpoint.constraints.PolicyRuleGroupBuilder;
28 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
29
30 public class TestUtils {
31
32     // taken from org.opendaylight.groupbasedpolicy.renderer.faas.FaasPolicyManagerTest
33     // by Khaldoon Al-zoubi; modified as necessary
34     public static ResolvedPolicy newResolvedPolicy(TenantId tenantId, ContractId contractId, SubjectName subjectName,
35             RuleName ruleName, EndpointGroupId consumerEpgId, EndpointGroupId providerEpgId, Classifier classifier) {
36         ResolvedPolicyBuilder builder = new ResolvedPolicyBuilder();
37         builder.setConsumerEpgId(consumerEpgId);
38         builder.setConsumerTenantId(tenantId);
39         builder.setProviderEpgId(providerEpgId);
40         builder.setProviderTenantId(tenantId);
41         List<PolicyRuleGroupWithEndpointConstraints> pRulesGrpsWEp = new ArrayList<>();
42         PolicyRuleGroupWithEndpointConstraintsBuilder pRulesGrpWEp =
43                 new PolicyRuleGroupWithEndpointConstraintsBuilder();
44         List<PolicyRuleGroup> pRulesGrps = new ArrayList<>();
45         PolicyRuleGroupBuilder pRulesGrp = new PolicyRuleGroupBuilder();
46         pRulesGrp.setContractId(contractId);
47         pRulesGrp.setTenantId(tenantId);
48         pRulesGrp.setSubjectName(subjectName);
49         pRulesGrp.setResolvedRule(ImmutableList
50             .of(new ResolvedRuleBuilder().setName(ruleName).setClassifier(ImmutableList.of(classifier)).build()));
51         pRulesGrps.add(pRulesGrp.build());
52         pRulesGrpWEp.setPolicyRuleGroup(pRulesGrps);
53         pRulesGrpsWEp.add(pRulesGrpWEp.build());
54         builder.setPolicyRuleGroupWithEndpointConstraints(pRulesGrpsWEp);
55         return builder.build();
56     }
57
58     public static InstanceIdentifier<Classifier> getClassifierIid(
59             Map<InstanceIdentifier<Classifier>, Classifier> resolvedClassifiers) {
60         Map.Entry<InstanceIdentifier<Classifier>, Classifier> firstEntry =
61                 resolvedClassifiers.entrySet().iterator().next();
62         return firstEntry.getKey();
63     }
64 }