1 /* Copyright (C)2013 Pantheon Technologies, s.r.o. All rights reserved. */
2 package org.opendaylight.openflowjava.protocol.impl.deserialization.factories;
4 import io.netty.buffer.ByteBuf;
6 import org.junit.Assert;
8 import org.opendaylight.openflowjava.protocol.impl.util.BufferHelper;
9 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.ErrorMessage;
12 * @author michal.polkorab
13 * @author timotej.kubas
15 public class ErrorMessageFactoryTest {
18 * Test of {@link ErrorMessageFactory} for correct translation into POJO
21 public void testWithoutData() {
22 ByteBuf bb = BufferHelper.buildBuffer("00 01 00 02");
23 ErrorMessage builtByFactory = BufferHelper.decodeV13(
24 ErrorMessageFactory.getInstance(), bb);
26 BufferHelper.checkHeaderV13(builtByFactory);
27 Assert.assertEquals("Wrong type", 1, builtByFactory.getType().intValue());
28 Assert.assertEquals("Wrong code", 2, builtByFactory.getCode().intValue());
29 Assert.assertEquals("Wrong type string", "BADREQUEST", builtByFactory.getTypeString());
30 Assert.assertEquals("Wrong code string", "BADMULTIPART", builtByFactory.getCodeString());
31 Assert.assertNull("Data is not null", builtByFactory.getData());
35 * Test of {@link ErrorMessageFactory} for correct translation into POJO
38 public void testWithData() {
39 ByteBuf bb = BufferHelper.buildBuffer("00 00 00 01 00 01 02 03");
40 ErrorMessage builtByFactory = BufferHelper.decodeV13(
41 ErrorMessageFactory.getInstance(), bb);
43 BufferHelper.checkHeaderV13(builtByFactory);
44 Assert.assertEquals("Wrong type", 0, builtByFactory.getType().intValue());
45 Assert.assertEquals("Wrong code", 1, builtByFactory.getCode().intValue());
46 Assert.assertEquals("Wrong type string", "HELLOFAILED", builtByFactory.getTypeString());
47 Assert.assertEquals("Wrong code string", "EPERM", builtByFactory.getCodeString());
48 Assert.assertArrayEquals("Wrong data", new byte[]{0x00, 0x01, 0x02, 0x03}, builtByFactory.getData());
52 * Test of {@link ErrorMessageFactory} for correct translation into POJO
55 public void testWithIncorrectTypeEnum() {
56 ByteBuf bb = BufferHelper.buildBuffer("00 20 00 05 00 01 02 03");
57 ErrorMessage builtByFactory = BufferHelper.decodeV13(
58 ErrorMessageFactory.getInstance(), bb);
60 BufferHelper.checkHeaderV13(builtByFactory);
61 Assert.assertEquals("Wrong type", 32, builtByFactory.getType().intValue());
62 Assert.assertEquals("Wrong code", 5, builtByFactory.getCode().intValue());
63 Assert.assertEquals("Wrong type string", "UNKNOWN_TYPE", builtByFactory.getTypeString());
64 Assert.assertEquals("Wrong code string", "UNKNOWN_CODE", builtByFactory.getCodeString());
65 Assert.assertArrayEquals("Wrong data", new byte[]{0x00, 0x01, 0x02, 0x03}, builtByFactory.getData());
69 * Test of {@link ErrorMessageFactory} for correct translation into POJO
72 public void testWithIncorrectCodeEnum() {
73 ByteBuf bb = BufferHelper.buildBuffer("00 03 00 10 00 01 02 03");
74 ErrorMessage builtByFactory = BufferHelper.decodeV13(
75 ErrorMessageFactory.getInstance(), bb);
77 BufferHelper.checkHeaderV13(builtByFactory);
78 Assert.assertEquals("Wrong type", 3, builtByFactory.getType().intValue());
79 Assert.assertEquals("Wrong code", 16, builtByFactory.getCode().intValue());
80 Assert.assertEquals("Wrong type string", "BADINSTRUCTION", builtByFactory.getTypeString());
81 Assert.assertEquals("Wrong code string", "UNKNOWN_CODE", builtByFactory.getCodeString());
82 Assert.assertArrayEquals("Wrong data", new byte[]{0x00, 0x01, 0x02, 0x03}, builtByFactory.getData());