Fix Long literal for checkstyle groupbasedpolicy-base
[groupbasedpolicy.git] / groupbasedpolicy / src / test / java / org / opendaylight / groupbasedpolicy / sf / ClassifierInstanceValidatorTest.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.sf;
9
10 import static org.junit.Assert.assertEquals;
11 import static org.junit.Assert.assertNotNull;
12 import static org.junit.Assert.assertTrue;
13
14 import java.util.List;
15
16 import com.google.common.collect.ImmutableList;
17 import org.junit.Before;
18 import org.junit.Test;
19 import org.opendaylight.groupbasedpolicy.dto.ValidationResultBuilder;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ClassifierDefinitionId;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ClassifierName;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ParameterName;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.subject.feature.instance.ParameterValueBuilder;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.policy.subject.feature.instances.ClassifierInstanceBuilder;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.rev151103.RendererName;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.rev151103.has.parameters.type.parameter.type.IntBuilder;
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.rev151103.renderers.renderer.capabilities.SupportedClassifierDefinition;
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.rev151103.renderers.renderer.capabilities.SupportedClassifierDefinitionBuilder;
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.rev151103.renderers.renderer.capabilities.supported.classifier.definition.SupportedParameterValues;
30 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.rev151103.renderers.renderer.capabilities.supported.classifier.definition.SupportedParameterValuesBuilder;
31 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.rev151103.supported._int.value.fields.SupportedIntValueInRangeBuilder;
32
33 public class ClassifierInstanceValidatorTest {
34
35     private static final String RENDERER = "renderer";
36     private static final String PARENT_CLASSIFIER_DEFINITION_ID = "cdId-0";
37     private static final String CLASSIFIER_DEFINITION_ID = "cdId-1";
38     private static final String PARAM_NAME = "param_name";
39     private static final String CLASSIFIER1 = "classifier1";
40     private ClassifierDefinitionId cdId;
41     private ClassifierDefinitionId parentCdId;
42     private List<SupportedParameterValues> supportedParameterValues;
43
44     @Before
45     public void init() {
46         cdId = new ClassifierDefinitionId(CLASSIFIER_DEFINITION_ID);
47         parentCdId = new ClassifierDefinitionId(PARENT_CLASSIFIER_DEFINITION_ID);
48         supportedParameterValues =
49                 ImmutableList.of(
50                         new SupportedParameterValuesBuilder().setParameterName(new ParameterName(PARAM_NAME))
51                             .setParameterType(new IntBuilder()
52                                 .setSupportedIntValueInRange(ImmutableList
53                                     .of(new SupportedIntValueInRangeBuilder().setMin(0L).setMax(1000L).build()))
54                                 .build())
55                             .build());
56     }
57
58     @Test
59     public void testConstructor() {
60
61         SupportedClassifierDefinition constraint = new SupportedClassifierDefinitionBuilder()
62             .setClassifierDefinitionId(cdId)
63             .setParentClassifierDefinitionId(parentCdId)
64             .setSupportedParameterValues(supportedParameterValues)
65             .build();
66         RendererName rendererName = new RendererName(RENDERER);
67
68         ClassifierInstanceValidator validator = new ClassifierInstanceValidator(constraint, rendererName);
69
70         assertEquals(CLASSIFIER_DEFINITION_ID, validator.getClassifierDefinitionId().getValue());
71         assertNotNull(validator.getParentClassifierDefinitionId());
72         assertEquals(PARENT_CLASSIFIER_DEFINITION_ID, validator.getParentClassifierDefinitionId().getValue());
73         assertEquals(RENDERER, validator.getRendererName().getValue());
74         assertEquals(supportedParameterValues.size(), validator.getSupportedParameters().size());
75     }
76
77     @Test
78     public void testConstructor_noSupportedParameters() {
79
80         SupportedClassifierDefinition constraint = new SupportedClassifierDefinitionBuilder()
81             .setClassifierDefinitionId(cdId).setParentClassifierDefinitionId(parentCdId).build();
82         RendererName rendererName = new RendererName(RENDERER);
83
84         ClassifierInstanceValidator validator = new ClassifierInstanceValidator(constraint, rendererName);
85
86         assertEquals(CLASSIFIER_DEFINITION_ID, validator.getClassifierDefinitionId().getValue());
87         assertNotNull(validator.getParentClassifierDefinitionId());
88         assertEquals(PARENT_CLASSIFIER_DEFINITION_ID, validator.getParentClassifierDefinitionId().getValue());
89         assertEquals(RENDERER, validator.getRendererName().getValue());
90         assertTrue(validator.getSupportedParameters().isEmpty());
91     }
92
93     @Test
94     public void testValidate() {
95         ClassifierInstanceBuilder ciBuilder = new ClassifierInstanceBuilder();
96         ciBuilder.setName(new ClassifierName(CLASSIFIER1));
97         ciBuilder.setParameterValue(ImmutableList
98             .of(new ParameterValueBuilder().setName(new ParameterName(PARAM_NAME)).setIntValue(100L).build()));
99
100         SupportedClassifierDefinition constraint = new SupportedClassifierDefinitionBuilder()
101             .setClassifierDefinitionId(cdId)
102             .setParentClassifierDefinitionId(parentCdId)
103             .setSupportedParameterValues(supportedParameterValues)
104             .build();
105         RendererName rendererName = new RendererName(RENDERER);
106
107         ClassifierInstanceValidator validator = new ClassifierInstanceValidator(constraint, rendererName);
108
109         assertEquals(new ValidationResultBuilder().success().build(), validator.validate(ciBuilder.build()));
110     }
111
112 }