Checkstyle Import issues fix (SPI tests,Northbound API)
[neutron.git] / neutron-spi / src / test / java / org / opendaylight / neutron / spi / NeutronQosJAXBTest.java
1 /*
2  * Copyright (C) 2016 Intel, Corp.
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
9 package org.opendaylight.neutron.spi;
10
11 import java.math.BigInteger;
12 import java.util.List;
13 import javax.xml.bind.JAXBException;
14 import org.junit.Assert;
15 import org.junit.Test;
16
17 public class NeutronQosJAXBTest {
18
19     private static final String NeutronQosPolicy_sourceJson =
20         "{" + "\"id\": \"d6220bbb-35f3-48ab-8eae-69c60aef3546\"," +
21         "\"tenant_id\": \"aa902936679e4ea29bfe1158e3450a13\"," + "\"name\": \"jaxb-test\", " +
22         " \"shared\": false," + "\"rule_type\": \"rule\", " +
23         "\"bandwidth_limit_rules\": [ {\"id\": \"d6220bbb-35f3-48ab-8eae-69c60aef3547\", " +
24         "\"tenant_id\": \"aa902936679e4ea29bfe1158e3450a14\"," + "\"max_kbps\": 25, " +
25         "\"max_burst_kbps\": 100 } ]," +
26         "\"dscp_marking_rules\": [ {\"id\": \"d6220bbb-35f3-48ab-8eae-69c60aef3547\"," +
27         " \"tenant_id\": \"aa902936679e4ea29bfe1158e3450a14\", " +
28         "\"dscp_mark\": 8 } ] " +
29         "}";
30
31     @Test
32     public void test_NeutronQosPolicy_JAXB() throws JAXBException {
33         NeutronQosPolicy testObject = new NeutronQosPolicy();
34         NeutronQosPolicy neutronObject = (NeutronQosPolicy) JaxbTestHelper
35             .jaxbUnmarshall(testObject, NeutronQosPolicy_sourceJson);
36         Assert.assertEquals("NeutronQosPolicy JAXB Test 1: Testing id failed",
37             "d6220bbb-35f3-48ab-8eae-69c60aef3546", neutronObject.getID());
38
39         Assert.assertEquals("NeutronQosPolicy JAXB Test 2: Testing tenant_id failed",
40             "aa902936679e4ea29bfe1158e3450a13", neutronObject.getTenantID());
41
42         Assert.assertEquals("NeutronQosPolicy JAXB Test 3 : Testing Name failed", "jaxb-test",
43             neutronObject.getQosPolicyName());
44
45         Assert.assertFalse("NeutronQosPolicy JaxB Test 4 : Testing Shared failed",
46             neutronObject.getPolicyIsShared());
47
48         List<NeutronQosBandwidthRule> bwPolicyRules = neutronObject.getBwLimitRules();
49
50         Assert.assertEquals(
51             "NeutronQosPolicy JAXB Test 5.0: Testing Bandwidth Policy length failed", 1,
52             bwPolicyRules.size());
53
54         Assert.assertEquals("NeutronQosPolicy JaxB Test 5.1 : Testing ID failed",
55             "d6220bbb-35f3-48ab-8eae-69c60aef3547", bwPolicyRules.get(0).uuid);
56
57         Assert.assertEquals("NeutronQosPolicy JaxB Test 5.2 : Testing Tenant ID failed",
58             "aa902936679e4ea29bfe1158e3450a14", bwPolicyRules.get(0).tenantID);
59
60         Assert.assertEquals(
61             "NeutronQosPolicy JaxB Test 5.3 : Testing Max ingress/Egress value failed",
62             new BigInteger("25"), bwPolicyRules.get(0).maxKbps);
63
64         Assert.assertEquals("NeutronQosPolicy JaxB Test 5.4 : Testing Maximum Burst value failed",
65             new BigInteger("100"), bwPolicyRules.get(0).maxBurstKbps);
66
67         List<NeutronQosDscpMarkingRule> dscpPolicyRules = neutronObject.getDscpRules();
68
69         Assert.assertEquals(
70             "NeutronQosPolicy JAXB Test 6.0: Testing Bandwidth Policy length failed", 1,
71             dscpPolicyRules.size());
72
73         Assert.assertEquals("NeutronQosPolicy JaxB Test 6.1 : Testing ID failed",
74             "d6220bbb-35f3-48ab-8eae-69c60aef3547", dscpPolicyRules.get(0).uuid);
75
76         Assert.assertEquals("NeutronQosPolicy JaxB Test 6.2 : Testing Tenant ID failed",
77             "aa902936679e4ea29bfe1158e3450a14", dscpPolicyRules.get(0).tenantID);
78
79         Assert.assertEquals(
80             "NeutronQosPolicy JaxB Test 6.3 : Testing Max ingress/Egress value failed",
81             new Short("8"), dscpPolicyRules.get(0).dscpMark);
82     }
83 }