@Test public void getTopologyWhileAuthenticated() { final Topology mockedTopology = RandomGenerator.randomObject(Topology.class); doReturn(mockedTopology) .when(topologyServiceMock) .getTopology(mockedTopology.getId(), TEST_SUBJECT_ID); mockAuthenticatedSubject(); Topology responseTopology = resource() .path("/api/topologies/" + mockedTopology.getId()) .accept(MediaType.APPLICATION_JSON) .get(Topology.class); assertEquals( "Response topology should match the mocked topology", mockedTopology, responseTopology); verify(topologyServiceMock).getTopology(anyString(), anyString()); }
@Test public void updateTopologyConfigWhileAuthenticated() { final Topology mockedTopology = RandomGenerator.randomObject(Topology.class); final TopologyConfig requestTopologyConfig = RandomGenerator.randomObject(TopologyConfig.class); doReturn(mockedTopology) .when(topologyServiceMock) .getTopology(mockedTopology.getId(), TEST_SUBJECT_ID); doNothing() .when(topologyServiceMock) .updateTopology(mockedTopology.getId(), mockedTopology, TEST_SUBJECT_ID); mockAuthenticatedSubject(); ClientResponse clientResponse = resource() .path("/api/topologies/" + mockedTopology.getId() + "/config") .type(MediaType.APPLICATION_JSON) .put(ClientResponse.class, requestTopologyConfig); assertEquals("Response HTTP status code should be 200 (OK)", clientResponse.getStatus(), 200); verify(topologyServiceMock).getTopology(mockedTopology.getId(), TEST_SUBJECT_ID); verify(topologyServiceMock) .updateTopology(mockedTopology.getId(), mockedTopology, TEST_SUBJECT_ID); }
@Test public void listTopologiesWhileAuthenticated() { Topology topology1 = RandomGenerator.randomObject(Topology.class); topology1.setName("Topology First"); Topology topology2 = RandomGenerator.randomObject(Topology.class); topology2.setName("Topology Second"); Topology topology3 = RandomGenerator.randomObject(Topology.class); topology3.setName("Topology Third"); List<Topology> mockedTopologies = new ArrayList<Topology>(); mockedTopologies.add(topology1); mockedTopologies.add(topology2); mockedTopologies.add(topology3); doReturn(mockedTopologies).when(topologyServiceMock).listTopologies(TEST_SUBJECT_ID); mockAuthenticatedSubject(); List<Topology> responseUsers = resource() .path("/api/topologies") .accept(MediaType.APPLICATION_JSON) .get(new GenericType<List<Topology>>() {}); assertEquals( "Response topologies should be equal to the mocked topologies", mockedTopologies, responseUsers); verify(topologyServiceMock).listTopologies(TEST_SUBJECT_ID); }
@Test public void submitTopologyWhileAuthenticated() { final String requestClusterId = "LOCAL"; final String requestLogLevel = "INFO"; final String requestClassLoaderPolicy = "FRAMEWORK_FIRST"; final Topology mockedTopology = RandomGenerator.randomObject(Topology.class); doReturn(mockedTopology) .when(topologyServiceMock) .submitTopology( mockedTopology.getId(), TEST_SUBJECT_ID, requestClusterId, requestLogLevel, requestClassLoaderPolicy); mockAuthenticatedSubject(); Topology responseTopology = resource() .path("/api/topologies/" + mockedTopology.getId() + "/submit") .queryParam("clusterId", requestClusterId) .accept(MediaType.APPLICATION_JSON) .get(Topology.class); assertEquals( "Response topology should match the mocked topology", mockedTopology, responseTopology); verify(topologyServiceMock) .submitTopology( mockedTopology.getId(), TEST_SUBJECT_ID, requestClusterId, requestLogLevel, requestClassLoaderPolicy); }