2 * Copyright (c) 2015 CableLabs and others. All rights reserved.
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
9 package org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos.classifier;
11 import org.junit.Rule;
12 import org.junit.Test;
13 import org.opendaylight.controller.packetcable.provider.test.rules.Params;
14 import org.opendaylight.controller.packetcable.provider.validation.ValidationException;
15 import org.opendaylight.controller.packetcable.provider.validation.Validator;
16 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
17 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;
18 import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ClassifierActivationState;
19 import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.TosByte;
20 import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.TpProtocol;
21 import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.ext.classifier.ExtClassifier;
22 import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.ext.classifier.ExtClassifierBuilder;
27 @Params.AlwaysUseParams
28 public class ExtClassifierValidatorTest {
31 public Params<Validator.Extent> extentParams = Params.of(Validator.Extent.class);
33 private final ExtClassifierValidator validator = new ExtClassifierValidator();
35 @Test(expected = ValidationException.class)
36 public void nullExtClassifier() throws ValidationException {
37 validator.validate(null, extentParams.getCurrentParam());
40 @Test(expected = NullPointerException.class)
41 public void nullExtent() throws ValidationException {
42 validator.validate(buildValidExtClassifier(), null);
46 public void nullSrcIp() throws ValidationException {
47 ExtClassifier extClassifier = new ExtClassifierBuilder(buildValidExtClassifier())
51 validator.validate(extClassifier, extentParams.getCurrentParam());
55 public void nullSrcPortStart() throws ValidationException {
56 ExtClassifier extClassifier = new ExtClassifierBuilder(buildValidExtClassifier())
57 .setSrcPortStart(null)
60 validator.validate(extClassifier, extentParams.getCurrentParam());
64 public void nullSrcPortEnd() throws ValidationException {
65 ExtClassifier extClassifier = new ExtClassifierBuilder(buildValidExtClassifier())
69 validator.validate(extClassifier, extentParams.getCurrentParam());
73 public void nullDstIp() throws ValidationException {
74 ExtClassifier extClassifier = new ExtClassifierBuilder(buildValidExtClassifier())
78 validator.validate(extClassifier, extentParams.getCurrentParam());
82 public void nullDstPortStart() throws ValidationException {
83 ExtClassifier extClassifier = new ExtClassifierBuilder(buildValidExtClassifier())
84 .setDstPortStart(null)
87 validator.validate(extClassifier, extentParams.getCurrentParam());
91 public void nullDstPortEnd() throws ValidationException {
92 ExtClassifier extClassifier = new ExtClassifierBuilder(buildValidExtClassifier())
96 validator.validate(extClassifier, extentParams.getCurrentParam());
100 public void nullProtocol() throws ValidationException {
101 ExtClassifier extClassifier = new ExtClassifierBuilder(buildValidExtClassifier())
105 validator.validate(extClassifier, extentParams.getCurrentParam());
109 public void nullTosByte() throws ValidationException {
110 ExtClassifier extClassifier = new ExtClassifierBuilder(buildValidExtClassifier())
114 validator.validate(extClassifier, extentParams.getCurrentParam());
118 public void nullTosMask() throws ValidationException {
119 ExtClassifier extClassifier = new ExtClassifierBuilder(buildValidExtClassifier())
123 validator.validate(extClassifier, extentParams.getCurrentParam());
127 public void valid() throws ValidationException {
128 ExtClassifier extClassifier = buildValidExtClassifier();
130 validator.validate(extClassifier, extentParams.getCurrentParam());
133 public static ExtClassifier buildValidExtClassifier() {
134 return new ExtClassifierBuilder()
135 .setSrcIp(new Ipv4Address("10.0.0.100"))
136 .setSrcIpMask(new Ipv4Address("255.255.255.0"))
137 .setSrcPortStart(new PortNumber(7000))
138 .setSrcPortEnd(new PortNumber((7005)))
139 .setDstIp(new Ipv4Address("10.0.0.200"))
140 .setDstIpMask(new Ipv4Address("255.255.255.0"))
141 .setDstPortStart(new PortNumber(7000))
142 .setDstPortEnd(new PortNumber(7005))
143 .setProtocol(new TpProtocol(127))
144 .setTosByte(new TosByte((short)0x10))
145 .setTosMask(new TosByte((short)0xf0))
146 .setActivationState(ClassifierActivationState.Active)