@Test public void update_existing_document_when_indexing_one_project() throws Exception { String uuid = "PROJECT-UUID"; esTester.putDocuments( INDEX_PROJECT_MEASURES, TYPE_PROJECT_MEASURES, new ProjectMeasuresDoc() .setId(uuid) .setKey("Old Key") .setName("Old Name") .setAnalysedAt(new Date(1_000_000L))); ComponentDto project = newProjectDto(uuid).setKey("New key").setName("New name"); SnapshotDto analysis = componentDbTester.insertProjectAndSnapshot(project); underTest.index(project.uuid()); assertThat(esTester.getIds(INDEX_PROJECT_MEASURES, TYPE_PROJECT_MEASURES)).containsOnly(uuid); SearchRequestBuilder request = esTester .client() .prepareSearch(INDEX_PROJECT_MEASURES) .setTypes(TYPE_PROJECT_MEASURES) .setQuery( boolQuery() .must(matchAllQuery()) .filter( boolQuery() .must(termQuery("_id", uuid)) .must(termQuery(ProjectMeasuresIndexDefinition.FIELD_KEY, "New key")) .must(termQuery(ProjectMeasuresIndexDefinition.FIELD_NAME, "New name")) .must( termQuery( ProjectMeasuresIndexDefinition.FIELD_ANALYSED_AT, new Date(analysis.getCreatedAt()))))); assertThat(request.get().getHits()).hasSize(1); }
private static Period newPeriod(int index, SnapshotDto snapshotDto) { return new Period(index, "mode", null, snapshotDto.getCreatedAt(), snapshotDto.getId()); }