blob: 7c97ff433f0844710044a31724f9250533833376 [file] [log] [blame]
Ray Milkeyb9af9462015-07-17 11:12:09 -07001/*
Brian O'Connor5ab426f2016-04-09 01:19:45 -07002 * Copyright 2015-present Open Networking Laboratory
Ray Milkeyb9af9462015-07-17 11:12:09 -07003 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package org.onosproject.codec.impl;
17
18import org.junit.Test;
19import org.onosproject.net.statistic.DefaultLoad;
20import org.onosproject.net.statistic.Load;
21
22import com.fasterxml.jackson.databind.JsonNode;
23
24import static org.hamcrest.MatcherAssert.assertThat;
25import static org.hamcrest.Matchers.greaterThanOrEqualTo;
26import static org.hamcrest.Matchers.is;
27
28/**
29 * Unit tests for Load codec.
30 */
31public class LoadCodecTest {
32
33 /**
34 * Tests encoding of a Load object.
35 */
36 @Test
37 public void testLoadEncode() {
38 final long startTime = System.currentTimeMillis();
39 final Load load = new DefaultLoad(20, 10, 1);
40 final JsonNode node = new LoadCodec()
41 .encode(load, new MockCodecContext());
42 assertThat(node.get("valid").asBoolean(), is(true));
43 assertThat(node.get("latest").asLong(), is(20L));
44 assertThat(node.get("rate").asLong(), is(10L));
45 assertThat(node.get("time").asLong(), greaterThanOrEqualTo(startTime));
46 }
47}