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.ccaps;
11 import java.util.Collections;
12 import org.junit.Rule;
13 import org.junit.Test;
14 import org.opendaylight.controller.packetcable.provider.test.rules.Params;
15 import org.opendaylight.controller.packetcable.provider.validation.ValidationException;
16 import org.opendaylight.controller.packetcable.provider.validation.Validator;
17 import org.opendaylight.yang.gen.v1.urn.packetcable.rev151101.ServiceClassName;
18 import org.opendaylight.yang.gen.v1.urn.packetcable.rev151101.ccaps.Ccap;
19 import org.opendaylight.yang.gen.v1.urn.packetcable.rev151101.ccaps.CcapBuilder;
24 @Params.AlwaysUseParams
25 public class CcapValidatorTest {
28 public Params<Validator.Extent> extentParams = Params.of(Validator.Extent.class);
30 private final CcapValidator validator = new CcapValidator();
32 @Test(expected = ValidationException.class)
33 public void testNullCcap() throws ValidationException {
34 validator.validate(null, extentParams.getCurrentParam());
37 @Params.DoNotUseParams
38 @Test(expected = NullPointerException.class)
39 public void testNullExtent() throws ValidationException {
40 validator.validate(buildValidCcapTree(), null);
43 @Test(expected = ValidationException.class)
44 public void testNullCcapId() throws ValidationException {
45 final Ccap ccap = new CcapBuilder(buildValidCcapTree())
46 // key is based off of CcapId so clear that too
51 validator.validate(ccap, extentParams.getCurrentParam());
54 @Test(expected = ValidationException.class)
55 public void testNullDownstreamScns() throws ValidationException {
56 final Ccap ccap = new CcapBuilder(buildValidCcapTree())
57 .setDownstreamScns(null)
60 validator.validate(ccap, extentParams.getCurrentParam());
63 @Test(expected = ValidationException.class)
64 public void testEmptyDownstreamScns() throws ValidationException {
65 final Ccap ccap = new CcapBuilder(buildValidCcapTree())
66 .setDownstreamScns(Collections.<ServiceClassName>emptyList())
69 validator.validate(ccap, extentParams.getCurrentParam());
72 @Test(expected = ValidationException.class)
73 public void testNullUpstreamScns() throws ValidationException {
74 final Ccap ccap = new CcapBuilder(buildValidCcapTree())
75 .setUpstreamScns(null)
78 validator.validate(ccap, extentParams.getCurrentParam());
81 @Test(expected = ValidationException.class)
82 public void testEmptyUpstreamScns() throws ValidationException {
83 final Ccap ccap = new CcapBuilder(buildValidCcapTree())
84 .setUpstreamScns(Collections.<ServiceClassName>emptyList())
87 validator.validate(ccap, extentParams.getCurrentParam());
90 @Test(expected = ValidationException.class)
91 public void testNullAmId() throws ValidationException {
92 final Ccap ccap = new CcapBuilder(buildValidCcapTree())
96 validator.validate(ccap, extentParams.getCurrentParam());
99 @Test(expected = ValidationException.class)
100 public void testNullConnection() throws ValidationException {
101 final Ccap ccap = new CcapBuilder(buildValidCcapTree())
105 validator.validate(ccap, extentParams.getCurrentParam());
109 public void testValid() throws ValidationException {
110 final Ccap ccap = buildValidCcapTree();
112 validator.validate(ccap, extentParams.getCurrentParam());
115 public static Ccap buildValidCcapTree() {
116 return new CcapBuilder()
117 .setCcapId("aCcapId")
118 .setDownstreamScns(Collections.singletonList(new ServiceClassName("down_scn")))
119 .setUpstreamScns(Collections.singletonList(new ServiceClassName("up_scn")))
120 .setAmId(AmIdValidatorTest.buildValidAmIdTree())
121 .setConnection(ConnectionValidatorTest.buildValidConnectionTree())