From 43cbb9edda3dced4793705f09d4082102b1f9d66 Mon Sep 17 00:00:00 2001 From: Mikael Mengistu Date: Thu, 6 Sep 2018 11:01:12 -0700 Subject: [PATCH] Unify exceptions for unsupported message types (#2908) --- .../aspnet/signalr/JsonHubProtocol.java | 8 +------ .../src/test/java/JsonHubProtocolTest.java | 21 +++++++++++++++++-- 2 files changed, 20 insertions(+), 9 deletions(-) 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); }