/* * Copyright (c) 2014 Pantheon Technologies s.r.o. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.openflowjava.protocol.impl.deserialization; import org.junit.Assert; import org.junit.Test; import org.opendaylight.openflowjava.protocol.api.keys.MessageCodeKey; import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants; import org.opendaylight.openflowjava.protocol.impl.util.MatchDeserializer; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.grouping.Match; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.v10.grouping.MatchV10; /** * * @author madamjak * */ public class DeserializerRegistryImplTest { private static final short OF13 = EncodeConstants.OF13_VERSION_ID; private static final short OF10 = EncodeConstants.OF10_VERSION_ID; private static final int EMPTY_VALUE = EncodeConstants.EMPTY_VALUE; /** * Test - register deserializer without arguments */ @Test(expected = IllegalArgumentException.class) public void testRegisterDeserializerNoArgs(){ DeserializerRegistryImpl serReg = new DeserializerRegistryImpl(); serReg.registerDeserializer(null, null); } /** * Test - register deserializer with no key */ @Test(expected = IllegalArgumentException.class) public void testRegisterDeserializerNoKey(){ DeserializerRegistryImpl serReg = new DeserializerRegistryImpl(); serReg.registerDeserializer(null, new MatchDeserializer()); } /** * Test - register deserializer with no deserializer */ @Test(expected = IllegalArgumentException.class) public void testRegisterDeserializerNoDeserializer(){ DeserializerRegistryImpl serReg = new DeserializerRegistryImpl(); serReg.registerDeserializer(new MessageCodeKey(OF13, EMPTY_VALUE, Match.class), null); } /** * Test - unregister deserializer without MessageTypeKey */ @Test(expected = IllegalArgumentException.class) public void testUnRegisterDeserializerNoMessageTypeKey(){ DeserializerRegistryImpl derserReg = new DeserializerRegistryImpl(); derserReg.init(); derserReg.unregisterDeserializer(null); } /** * Test - unregister deserializer */ @Test public void testUnRegisterDeserializer(){ DeserializerRegistryImpl derserReg = new DeserializerRegistryImpl(); derserReg.init(); Assert.assertTrue("Wrong - unregister serializer",derserReg.unregisterDeserializer(new MessageCodeKey(OF13,EMPTY_VALUE, Match.class))); Assert.assertFalse("Wrong - unregister serializer",derserReg.unregisterDeserializer(new MessageCodeKey(OF10,EMPTY_VALUE, Match.class))); } /** * Test - get deserializer */ @Test(expected=IllegalStateException.class) public void testGetDeserializer(){ DeserializerRegistryImpl registry = new DeserializerRegistryImpl(); registry.init(); registry.getDeserializer(new MessageCodeKey((short) 5000, EncodeConstants.EMPTY_VALUE, MatchV10.class)); Assert.fail(); } }