/* Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved See License.txt in the project root for license information. */ package microsoft.aspnet.signalr.client.tests.realtransport; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import java.util.UUID; import java.util.concurrent.Semaphore; import microsoft.aspnet.signalr.client.hubs.HubConnection; import microsoft.aspnet.signalr.client.hubs.HubProxy; import microsoft.aspnet.signalr.client.hubs.SubscriptionHandler1; import microsoft.aspnet.signalr.client.tests.util.MultiResult; import org.junit.Test; public class HubConnectionTests { @Test public void testInvoke() throws Exception { HubConnection connection = new HubConnection(TestData.HUB_URL, TestData.CONNECTION_QUERYSTRING, true, TestData.getLogger()); HubProxy proxy = connection.createHubProxy(TestData.HUB_NAME); connection.start().get(); String data = UUID.randomUUID().toString(); proxy.invoke("TestMethod", data).get(); String lastHubData = TestData.getLastHubData(); assertEquals(data, lastHubData); } @Test public void testReceivedMessageForSubscription() throws Exception { HubConnection connection = new HubConnection(TestData.HUB_URL, TestData.CONNECTION_QUERYSTRING, true, TestData.getLogger()); HubProxy proxy = connection.createHubProxy(TestData.HUB_NAME); final Semaphore semaphore = new Semaphore(0); final MultiResult result = new MultiResult(); proxy.on("testMessage", new SubscriptionHandler1<String>() { @Override public void run(String val) { semaphore.release(); result.stringResult = val; } }, String.class); connection.start().get(); TestData.triggerHubTestMessage(); semaphore.acquire(); assertNotNull(result.stringResult); } }