@Test
public void testPutPartialCached() {

	List<Metric> metrics = TestUtils.createRandomMetrics(myClassName, "test-scope", "test-metric", 10);
	ElasticSearchSchemaService spyService = _initializeSpyService(_esSchemaService);
	spyService.put(metrics);
	Set<String> scopeNames = new HashSet<>();
	for(Metric m : metrics)
	{
		scopeNames.add(m.getScope());
	}
	assertEquals(metricsCreatedCount, metrics.size());
	assertEquals(scopesCreatedCount, scopeNames.size());
	List<Metric> newMetrics = TestUtils.createRandomMetrics(myClassName, null, null, 10);
	// 1st metric already in cache (partial case scenario), and now we call put with both list of metrics
	initCounters();
	spyService.put(metrics);
	spyService.put(newMetrics);
	scopeNames.clear();
	for(Metric m : newMetrics)
	{
		scopeNames.add(m.getScope());
	}
	assertEquals(metricsCreatedCount, newMetrics.size());
	assertEquals(scopesCreatedCount, scopeNames.size());
}