private ClientInfoResource getResourceTestHelper( FilteredServerInventoryView serverInventoryView, TimelineServerView timelineServerView, SegmentMetadataQueryConfig segmentMetadataQueryConfig ) { return new ClientInfoResource( serverInventoryView, timelineServerView, segmentMetadataQueryConfig, new AuthConfig(), null ) { @Override protected DateTime getCurrentTime() { return FIXED_TEST_TIME; } }; } }
@Override public void configure(Binder binder) { for (Class clazz : mockableInjections) { binder.bind(clazz).toInstance(EasyMock.createNiceMock(clazz)); } for (Object obj : injectedObjs) { binder.bind((Class) obj.getClass()).toInstance(obj); } for (Key<?> key : mockableKeys) { binder.bind((Key<Object>) key).toInstance(EasyMock.createNiceMock(key.getTypeLiteral().getRawType())); } binder.bind(AuthConfig.class).toInstance(new AuthConfig()); } }
@Test public void testNullGetTheDataSource() { EasyMock.expect(server.getDataSource("none")).andReturn(null).atLeastOnce(); EasyMock.expect(inventoryView.getInventory()).andReturn(ImmutableList.of(server)).atLeastOnce(); EasyMock.replay(inventoryView, server); DataSourcesResource DataSourcesResource = new DataSourcesResource(inventoryView, null, null, null, new AuthConfig(), null); Assert.assertEquals(204, DataSourcesResource.getTheDataSource("none", null).getStatus()); EasyMock.verify(inventoryView, server); }
@Test public void testDeleteDataSource() { IndexingServiceClient indexingServiceClient = EasyMock.createStrictMock(IndexingServiceClient.class); EasyMock.replay(indexingServiceClient, server); DataSourcesResource DataSourcesResource = new DataSourcesResource( inventoryView, null, null, indexingServiceClient, new AuthConfig(), null ); Response response = DataSourcesResource.deleteDataSource("datasource", "true", "???"); Assert.assertEquals(400, response.getStatus()); Assert.assertNotNull(response.getEntity()); Assert.assertTrue(response.getEntity().toString().contains("java.lang.IllegalArgumentException")); EasyMock.verify(indexingServiceClient, server); }
@Test public void testFullGetTheDataSource() { DruidDataSource dataSource1 = new DruidDataSource("datasource1", new HashMap<>()); EasyMock.expect(server.getDataSource("datasource1")).andReturn(dataSource1).atLeastOnce(); EasyMock.expect(inventoryView.getInventory()).andReturn(ImmutableList.of(server)).atLeastOnce(); EasyMock.replay(inventoryView, server); DataSourcesResource DataSourcesResource = new DataSourcesResource(inventoryView, null, null, null, new AuthConfig(), null); Response response = DataSourcesResource.getTheDataSource("datasource1", "full"); ImmutableDruidDataSource result = (ImmutableDruidDataSource) response.getEntity(); Assert.assertEquals(200, response.getStatus()); Assert.assertEquals(dataSource1.toImmutableDruidDataSource(), result); EasyMock.verify(inventoryView, server); }
@Test public void testFullGetSpecificIntervals() { EasyMock.expect(inventoryView.getInventory()).andReturn( ImmutableList.of(server) ).atLeastOnce(); EasyMock.expect(request.getAttribute(AuthConfig.DRUID_ALLOW_UNSECURED_PATH)).andReturn(null).once(); EasyMock.expect(request.getAttribute(AuthConfig.DRUID_AUTHORIZATION_CHECKED)).andReturn(null).once(); EasyMock.expect(request.getAttribute(AuthConfig.DRUID_AUTHENTICATION_RESULT)).andReturn( new AuthenticationResult("druid", "druid", null, null) ).once(); request.setAttribute(AuthConfig.DRUID_AUTHORIZATION_CHECKED, true); EasyMock.expectLastCall().times(1); EasyMock.replay(inventoryView, request); List<Interval> expectedIntervals = new ArrayList<>(); expectedIntervals.add(Intervals.of("2010-01-01T00:00:00.000Z/2010-01-02T00:00:00.000Z")); IntervalsResource intervalsResource = new IntervalsResource( inventoryView, new AuthConfig(), AuthTestUtils.TEST_AUTHORIZER_MAPPER ); Response response = intervalsResource.getSpecificIntervals("2010-01-01T00:00:00.000Z/P1D", null, "full", request); TreeMap<Interval, Map<String, Map<String, Object>>> actualIntervals = (TreeMap) response.getEntity(); Assert.assertEquals(1, actualIntervals.size()); Assert.assertEquals(expectedIntervals.get(0), actualIntervals.firstKey()); Assert.assertEquals(20L, actualIntervals.get(expectedIntervals.get(0)).get("datasource1").get("size")); Assert.assertEquals(1, actualIntervals.get(expectedIntervals.get(0)).get("datasource1").get("count")); Assert.assertEquals(5L, actualIntervals.get(expectedIntervals.get(0)).get("datasource2").get("size")); Assert.assertEquals(1, actualIntervals.get(expectedIntervals.get(0)).get("datasource2").get("count")); }
IntervalsResource intervalsResource = new IntervalsResource( inventoryView, new AuthConfig(), AuthTestUtils.TEST_AUTHORIZER_MAPPER );
@Test public void testSimpleGetSpecificIntervals() { EasyMock.expect(inventoryView.getInventory()).andReturn( ImmutableList.of(server) ).atLeastOnce(); EasyMock.expect(request.getAttribute(AuthConfig.DRUID_ALLOW_UNSECURED_PATH)).andReturn(null).once(); EasyMock.expect(request.getAttribute(AuthConfig.DRUID_AUTHORIZATION_CHECKED)).andReturn(null).once(); EasyMock.expect(request.getAttribute(AuthConfig.DRUID_AUTHENTICATION_RESULT)).andReturn( new AuthenticationResult("druid", "druid", null, null) ).once(); request.setAttribute(AuthConfig.DRUID_AUTHORIZATION_CHECKED, true); EasyMock.expectLastCall().times(1); EasyMock.replay(inventoryView, request); List<Interval> expectedIntervals = new ArrayList<>(); expectedIntervals.add(Intervals.of("2010-01-01T00:00:00.000Z/2010-01-02T00:00:00.000Z")); IntervalsResource intervalsResource = new IntervalsResource( inventoryView, new AuthConfig(), AuthTestUtils.TEST_AUTHORIZER_MAPPER ); Response response = intervalsResource.getSpecificIntervals("2010-01-01T00:00:00.000Z/P1D", "simple", null, request); Map<Interval, Map<String, Object>> actualIntervals = (Map) response.getEntity(); Assert.assertEquals(1, actualIntervals.size()); Assert.assertTrue(actualIntervals.containsKey(expectedIntervals.get(0))); Assert.assertEquals(25L, actualIntervals.get(expectedIntervals.get(0)).get("size")); Assert.assertEquals(2, actualIntervals.get(expectedIntervals.get(0)).get("count")); }
@Test public void testSimpleGetTheDataSource() { DruidDataSource dataSource1 = new DruidDataSource("datasource1", new HashMap<>()); dataSource1.addSegment( new DataSegment("datasegment1", Intervals.of("2010-01-01/P1D"), "", null, null, null, null, 0x9, 10) ); EasyMock.expect(server.getDataSource("datasource1")).andReturn(dataSource1).atLeastOnce(); EasyMock.expect(server.getTier()).andReturn(null).atLeastOnce(); EasyMock.expect(inventoryView.getInventory()).andReturn(ImmutableList.of(server)).atLeastOnce(); EasyMock.replay(inventoryView, server); DataSourcesResource DataSourcesResource = new DataSourcesResource(inventoryView, null, null, null, new AuthConfig(), null); Response response = DataSourcesResource.getTheDataSource("datasource1", null); Assert.assertEquals(200, response.getStatus()); Map<String, Map<String, Object>> result = (Map<String, Map<String, Object>>) response.getEntity(); Assert.assertEquals(1, ((Map) (result.get("tiers").get(null))).get("segmentCount")); Assert.assertEquals(10L, ((Map) (result.get("tiers").get(null))).get("size")); Assert.assertNotNull(result.get("segments")); Assert.assertEquals("2010-01-01T00:00:00.000Z", result.get("segments").get("minTime").toString()); Assert.assertEquals("2010-01-02T00:00:00.000Z", result.get("segments").get("maxTime").toString()); Assert.assertEquals(1, result.get("segments").get("count")); Assert.assertEquals(10L, result.get("segments").get("size")); EasyMock.verify(inventoryView, server); }
@Test public void testGetSpecificIntervals() { EasyMock.expect(inventoryView.getInventory()).andReturn( ImmutableList.of(server) ).atLeastOnce(); EasyMock.expect(request.getAttribute(AuthConfig.DRUID_ALLOW_UNSECURED_PATH)).andReturn(null).once(); EasyMock.expect(request.getAttribute(AuthConfig.DRUID_AUTHORIZATION_CHECKED)).andReturn(null).once(); EasyMock.expect(request.getAttribute(AuthConfig.DRUID_AUTHENTICATION_RESULT)).andReturn( new AuthenticationResult("druid", "druid", null, null) ).once(); request.setAttribute(AuthConfig.DRUID_AUTHORIZATION_CHECKED, true); EasyMock.expectLastCall().times(1); EasyMock.replay(inventoryView, request); IntervalsResource intervalsResource = new IntervalsResource( inventoryView, new AuthConfig(), AuthTestUtils.TEST_AUTHORIZER_MAPPER ); Response response = intervalsResource.getSpecificIntervals("2010-01-01T00:00:00.000Z/P1D", null, null, request); Map<String, Object> actualIntervals = (Map) response.getEntity(); Assert.assertEquals(2, actualIntervals.size()); Assert.assertEquals(25L, actualIntervals.get("size")); Assert.assertEquals(2, actualIntervals.get("count")); }
null, null, new AuthConfig(), AuthTestUtils.TEST_AUTHORIZER_MAPPER );
@Test public void testDeleteDataSourceSpecificInterval() { String interval = "2010-01-01_P1D"; Interval theInterval = Intervals.of(interval.replace('_', '/')); IndexingServiceClient indexingServiceClient = EasyMock.createStrictMock(IndexingServiceClient.class); indexingServiceClient.killSegments("datasource1", theInterval); EasyMock.expectLastCall().once(); EasyMock.replay(indexingServiceClient, server); DataSourcesResource DataSourcesResource = new DataSourcesResource( inventoryView, null, null, indexingServiceClient, new AuthConfig(), null ); Response response = DataSourcesResource.deleteDataSourceSpecificInterval("datasource1", interval); Assert.assertEquals(200, response.getStatus()); Assert.assertEquals(null, response.getEntity()); EasyMock.verify(indexingServiceClient, server); }
new DataSourcesResource(inventoryView, null, null, null, new AuthConfig(), null); Response response = DataSourcesResource.getTheDataSource("datasource1", null); Assert.assertEquals(200, response.getStatus());
@Before public void setup() { EasyMock.expect(testServletRequest.getContentType()).andReturn(MediaType.APPLICATION_JSON).anyTimes(); EasyMock.expect(testServletRequest.getHeader("Accept")).andReturn(MediaType.APPLICATION_JSON).anyTimes(); EasyMock.expect(testServletRequest.getHeader(QueryResource.HEADER_IF_NONE_MATCH)).andReturn(null).anyTimes(); EasyMock.expect(testServletRequest.getRemoteAddr()).andReturn("localhost").anyTimes(); queryManager = new QueryManager(); testRequestLogger = new TestRequestLogger(); queryResource = new QueryResource( new QueryLifecycleFactory( warehouse, testSegmentWalker, new DefaultGenericQueryMetricsFactory(jsonMapper), new NoopServiceEmitter(), testRequestLogger, new AuthConfig(), AuthTestUtils.TEST_AUTHORIZER_MAPPER ), jsonMapper, jsonMapper, queryManager, new AuthConfig(), null, new DefaultGenericQueryMetricsFactory(jsonMapper) ); }
expectedIntervals.add(Intervals.of("2010-01-01T00:00:00.000Z/2010-01-02T00:00:00.000Z")); DataSourcesResource dataSourcesResource = new DataSourcesResource(inventoryView, null, null, null, new AuthConfig(), null);
null, null, new AuthConfig(), AuthTestUtils.TEST_AUTHORIZER_MAPPER );
public static QueryLifecycleFactory createMockQueryLifecycleFactory( final QuerySegmentWalker walker, final QueryRunnerFactoryConglomerate conglomerate ) { return new QueryLifecycleFactory( new QueryToolChestWarehouse() { @Override public <T, QueryType extends Query<T>> QueryToolChest<T, QueryType> getToolChest(final QueryType query) { return conglomerate.findFactory(query).getToolchest(); } }, walker, new DefaultGenericQueryMetricsFactory(INJECTOR.getInstance(Key.get(ObjectMapper.class, Json.class))), new ServiceEmitter("dummy", "dummy", new NoopEmitter()), new NoopRequestLogger(), new AuthConfig(), TEST_AUTHORIZER_MAPPER ); }
new DataSourcesResource(inventoryView, null, null, null, new AuthConfig(), null); Response response = dataSourcesResource.getSegmentDataSourceSpecificInterval( "invalidDataSource",
databaseRuleManager, null, new AuthConfig(), null );
.addValue(ObjectMapper.class, jsonMapper) .addValue(ChatHandlerProvider.class, new NoopChatHandlerProvider()) .addValue(AuthConfig.class, new AuthConfig()) .addValue(AuthorizerMapper.class, null) .addValue(RowIngestionMetersFactory.class, rowIngestionMetersFactory)