/** * Copyright 2012 Nikita Koksharov * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.corundumstudio.socketio.parser; import java.io.IOException; import java.util.UUID; import mockit.Expectations; import org.junit.Assert; import org.junit.Test; import com.corundumstudio.socketio.AckCallback; import com.corundumstudio.socketio.protocol.Packet; import com.corundumstudio.socketio.protocol.PacketType; import com.fasterxml.jackson.core.JsonParseException; public class DecoderAckPacketTest extends DecoderBaseTest { @Test public void testDecode() throws IOException { Packet packet = decoder.decodePacket("6:::140", null); Assert.assertEquals(PacketType.ACK, packet.getType()); Assert.assertEquals(140, (long)packet.getAckId()); // Assert.assertTrue(packet.getArgs().isEmpty()); } @Test public void testDecodeWithArgs() throws IOException { initExpectations(); Packet packet = decoder.decodePacket("6:::12+[\"woot\",\"wa\"]", null); Assert.assertEquals(PacketType.ACK, packet.getType()); Assert.assertEquals(12, (long)packet.getAckId()); // Assert.assertEquals(Arrays.<Object>asList("woot", "wa"), packet.getArgs()); } private void initExpectations() { new Expectations() {{ ackManager.getCallback((UUID)any, anyInt); result = new AckCallback<String>(String.class) { @Override public void onSuccess(String result) { } }; }}; } @Test(expected = JsonParseException.class) public void testDecodeWithBadJson() throws IOException { initExpectations(); decoder.decodePacket("6:::1+{\"++]", null); } }