diff --git a/clients/java/signalr/src/main/java/com/microsoft/aspnet/signalr/JsonHubProtocol.java b/clients/java/signalr/src/main/java/com/microsoft/aspnet/signalr/JsonHubProtocol.java index 3703afb8d8..a861b3814f 100644 --- a/clients/java/signalr/src/main/java/com/microsoft/aspnet/signalr/JsonHubProtocol.java +++ b/clients/java/signalr/src/main/java/com/microsoft/aspnet/signalr/JsonHubProtocol.java @@ -47,16 +47,10 @@ public class JsonHubProtocol implements HubProtocol { hubMessages.add(new InvocationMessage(target, new Object[] {args})); break; case STREAM_ITEM: - throw new UnsupportedOperationException("Support for streaming is not yet available"); case COMPLETION: - //Don't care yet - break; case STREAM_INVOCATION: - //Don't care yet; - throw new UnsupportedOperationException("Support for streaming is not yet available"); case CANCEL_INVOCATION: - // Not tracking invocations yet - break; + throw new UnsupportedOperationException(String.format("The message type %s is not supported yet.", messageType)); case PING: //Ping hubMessages.add(new PingMessage()); diff --git a/clients/java/signalr/src/test/java/JsonHubProtocolTest.java b/clients/java/signalr/src/test/java/JsonHubProtocolTest.java index faa866700d..9fb72622bd 100644 --- a/clients/java/signalr/src/test/java/JsonHubProtocolTest.java +++ b/clients/java/signalr/src/test/java/JsonHubProtocolTest.java @@ -103,7 +103,7 @@ public class JsonHubProtocolTest { @Test public void ParseSingleUnsupportedStreamItemMessage() { exceptionRule.expect(UnsupportedOperationException.class); - exceptionRule.expectMessage("Support for streaming is not yet available"); + exceptionRule.expectMessage("The message type STREAM_ITEM is not supported yet."); String stringifiedMessage = "{\"type\":2,\"Id\":1,\"Item\":42}\u001E"; HubMessage[] messages = jsonHubProtocol.parseMessages(stringifiedMessage); } @@ -111,8 +111,25 @@ public class JsonHubProtocolTest { @Test public void ParseSingleUnsupportedStreamInvocationMessage() { exceptionRule.expect(UnsupportedOperationException.class); - exceptionRule.expectMessage("Support for streaming is not yet available"); + exceptionRule.expectMessage("The message type STREAM_INVOCATION is not supported yet."); String stringifiedMessage = "{\"type\":4,\"Id\":1,\"target\":\"test\",\"arguments\":[42]}\u001E"; + + HubMessage[] messages = jsonHubProtocol.parseMessages(stringifiedMessage); + } + + @Test + public void ParseSingleUnsupportedCancelInvocationMessage() { + exceptionRule.expect(UnsupportedOperationException.class); + exceptionRule.expectMessage("The message type CANCEL_INVOCATION is not supported yet."); + String stringifiedMessage = "{\"type\":5,\"invocationId\":123}\u001E"; + HubMessage[] messages = jsonHubProtocol.parseMessages(stringifiedMessage); + } + + @Test + public void ParseSingleUnsupportedCompletionMessage() { + exceptionRule.expect(UnsupportedOperationException.class); + exceptionRule.expectMessage("The message type COMPLETION is not supported yet."); + String stringifiedMessage = "{\"type\":3,\"invocationId\":123}\u001E"; HubMessage[] messages = jsonHubProtocol.parseMessages(stringifiedMessage); }