@Test public void testGetPublicationsEmptyList() { SlaveServer mockSlave = mock(SlaveServer.class); when(mockSlave.getPublications()).thenReturn(Lists.<DefaultPublisher<?>>newArrayList()); SlaveXmlRpcEndpointImpl slave = new SlaveXmlRpcEndpointImpl(mockSlave); List<Object> response = slave.getPublications("/foo"); assertEquals(response.get(0), StatusCode.SUCCESS.toInt()); assertEquals(response.get(2), Lists.newArrayList()); }
@Test public void testGetPidNotSupported() { SlaveServer mockSlave = mock(SlaveServer.class); AdvertiseAddress address = AdvertiseAddress.newPrivate(); address.setStaticPort(1234); when(mockSlave.getPid()).thenThrow(new UnsupportedOperationException()); SlaveXmlRpcEndpointImpl slave = new SlaveXmlRpcEndpointImpl(mockSlave); List<Object> response = slave.getPid("/foo"); assertEquals(response.get(0), StatusCode.FAILURE.toInt()); }
@Test public void testGetPid() { SlaveServer mockSlave = mock(SlaveServer.class); AdvertiseAddress address = AdvertiseAddress.newPrivate(); address.setStaticPort(1234); when(mockSlave.getPid()).thenReturn(1234); SlaveXmlRpcEndpointImpl slave = new SlaveXmlRpcEndpointImpl(mockSlave); List<Object> response = slave.getPid("/foo"); assertEquals(response.get(0), StatusCode.SUCCESS.toInt()); assertEquals(response.get(2), 1234); }
@Test public void testRequestTopic() throws ServerException { SlaveServer mockSlave = mock(SlaveServer.class); AdvertiseAddress address = AdvertiseAddress.newPrivate(); address.setStaticPort(1234); TcpRosProtocolDescription protocol = new TcpRosProtocolDescription(address); when(mockSlave.requestTopic( Matchers.<String>any(), Matchers.eq(Sets.newHashSet(ProtocolNames.TCPROS, ProtocolNames.UDPROS)))) .thenReturn(protocol); SlaveXmlRpcEndpointImpl slave = new SlaveXmlRpcEndpointImpl(mockSlave); Object[][] protocols = new Object[][] {{ProtocolNames.TCPROS}, {ProtocolNames.UDPROS}}; List<Object> response = slave.requestTopic("/foo", "/bar", protocols); assertEquals(response.get(0), StatusCode.SUCCESS.toInt()); assertEquals(response.get(2), protocol.toList()); }
@Test public void testGetPublications() { SlaveServer mockSlave = mock(SlaveServer.class); DefaultPublisher<?> mockPublisher = mock(DefaultPublisher.class); when(mockSlave.getPublications()) .thenReturn(Lists.<DefaultPublisher<?>>newArrayList(mockPublisher)); when(mockPublisher.getTopicName()).thenReturn(GraphName.of("/bar")); when(mockPublisher.getTopicMessageType()).thenReturn("/baz"); when(mockPublisher.getTopicDeclarationAsList()).thenReturn(Lists.newArrayList("/bar", "/baz")); SlaveXmlRpcEndpointImpl slave = new SlaveXmlRpcEndpointImpl(mockSlave); List<Object> response = slave.getPublications("/foo"); assertEquals(StatusCode.SUCCESS.toInt(), response.get(0)); List<List<String>> protocols = Lists.newArrayList(); protocols.add(Lists.newArrayList("/bar", "/baz")); assertEquals(protocols, response.get(2)); }