Skip to content

Commit

Permalink
YARN-11268. [JDK17] Upgrade JUnit from 4 to 5 in hadoop-yarn-server-t…
Browse files Browse the repository at this point in the history
…imelineservice-documentstore. (#7450)

 [JDK17] Upgrade JUnit from 4 to 5 in hadoop-yarn-server-timelineservice-documentstore.

Co-authored-by: Chris Nauroth <[email protected]>
Co-authored-by: Hualong Zhang <[email protected]>
Reviewed-by: Chris Nauroth <[email protected]>
Reviewed-by: Hualong Zhang <[email protected]>
Signed-off-by: Shilun Fan <[email protected]>
  • Loading branch information
3 people authored Mar 4, 2025
1 parent e72b218 commit f552664
Show file tree
Hide file tree
Showing 7 changed files with 179 additions and 168 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,11 @@
<artifactId>junit-vintage-engine</artifactId>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

<build>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,10 @@
import org.apache.hadoop.yarn.server.timelineservice.documentstore.lib.DocumentStoreFactory;
import org.apache.hadoop.yarn.server.timelineservice.documentstore.writer.DocumentStoreWriter;
import org.apache.hadoop.yarn.server.timelineservice.documentstore.writer.DummyDocumentStoreWriter;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.junit.jupiter.MockitoExtension;

import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mockStatic;
Expand All @@ -37,15 +36,14 @@
/**
* Test case for ${@link DocumentStoreCollectionCreator}.
*/
@RunWith(PowerMockRunner.class)
@PrepareForTest(DocumentStoreFactory.class)
@ExtendWith(MockitoExtension.class)
public class TestDocumentStoreCollectionCreator {

private final DocumentStoreWriter<TimelineDocument> documentStoreWriter = new
DummyDocumentStoreWriter<>();
private final Configuration conf = new Configuration();

@Before
@BeforeEach
public void setUp() throws YarnException {
conf.set(DocumentStoreUtils.TIMELINE_SERVICE_DOCUMENTSTORE_DATABASE_NAME,
"TestDB");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,31 +38,32 @@
import org.apache.hadoop.yarn.server.timelineservice.documentstore.collection.document.TimelineDocument;
import org.apache.hadoop.yarn.server.timelineservice.documentstore.collection.document.entity.TimelineEntityDocument;

import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;

import org.mockito.ArgumentMatchers;
import org.mockito.MockedStatic;

import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import org.mockito.junit.jupiter.MockitoExtension;

import java.io.IOException;
import java.util.EnumSet;
import java.util.List;
import java.util.Set;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
import static org.mockito.Mockito.mockStatic;
import static org.mockito.Mockito.when;

/**
* Test case for {@link DocumentStoreTimelineReaderImpl}.
*/
@RunWith(PowerMockRunner.class)
@PrepareForTest(DocumentStoreFactory.class)
@ExtendWith(MockitoExtension.class)
public class TestDocumentStoreTimelineReaderImpl {

private final DocumentStoreReader<TimelineDocument> documentStoreReader = new
Expand All @@ -84,7 +85,7 @@ public TestDocumentStoreTimelineReaderImpl() throws IOException {

private MockedStatic<DocumentStoreFactory> documentStoreFactoryMockedStatic;

@Before
@BeforeEach
public void setUp() throws YarnException {
conf.set(DocumentStoreUtils.TIMELINE_SERVICE_DOCUMENTSTORE_DATABASE_NAME,
"TestDB");
Expand All @@ -98,14 +99,16 @@ public void setUp() throws YarnException {
.thenReturn(documentStoreReader);
}

@After
@AfterEach
public void close() {
documentStoreFactoryMockedStatic.close();
}

@Test(expected = YarnException.class)
@Test
public void testFailOnNoCosmosDBConfigs() throws Exception {
DocumentStoreUtils.validateCosmosDBConf(new Configuration());
assertThrows(YarnException.class, () -> {
DocumentStoreUtils.validateCosmosDBConf(new Configuration());
});
}

@Test
Expand All @@ -120,12 +123,12 @@ public void testGetEntity() throws Exception {
TimelineEntity timelineEntity = timelineReader.getEntity(context,
dataToRetrieve);

Assert.assertEquals(appTimelineEntity.getCreatedTime(), timelineEntity
assertEquals(appTimelineEntity.getCreatedTime(), timelineEntity
.getCreatedTime().longValue());
Assert.assertEquals(0, timelineEntity .getMetrics().size());
Assert.assertEquals(0, timelineEntity.getEvents().size());
Assert.assertEquals(0, timelineEntity.getConfigs().size());
Assert.assertEquals(appTimelineEntity.getInfo().size(),
assertEquals(0, timelineEntity .getMetrics().size());
assertEquals(0, timelineEntity.getEvents().size());
assertEquals(0, timelineEntity.getConfigs().size());
assertEquals(appTimelineEntity.getInfo().size(),
timelineEntity.getInfo().size());
}

Expand All @@ -139,13 +142,13 @@ public void testGetEntityCustomField() throws Exception {
TimelineEntity timelineEntity = timelineReader.getEntity(context,
dataToRetrieve);

Assert.assertEquals(appTimelineEntity.getCreatedTime(), timelineEntity
assertEquals(appTimelineEntity.getCreatedTime(), timelineEntity
.getCreatedTime().longValue());
Assert.assertEquals(appTimelineEntity.getMetrics().size(),
assertEquals(appTimelineEntity.getMetrics().size(),
timelineEntity.getMetrics().size());
Assert.assertEquals(0, timelineEntity.getEvents().size());
Assert.assertEquals(0, timelineEntity.getConfigs().size());
Assert.assertEquals(appTimelineEntity.getInfo().size(),
assertEquals(0, timelineEntity.getEvents().size());
assertEquals(0, timelineEntity.getConfigs().size());
assertEquals(appTimelineEntity.getInfo().size(),
timelineEntity.getInfo().size());
}

Expand All @@ -159,15 +162,15 @@ public void testGetEntityAllFields() throws Exception {
TimelineEntity timelineEntity = timelineReader.getEntity(context,
dataToRetrieve);

Assert.assertEquals(appTimelineEntity.getCreatedTime(), timelineEntity
assertEquals(appTimelineEntity.getCreatedTime(), timelineEntity
.getCreatedTime().longValue());
Assert.assertEquals(appTimelineEntity.getMetrics().size(),
assertEquals(appTimelineEntity.getMetrics().size(),
timelineEntity .getMetrics().size());
Assert.assertEquals(appTimelineEntity.getEvents().size(),
assertEquals(appTimelineEntity.getEvents().size(),
timelineEntity.getEvents().size());
Assert.assertEquals(appTimelineEntity.getConfigs().size(),
assertEquals(appTimelineEntity.getConfigs().size(),
timelineEntity.getConfigs().size());
Assert.assertEquals(appTimelineEntity.getInfo().size(),
assertEquals(appTimelineEntity.getInfo().size(),
timelineEntity.getInfo().size());
}

Expand All @@ -181,7 +184,7 @@ public void testGetAllEntities() throws Exception {
Set<TimelineEntity> actualEntities = timelineReader.getEntities(context,
new TimelineEntityFilters.Builder().build(), dataToRetrieve);

Assert.assertEquals(entities.size(), actualEntities.size());
assertEquals(entities.size(), actualEntities.size());
}

@Test
Expand All @@ -194,7 +197,7 @@ public void testGetEntitiesWithLimit() throws Exception {
new TimelineEntityFilters.Builder().entityLimit(2L).build(),
dataToRetrieve);

Assert.assertEquals(2, actualEntities.size());
assertEquals(2, actualEntities.size());
}

@Test
Expand All @@ -207,7 +210,7 @@ public void testGetEntitiesByWindows() throws Exception {
new TimelineEntityFilters.Builder().createdTimeBegin(1533985554927L)
.createTimeEnd(1533985554927L).build(), dataToRetrieve);

Assert.assertEquals(1, actualEntities.size());
assertEquals(1, actualEntities.size());
}

@Test
Expand All @@ -227,11 +230,11 @@ public void testGetFilteredEntities() throws Exception {
new TimelineEntityFilters.Builder().infoFilters(infoFilterList).build(),
dataToRetrieve);

Assert.assertEquals(1, actualEntities.size());
assertEquals(1, actualEntities.size());
// Only one entity with type YARN_APPLICATION_ATTEMPT should be returned.
for (TimelineEntity entity : actualEntities) {
if (!entity.getType().equals("YARN_APPLICATION_ATTEMPT")) {
Assert.fail("Incorrect filtering based on info filters");
fail("Incorrect filtering based on info filters");
}
}

Expand All @@ -245,11 +248,11 @@ public void testGetFilteredEntities() throws Exception {
new TimelineEntityFilters.Builder().configFilters(confFilterList)
.build(), dataToRetrieve);

Assert.assertEquals(1, actualEntities.size());
assertEquals(1, actualEntities.size());
// Only one entity with type YARN_APPLICATION should be returned.
for (TimelineEntity entity : actualEntities) {
if (!entity.getType().equals("YARN_APPLICATION")) {
Assert.fail("Incorrect filtering based on info filters");
fail("Incorrect filtering based on info filters");
}
}

Expand All @@ -263,11 +266,11 @@ public void testGetFilteredEntities() throws Exception {
new TimelineEntityFilters.Builder().eventFilters(eventFilters).build(),
dataToRetrieve);

Assert.assertEquals(1, actualEntities.size());
assertEquals(1, actualEntities.size());
// Only one entity with type YARN_CONTAINER should be returned.
for (TimelineEntity entity : actualEntities) {
if (!entity.getType().equals("YARN_CONTAINER")) {
Assert.fail("Incorrect filtering based on info filters");
fail("Incorrect filtering based on info filters");
}
}

Expand All @@ -279,11 +282,11 @@ public void testGetFilteredEntities() throws Exception {
new TimelineEntityFilters.Builder().metricFilters(metricFilterList)
.build(), dataToRetrieve);

Assert.assertEquals(1, actualEntities.size());
assertEquals(1, actualEntities.size());
// Only one entity with type YARN_CONTAINER should be returned.
for (TimelineEntity entity : actualEntities) {
if (!entity.getType().equals("YARN_CONTAINER")) {
Assert.fail("Incorrect filtering based on info filters");
fail("Incorrect filtering based on info filters");
}
}
}
Expand All @@ -300,23 +303,23 @@ public void testReadingDifferentEntityTypes() throws Exception {
TimelineEntity timelineEntity = timelineReader.getEntity(context,
dataToRetrieve);

Assert.assertEquals(TimelineEntityType.YARN_FLOW_ACTIVITY.toString(),
assertEquals(TimelineEntityType.YARN_FLOW_ACTIVITY.toString(),
timelineEntity.getType());

// reading YARN_FLOW_RUN
context.setEntityType(TimelineEntityType.YARN_FLOW_RUN.toString());
timelineEntity = timelineReader.getEntity(context,
dataToRetrieve);

Assert.assertEquals(TimelineEntityType.YARN_FLOW_RUN.toString(),
assertEquals(TimelineEntityType.YARN_FLOW_RUN.toString(),
timelineEntity.getType());

// reading YARN_APPLICATION
context.setEntityType(TimelineEntityType.YARN_APPLICATION.toString());
timelineEntity = timelineReader.getEntity(context,
dataToRetrieve);

Assert.assertEquals(TimelineEntityType.YARN_APPLICATION.toString(),
assertEquals(TimelineEntityType.YARN_APPLICATION.toString(),
timelineEntity.getType());
}

Expand All @@ -327,9 +330,9 @@ public void testReadingAllEntityTypes() throws Exception {

context.setEntityType(TimelineEntityType.YARN_CONTAINER.toString());
Set<String> entityTypes = timelineReader.getEntityTypes(context);
Assert.assertTrue(entityTypes.contains(TimelineEntityType.YARN_CONTAINER
assertTrue(entityTypes.contains(TimelineEntityType.YARN_CONTAINER
.toString()));
Assert.assertTrue(entityTypes.contains(TimelineEntityType
assertTrue(entityTypes.contains(TimelineEntityType
.YARN_APPLICATION_ATTEMPT.toString()));
}

Expand All @@ -351,7 +354,7 @@ public void testMetricsToRetrieve() throws Exception {
context.setEntityType(TimelineEntityType.YARN_APPLICATION.toString());
TimelineEntity timelineEntity = timelineReader.getEntity(context,
dataToRetrieve);
Assert.assertEquals(0, timelineEntity.getMetrics().size());
assertEquals(0, timelineEntity.getMetrics().size());

timelineFilterList.addFilter(new TimelinePrefixFilter(
TimelineCompareOp.EQUAL,
Expand All @@ -361,19 +364,19 @@ public void testMetricsToRetrieve() throws Exception {
context.setEntityType(TimelineEntityType.YARN_APPLICATION.toString());
timelineEntity = timelineReader.getEntity(context,
dataToRetrieve);
Assert.assertTrue(timelineEntity.getMetrics().size() > 0);
assertTrue(timelineEntity.getMetrics().size() > 0);

//testing metrics prefix for AND condition
timelineFilterList.setOperator(TimelineFilterList.Operator.AND);
timelineEntity = timelineReader.getEntity(context,
dataToRetrieve);
Assert.assertEquals(0, timelineEntity.getMetrics().size());
assertEquals(0, timelineEntity.getMetrics().size());

dataToRetrieve.getMetricsToRetrieve().getFilterList().remove(0);
context.setEntityType(TimelineEntityType.YARN_APPLICATION.toString());
timelineEntity = timelineReader.getEntity(context,
dataToRetrieve);
Assert.assertTrue(timelineEntity.getMetrics().size() > 0);
assertTrue(timelineEntity.getMetrics().size() > 0);
}

@Test
Expand All @@ -394,7 +397,7 @@ public void testConfigsToRetrieve() throws Exception {
context.setEntityType(TimelineEntityType.YARN_APPLICATION.toString());
TimelineEntity timelineEntity = timelineReader.getEntity(context,
dataToRetrieve);
Assert.assertEquals(0, timelineEntity.getConfigs().size());
assertEquals(0, timelineEntity.getConfigs().size());

timelineFilterList.addFilter(new TimelinePrefixFilter(
TimelineCompareOp.EQUAL, "YARN_AM_NODE_LABEL_EXPRESSION"));
Expand All @@ -403,18 +406,18 @@ public void testConfigsToRetrieve() throws Exception {
context.setEntityType(TimelineEntityType.YARN_APPLICATION.toString());
timelineEntity = timelineReader.getEntity(context,
dataToRetrieve);
Assert.assertTrue(timelineEntity.getConfigs().size() > 0);
assertTrue(timelineEntity.getConfigs().size() > 0);

//testing metrics prefix for AND condition
timelineFilterList.setOperator(TimelineFilterList.Operator.AND);
timelineEntity = timelineReader.getEntity(context,
dataToRetrieve);
Assert.assertEquals(0, timelineEntity.getConfigs().size());
assertEquals(0, timelineEntity.getConfigs().size());

dataToRetrieve.getConfsToRetrieve().getFilterList().remove(0);
context.setEntityType(TimelineEntityType.YARN_APPLICATION.toString());
timelineEntity = timelineReader.getEntity(context,
dataToRetrieve);
Assert.assertTrue(timelineEntity.getConfigs().size() > 0);
assertTrue(timelineEntity.getConfigs().size() > 0);
}
}
Loading

0 comments on commit f552664

Please sign in to comment.