2 * Copyright (C) 2016 Intel, Corp.
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.neutron.spi;
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;
17 public class NeutronQosJAXBTest {
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 } ] " +
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());
39 Assert.assertEquals("NeutronQosPolicy JAXB Test 2: Testing tenant_id failed",
40 "aa902936679e4ea29bfe1158e3450a13", neutronObject.getTenantID());
42 Assert.assertEquals("NeutronQosPolicy JAXB Test 3 : Testing Name failed", "jaxb-test",
43 neutronObject.getQosPolicyName());
45 Assert.assertFalse("NeutronQosPolicy JaxB Test 4 : Testing Shared failed",
46 neutronObject.getPolicyIsShared());
48 List<NeutronQosBandwidthRule> bwPolicyRules = neutronObject.getBwLimitRules();
51 "NeutronQosPolicy JAXB Test 5.0: Testing Bandwidth Policy length failed", 1,
52 bwPolicyRules.size());
54 Assert.assertEquals("NeutronQosPolicy JaxB Test 5.1 : Testing ID failed",
55 "d6220bbb-35f3-48ab-8eae-69c60aef3547", bwPolicyRules.get(0).uuid);
57 Assert.assertEquals("NeutronQosPolicy JaxB Test 5.2 : Testing Tenant ID failed",
58 "aa902936679e4ea29bfe1158e3450a14", bwPolicyRules.get(0).tenantID);
61 "NeutronQosPolicy JaxB Test 5.3 : Testing Max ingress/Egress value failed",
62 new BigInteger("25"), bwPolicyRules.get(0).maxKbps);
64 Assert.assertEquals("NeutronQosPolicy JaxB Test 5.4 : Testing Maximum Burst value failed",
65 new BigInteger("100"), bwPolicyRules.get(0).maxBurstKbps);
67 List<NeutronQosDscpMarkingRule> dscpPolicyRules = neutronObject.getDscpRules();
70 "NeutronQosPolicy JAXB Test 6.0: Testing Bandwidth Policy length failed", 1,
71 dscpPolicyRules.size());
73 Assert.assertEquals("NeutronQosPolicy JaxB Test 6.1 : Testing ID failed",
74 "d6220bbb-35f3-48ab-8eae-69c60aef3547", dscpPolicyRules.get(0).uuid);
76 Assert.assertEquals("NeutronQosPolicy JaxB Test 6.2 : Testing Tenant ID failed",
77 "aa902936679e4ea29bfe1158e3450a14", dscpPolicyRules.get(0).tenantID);
80 "NeutronQosPolicy JaxB Test 6.3 : Testing Max ingress/Egress value failed",
81 new Short("8"), dscpPolicyRules.get(0).dscpMark);