1 package org.opendaylight.groupbasedpolicy.sf;
3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.assertNotNull;
5 import static org.junit.Assert.assertTrue;
9 import com.google.common.collect.ImmutableList;
10 import org.junit.Before;
11 import org.junit.Test;
12 import org.opendaylight.groupbasedpolicy.dto.ValidationResultBuilder;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ClassifierDefinitionId;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ClassifierName;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ParameterName;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.subject.feature.instance.ParameterValueBuilder;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.policy.subject.feature.instances.ClassifierInstanceBuilder;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.rev151103.RendererName;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.rev151103.has.parameters.type.parameter.type.IntBuilder;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.rev151103.renderers.renderer.capabilities.SupportedClassifierDefinition;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.rev151103.renderers.renderer.capabilities.SupportedClassifierDefinitionBuilder;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.rev151103.renderers.renderer.capabilities.supported.classifier.definition.SupportedParameterValues;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.rev151103.renderers.renderer.capabilities.supported.classifier.definition.SupportedParameterValuesBuilder;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.rev151103.supported._int.value.fields.SupportedIntValueInRangeBuilder;
26 public class ClassifierInstanceValidatorTest {
28 private static final String RENDERER = "renderer";
29 private static final String PARENT_CLASSIFIER_DEFINITION_ID = "cdId-0";
30 private static final String CLASSIFIER_DEFINITION_ID = "cdId-1";
31 private static final String PARAM_NAME = "param_name";
32 private static final String CLASSIFIER1 = "classifier1";
33 private ClassifierDefinitionId cdId;
34 private ClassifierDefinitionId parentCdId;
35 private List<SupportedParameterValues> supportedParameterValues;
39 cdId = new ClassifierDefinitionId(CLASSIFIER_DEFINITION_ID);
40 parentCdId = new ClassifierDefinitionId(PARENT_CLASSIFIER_DEFINITION_ID);
41 supportedParameterValues =
43 new SupportedParameterValuesBuilder().setParameterName(new ParameterName(PARAM_NAME))
44 .setParameterType(new IntBuilder()
45 .setSupportedIntValueInRange(ImmutableList
46 .of(new SupportedIntValueInRangeBuilder().setMin(0l).setMax(1000l).build()))
52 public void testConstructor() {
54 SupportedClassifierDefinition constraint = new SupportedClassifierDefinitionBuilder()
55 .setClassifierDefinitionId(cdId)
56 .setParentClassifierDefinitionId(parentCdId)
57 .setSupportedParameterValues(supportedParameterValues)
59 RendererName rendererName = new RendererName(RENDERER);
61 ClassifierInstanceValidator validator = new ClassifierInstanceValidator(constraint, rendererName);
63 assertEquals(CLASSIFIER_DEFINITION_ID, validator.getClassifierDefinitionId().getValue());
64 assertNotNull(validator.getParentClassifierDefinitionId());
65 assertEquals(PARENT_CLASSIFIER_DEFINITION_ID, validator.getParentClassifierDefinitionId().getValue());
66 assertEquals(RENDERER, validator.getRendererName().getValue());
67 assertEquals(supportedParameterValues.size(), validator.getSupportedParameters().size());
71 public void testConstructor_noSupportedParameters() {
73 SupportedClassifierDefinition constraint = new SupportedClassifierDefinitionBuilder()
74 .setClassifierDefinitionId(cdId).setParentClassifierDefinitionId(parentCdId).build();
75 RendererName rendererName = new RendererName(RENDERER);
77 ClassifierInstanceValidator validator = new ClassifierInstanceValidator(constraint, rendererName);
79 assertEquals(CLASSIFIER_DEFINITION_ID, validator.getClassifierDefinitionId().getValue());
80 assertNotNull(validator.getParentClassifierDefinitionId());
81 assertEquals(PARENT_CLASSIFIER_DEFINITION_ID, validator.getParentClassifierDefinitionId().getValue());
82 assertEquals(RENDERER, validator.getRendererName().getValue());
83 assertTrue(validator.getSupportedParameters().isEmpty());
87 public void testValidate() {
88 ClassifierInstanceBuilder ciBuilder = new ClassifierInstanceBuilder();
89 ciBuilder.setName(new ClassifierName(CLASSIFIER1));
90 ciBuilder.setParameterValue(ImmutableList
91 .of(new ParameterValueBuilder().setName(new ParameterName(PARAM_NAME)).setIntValue(100l).build()));
93 SupportedClassifierDefinition constraint = new SupportedClassifierDefinitionBuilder()
94 .setClassifierDefinitionId(cdId)
95 .setParentClassifierDefinitionId(parentCdId)
96 .setSupportedParameterValues(supportedParameterValues)
98 RendererName rendererName = new RendererName(RENDERER);
100 ClassifierInstanceValidator validator = new ClassifierInstanceValidator(constraint, rendererName);
102 assertEquals(new ValidationResultBuilder().success().build(), validator.validate(ciBuilder.build()));