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.rev161107.TosByte;
19 import org.opendaylight.yang.gen.v1.urn.packetcable.rev161107.TpProtocol;
20 import org.opendaylight.yang.gen.v1.urn.packetcable.rev161107.pcmm.qos.ext.classifier.ExtClassifier;
21 import org.opendaylight.yang.gen.v1.urn.packetcable.rev161107.pcmm.qos.ext.classifier.ExtClassifierBuilder;
26 @Params.AlwaysUseParams
27 public class ExtClassifierValidatorTest {
30 public Params<Validator.Extent> extentParams = Params.of(Validator.Extent.class);
32 private final ExtClassifierValidator validator = new ExtClassifierValidator();
34 @Test(expected = ValidationException.class)
35 public void nullExtClassifier() throws ValidationException {
36 validator.validate(null, extentParams.getCurrentParam());
39 @Test(expected = NullPointerException.class)
40 public void nullExtent() throws ValidationException {
41 validator.validate(buildValidExtClassifier(), null);
45 public void nullSrcIp() throws ValidationException {
46 ExtClassifier extClassifier = new ExtClassifierBuilder(buildValidExtClassifier())
50 validator.validate(extClassifier, extentParams.getCurrentParam());
54 public void nullSrcPortStart() throws ValidationException {
55 ExtClassifier extClassifier = new ExtClassifierBuilder(buildValidExtClassifier())
56 .setSrcPortStart(null)
59 validator.validate(extClassifier, extentParams.getCurrentParam());
63 public void nullSrcPortEnd() throws ValidationException {
64 ExtClassifier extClassifier = new ExtClassifierBuilder(buildValidExtClassifier())
68 validator.validate(extClassifier, extentParams.getCurrentParam());
72 public void nullDstIp() throws ValidationException {
73 ExtClassifier extClassifier = new ExtClassifierBuilder(buildValidExtClassifier())
77 validator.validate(extClassifier, extentParams.getCurrentParam());
81 public void nullDstPortStart() throws ValidationException {
82 ExtClassifier extClassifier = new ExtClassifierBuilder(buildValidExtClassifier())
83 .setDstPortStart(null)
86 validator.validate(extClassifier, extentParams.getCurrentParam());
90 public void nullDstPortEnd() throws ValidationException {
91 ExtClassifier extClassifier = new ExtClassifierBuilder(buildValidExtClassifier())
95 validator.validate(extClassifier, extentParams.getCurrentParam());
99 public void nullProtocol() throws ValidationException {
100 ExtClassifier extClassifier = new ExtClassifierBuilder(buildValidExtClassifier())
104 validator.validate(extClassifier, extentParams.getCurrentParam());
108 public void nullTosByte() throws ValidationException {
109 ExtClassifier extClassifier = new ExtClassifierBuilder(buildValidExtClassifier())
113 validator.validate(extClassifier, extentParams.getCurrentParam());
117 public void nullTosMask() throws ValidationException {
118 ExtClassifier extClassifier = new ExtClassifierBuilder(buildValidExtClassifier())
122 validator.validate(extClassifier, extentParams.getCurrentParam());
126 public void valid() throws ValidationException {
127 ExtClassifier extClassifier = buildValidExtClassifier();
129 validator.validate(extClassifier, extentParams.getCurrentParam());
132 public static ExtClassifier buildValidExtClassifier() {
133 return new ExtClassifierBuilder()
134 .setSrcIp(new Ipv4Address("10.0.0.100"))
135 .setSrcIpMask(new Ipv4Address("255.255.255.0"))
136 .setSrcPortStart(new PortNumber(7000))
137 .setSrcPortEnd(new PortNumber((7005)))
138 .setDstIp(new Ipv4Address("10.0.0.200"))
139 .setDstIpMask(new Ipv4Address("255.255.255.0"))
140 .setDstPortStart(new PortNumber(7000))
141 .setDstPortEnd(new PortNumber(7005))
142 .setProtocol(new TpProtocol(127))
143 .setTosByte(new TosByte((short)0x10))
144 .setTosMask(new TosByte((short)0xf0))