package com.connectsdk.service.webos; import com.connectsdk.service.WebOSTVService; import com.connectsdk.service.capability.listeners.ResponseListener; import com.connectsdk.service.command.ServiceCommand; import com.connectsdk.service.command.ServiceCommandError; import junit.framework.Assert; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mockito; import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; import java.net.URI; @RunWith(RobolectricTestRunner.class) @Config(manifest = Config.NONE) public class WebOSTVServiceSocketClientTest { private WebOSTVServiceSocketClient socketClient; @Before public void setUp() { WebOSTVService service = Mockito.mock(WebOSTVService.class); URI uri = URI.create("http://127.0.0.1/"); socketClient = new WebOSTVServiceSocketClient(service, uri); } @Test public void test403ErrorShouldNotCloseSocket() { ServiceCommand command = new ServiceCommand(null, null, (Object)null, null); WebOSTVServiceSocketClient spySocketClient = Mockito.spy(socketClient); spySocketClient.requests.put(11, command); spySocketClient.state = WebOSTVServiceSocketClient.State.REGISTERED; spySocketClient.onMessage(" {\"type\":\"error\",\"id\":\"11\",\"error\":" + "\"403 access denied\",\"payload\":{}}"); Assert.assertEquals(WebOSTVServiceSocketClient.State.REGISTERED, spySocketClient.getState()); Mockito.verify(spySocketClient, Mockito.times(0)).close(); } }