From f552664d94dbc3f9a03bad0fcdfc0fdf82afee16 Mon Sep 17 00:00:00 2001 From: slfan1989 <55643692+slfan1989@users.noreply.github.com> Date: Wed, 5 Mar 2025 05:28:05 +0800 Subject: [PATCH] YARN-11268. [JDK17] Upgrade JUnit from 4 to 5 in hadoop-yarn-server-timelineservice-documentstore. (#7450) [JDK17] Upgrade JUnit from 4 to 5 in hadoop-yarn-server-timelineservice-documentstore. Co-authored-by: Chris Nauroth Co-authored-by: Hualong Zhang Reviewed-by: Chris Nauroth Reviewed-by: Hualong Zhang Signed-off-by: Shilun Fan --- .../pom.xml | 6 +- .../TestDocumentStoreCollectionCreator.java | 14 +-- .../TestDocumentStoreTimelineReaderImpl.java | 107 ++++++++--------- .../TestDocumentStoreTimelineWriterImpl.java | 32 +++--- .../collection/TestDocumentOperations.java | 108 +++++++++--------- .../TestCosmosDBDocumentStoreReader.java | 40 ++++--- .../TestCosmosDBDocumentStoreWriter.java | 40 +++---- 7 files changed, 179 insertions(+), 168 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore/pom.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore/pom.xml index 2df7c08d104cb..c6b8e94db8bbf 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore/pom.xml +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore/pom.xml @@ -188,7 +188,11 @@ junit-vintage-engine test - + + org.mockito + mockito-junit-jupiter + test + diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore/src/test/java/org/apache/hadoop/yarn/server/timelineservice/documentstore/TestDocumentStoreCollectionCreator.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore/src/test/java/org/apache/hadoop/yarn/server/timelineservice/documentstore/TestDocumentStoreCollectionCreator.java index 3bfe78480446c..5abc2d46b1b9f 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore/src/test/java/org/apache/hadoop/yarn/server/timelineservice/documentstore/TestDocumentStoreCollectionCreator.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore/src/test/java/org/apache/hadoop/yarn/server/timelineservice/documentstore/TestDocumentStoreCollectionCreator.java @@ -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; @@ -37,15 +36,14 @@ /** * Test case for ${@link DocumentStoreCollectionCreator}. */ -@RunWith(PowerMockRunner.class) -@PrepareForTest(DocumentStoreFactory.class) +@ExtendWith(MockitoExtension.class) public class TestDocumentStoreCollectionCreator { private final DocumentStoreWriter 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"); diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore/src/test/java/org/apache/hadoop/yarn/server/timelineservice/documentstore/TestDocumentStoreTimelineReaderImpl.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore/src/test/java/org/apache/hadoop/yarn/server/timelineservice/documentstore/TestDocumentStoreTimelineReaderImpl.java index 5879030426e6d..ca256a0dfb7db 100755 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore/src/test/java/org/apache/hadoop/yarn/server/timelineservice/documentstore/TestDocumentStoreTimelineReaderImpl.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore/src/test/java/org/apache/hadoop/yarn/server/timelineservice/documentstore/TestDocumentStoreTimelineReaderImpl.java @@ -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 documentStoreReader = new @@ -84,7 +85,7 @@ public TestDocumentStoreTimelineReaderImpl() throws IOException { private MockedStatic documentStoreFactoryMockedStatic; - @Before + @BeforeEach public void setUp() throws YarnException { conf.set(DocumentStoreUtils.TIMELINE_SERVICE_DOCUMENTSTORE_DATABASE_NAME, "TestDB"); @@ -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 @@ -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()); } @@ -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()); } @@ -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()); } @@ -181,7 +184,7 @@ public void testGetAllEntities() throws Exception { Set actualEntities = timelineReader.getEntities(context, new TimelineEntityFilters.Builder().build(), dataToRetrieve); - Assert.assertEquals(entities.size(), actualEntities.size()); + assertEquals(entities.size(), actualEntities.size()); } @Test @@ -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 @@ -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 @@ -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"); } } @@ -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"); } } @@ -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"); } } @@ -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"); } } } @@ -300,7 +303,7 @@ 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 @@ -308,7 +311,7 @@ public void testReadingDifferentEntityTypes() throws Exception { timelineEntity = timelineReader.getEntity(context, dataToRetrieve); - Assert.assertEquals(TimelineEntityType.YARN_FLOW_RUN.toString(), + assertEquals(TimelineEntityType.YARN_FLOW_RUN.toString(), timelineEntity.getType()); // reading YARN_APPLICATION @@ -316,7 +319,7 @@ public void testReadingDifferentEntityTypes() throws Exception { timelineEntity = timelineReader.getEntity(context, dataToRetrieve); - Assert.assertEquals(TimelineEntityType.YARN_APPLICATION.toString(), + assertEquals(TimelineEntityType.YARN_APPLICATION.toString(), timelineEntity.getType()); } @@ -327,9 +330,9 @@ public void testReadingAllEntityTypes() throws Exception { context.setEntityType(TimelineEntityType.YARN_CONTAINER.toString()); Set 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())); } @@ -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, @@ -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 @@ -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")); @@ -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); } } \ No newline at end of file diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore/src/test/java/org/apache/hadoop/yarn/server/timelineservice/documentstore/TestDocumentStoreTimelineWriterImpl.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore/src/test/java/org/apache/hadoop/yarn/server/timelineservice/documentstore/TestDocumentStoreTimelineWriterImpl.java index f98dbc6f14510..0d66709df5b3a 100755 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore/src/test/java/org/apache/hadoop/yarn/server/timelineservice/documentstore/TestDocumentStoreTimelineWriterImpl.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore/src/test/java/org/apache/hadoop/yarn/server/timelineservice/documentstore/TestDocumentStoreTimelineWriterImpl.java @@ -28,24 +28,24 @@ import org.apache.hadoop.yarn.server.timelineservice.documentstore.writer.DocumentStoreWriter; import org.apache.hadoop.yarn.server.timelineservice.documentstore.writer.DummyDocumentStoreWriter; -import org.junit.After; -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.mockito.Mockito; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; +import org.mockito.junit.jupiter.MockitoExtension; + +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.mockito.Mockito.times; /** * Test case for {@link DocumentStoreTimelineWriterImpl}. */ -@RunWith(PowerMockRunner.class) -@PrepareForTest(DocumentStoreFactory.class) +@ExtendWith(MockitoExtension.class) public class TestDocumentStoreTimelineWriterImpl { private final DocumentStoreWriter documentStoreWriter = new @@ -53,7 +53,7 @@ public class TestDocumentStoreTimelineWriterImpl { private final Configuration conf = new Configuration(); private MockedStatic mockedFactory; - @Before + @BeforeEach public void setUp() throws YarnException { conf.set(DocumentStoreUtils.TIMELINE_SERVICE_DOCUMENTSTORE_DATABASE_NAME, "TestDB"); @@ -67,16 +67,18 @@ public void setUp() throws YarnException { .thenReturn(documentStoreWriter); } - @After + @AfterEach public void tearDown() { if (mockedFactory != null) { mockedFactory.close(); } } - @Test(expected = YarnException.class) + @Test public void testFailOnNoCosmosDBConfigs() throws Exception { - DocumentStoreUtils.validateCosmosDBConf(new Configuration()); + assertThrows(YarnException.class, ()->{ + DocumentStoreUtils.validateCosmosDBConf(new Configuration()); + }); } @Test @@ -91,7 +93,9 @@ public void testWritingToCosmosDB() throws Exception { entities.addEntity(DocumentStoreTestUtils.bakeTimelineEntityDoc() .fetchTimelineEntity()); - PowerMockito.verifyStatic(DocumentStoreFactory.class); + mockedFactory.verify(()-> + DocumentStoreFactory.createDocumentStoreWriter(ArgumentMatchers.any(Configuration.class)), + times(4)); TimelineCollectorContext context = new TimelineCollectorContext(); context.setFlowName("TestFlow"); diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore/src/test/java/org/apache/hadoop/yarn/server/timelineservice/documentstore/collection/TestDocumentOperations.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore/src/test/java/org/apache/hadoop/yarn/server/timelineservice/documentstore/collection/TestDocumentOperations.java index 077943195f120..f9ede475ac76f 100755 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore/src/test/java/org/apache/hadoop/yarn/server/timelineservice/documentstore/collection/TestDocumentOperations.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore/src/test/java/org/apache/hadoop/yarn/server/timelineservice/documentstore/collection/TestDocumentOperations.java @@ -26,11 +26,13 @@ import org.apache.hadoop.yarn.server.timelineservice.documentstore.collection.document.entity.TimelineMetricSubDoc; import org.apache.hadoop.yarn.server.timelineservice.documentstore.collection.document.flowactivity.FlowActivityDocument; import org.apache.hadoop.yarn.server.timelineservice.documentstore.collection.document.flowrun.FlowRunDocument; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.io.IOException; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; + /** * Timeline Entity Document merge and aggregation test. */ @@ -47,26 +49,26 @@ public void testTimelineEntityDocMergeOperation() throws IOException { TimelineEntityDocument expectedEntityDoc = DocumentStoreTestUtils.bakeTimelineEntityDoc(); - Assert.assertEquals(1, actualEntityDoc.getInfo().size()); - Assert.assertEquals(0, actualEntityDoc.getMetrics().size()); - Assert.assertEquals(0, actualEntityDoc.getEvents().size()); - Assert.assertEquals(0, actualEntityDoc.getConfigs().size()); - Assert.assertEquals(0, actualEntityDoc.getIsRelatedToEntities().size()); - Assert.assertEquals(0, actualEntityDoc.getRelatesToEntities().size()); + assertEquals(1, actualEntityDoc.getInfo().size()); + assertEquals(0, actualEntityDoc.getMetrics().size()); + assertEquals(0, actualEntityDoc.getEvents().size()); + assertEquals(0, actualEntityDoc.getConfigs().size()); + assertEquals(0, actualEntityDoc.getIsRelatedToEntities().size()); + assertEquals(0, actualEntityDoc.getRelatesToEntities().size()); actualEntityDoc.merge(expectedEntityDoc); - Assert.assertEquals(expectedEntityDoc.getInfo().size(), + assertEquals(expectedEntityDoc.getInfo().size(), actualEntityDoc.getInfo().size()); - Assert.assertEquals(expectedEntityDoc.getMetrics().size(), + assertEquals(expectedEntityDoc.getMetrics().size(), actualEntityDoc.getMetrics().size()); - Assert.assertEquals(expectedEntityDoc.getEvents().size(), + assertEquals(expectedEntityDoc.getEvents().size(), actualEntityDoc.getEvents().size()); - Assert.assertEquals(expectedEntityDoc.getConfigs().size(), + assertEquals(expectedEntityDoc.getConfigs().size(), actualEntityDoc.getConfigs().size()); - Assert.assertEquals(expectedEntityDoc.getRelatesToEntities().size(), + assertEquals(expectedEntityDoc.getRelatesToEntities().size(), actualEntityDoc.getIsRelatedToEntities().size()); - Assert.assertEquals(expectedEntityDoc.getRelatesToEntities().size(), + assertEquals(expectedEntityDoc.getRelatesToEntities().size(), actualEntityDoc.getRelatesToEntities().size()); } @@ -76,27 +78,27 @@ public void testFlowActivityDocMergeOperation() throws IOException { FlowActivityDocument expectedFlowActivityDoc = DocumentStoreTestUtils.bakeFlowActivityDoc(); - Assert.assertEquals(0, actualFlowActivityDoc.getDayTimestamp()); - Assert.assertEquals(0, actualFlowActivityDoc.getFlowActivities().size()); - Assert.assertNull(actualFlowActivityDoc.getFlowName()); - Assert.assertEquals(TimelineEntityType.YARN_FLOW_ACTIVITY.toString(), + assertEquals(0, actualFlowActivityDoc.getDayTimestamp()); + assertEquals(0, actualFlowActivityDoc.getFlowActivities().size()); + assertNull(actualFlowActivityDoc.getFlowName()); + assertEquals(TimelineEntityType.YARN_FLOW_ACTIVITY.toString(), actualFlowActivityDoc.getType()); - Assert.assertNull(actualFlowActivityDoc.getUser()); - Assert.assertNull(actualFlowActivityDoc.getId()); + assertNull(actualFlowActivityDoc.getUser()); + assertNull(actualFlowActivityDoc.getId()); actualFlowActivityDoc.merge(expectedFlowActivityDoc); - Assert.assertEquals(expectedFlowActivityDoc.getDayTimestamp(), + assertEquals(expectedFlowActivityDoc.getDayTimestamp(), actualFlowActivityDoc.getDayTimestamp()); - Assert.assertEquals(expectedFlowActivityDoc.getFlowActivities().size(), + assertEquals(expectedFlowActivityDoc.getFlowActivities().size(), actualFlowActivityDoc.getFlowActivities().size()); - Assert.assertEquals(expectedFlowActivityDoc.getFlowName(), + assertEquals(expectedFlowActivityDoc.getFlowName(), actualFlowActivityDoc.getFlowName()); - Assert.assertEquals(expectedFlowActivityDoc.getType(), + assertEquals(expectedFlowActivityDoc.getType(), actualFlowActivityDoc.getType()); - Assert.assertEquals(expectedFlowActivityDoc.getUser(), + assertEquals(expectedFlowActivityDoc.getUser(), actualFlowActivityDoc.getUser()); - Assert.assertEquals(expectedFlowActivityDoc.getId(), + assertEquals(expectedFlowActivityDoc.getId(), actualFlowActivityDoc.getId()); expectedFlowActivityDoc.addFlowActivity(FLOW_NAME, @@ -104,17 +106,17 @@ public void testFlowActivityDocMergeOperation() throws IOException { actualFlowActivityDoc.merge(expectedFlowActivityDoc); - Assert.assertEquals(expectedFlowActivityDoc.getDayTimestamp(), + assertEquals(expectedFlowActivityDoc.getDayTimestamp(), actualFlowActivityDoc.getDayTimestamp()); - Assert.assertEquals(expectedFlowActivityDoc.getFlowActivities().size(), + assertEquals(expectedFlowActivityDoc.getFlowActivities().size(), actualFlowActivityDoc.getFlowActivities().size()); - Assert.assertEquals(expectedFlowActivityDoc.getFlowName(), + assertEquals(expectedFlowActivityDoc.getFlowName(), actualFlowActivityDoc.getFlowName()); - Assert.assertEquals(expectedFlowActivityDoc.getType(), + assertEquals(expectedFlowActivityDoc.getType(), actualFlowActivityDoc.getType()); - Assert.assertEquals(expectedFlowActivityDoc.getUser(), + assertEquals(expectedFlowActivityDoc.getUser(), actualFlowActivityDoc.getUser()); - Assert.assertEquals(expectedFlowActivityDoc.getId(), + assertEquals(expectedFlowActivityDoc.getId(), actualFlowActivityDoc.getId()); } @@ -135,43 +137,43 @@ public void testFlowRunDocMergeAndAggOperation() throws IOException { timelineMetric); expectedFlowRunDoc.getMetrics().put(MEMORY_ID, metricSubDoc); - Assert.assertNull(actualFlowRunDoc.getClusterId()); - Assert.assertNull(actualFlowRunDoc.getFlowName()); - Assert.assertNull(actualFlowRunDoc.getFlowRunId()); - Assert.assertNull(actualFlowRunDoc.getFlowVersion()); - Assert.assertNull(actualFlowRunDoc.getId()); - Assert.assertNull(actualFlowRunDoc.getUsername()); - Assert.assertEquals(actualFlowRunDoc.getType(), TimelineEntityType. + assertNull(actualFlowRunDoc.getClusterId()); + assertNull(actualFlowRunDoc.getFlowName()); + assertNull(actualFlowRunDoc.getFlowRunId()); + assertNull(actualFlowRunDoc.getFlowVersion()); + assertNull(actualFlowRunDoc.getId()); + assertNull(actualFlowRunDoc.getUsername()); + assertEquals(actualFlowRunDoc.getType(), TimelineEntityType. YARN_FLOW_RUN.toString()); - Assert.assertEquals(0, actualFlowRunDoc.getMinStartTime()); - Assert.assertEquals(0, actualFlowRunDoc.getMaxEndTime()); - Assert.assertEquals(0, actualFlowRunDoc.getMetrics().size()); + assertEquals(0, actualFlowRunDoc.getMinStartTime()); + assertEquals(0, actualFlowRunDoc.getMaxEndTime()); + assertEquals(0, actualFlowRunDoc.getMetrics().size()); actualFlowRunDoc.merge(expectedFlowRunDoc); - Assert.assertEquals(expectedFlowRunDoc.getClusterId(), + assertEquals(expectedFlowRunDoc.getClusterId(), actualFlowRunDoc.getClusterId()); - Assert.assertEquals(expectedFlowRunDoc.getFlowName(), + assertEquals(expectedFlowRunDoc.getFlowName(), actualFlowRunDoc.getFlowName()); - Assert.assertEquals(expectedFlowRunDoc.getFlowRunId(), + assertEquals(expectedFlowRunDoc.getFlowRunId(), actualFlowRunDoc.getFlowRunId()); - Assert.assertEquals(expectedFlowRunDoc.getFlowVersion(), + assertEquals(expectedFlowRunDoc.getFlowVersion(), actualFlowRunDoc.getFlowVersion()); - Assert.assertEquals(expectedFlowRunDoc.getId(), actualFlowRunDoc.getId()); - Assert.assertEquals(expectedFlowRunDoc.getUsername(), + assertEquals(expectedFlowRunDoc.getId(), actualFlowRunDoc.getId()); + assertEquals(expectedFlowRunDoc.getUsername(), actualFlowRunDoc.getUsername()); - Assert.assertEquals(expectedFlowRunDoc.getType(), + assertEquals(expectedFlowRunDoc.getType(), actualFlowRunDoc.getType()); - Assert.assertEquals(expectedFlowRunDoc.getMinStartTime(), + assertEquals(expectedFlowRunDoc.getMinStartTime(), actualFlowRunDoc.getMinStartTime()); - Assert.assertEquals(expectedFlowRunDoc.getMaxEndTime(), + assertEquals(expectedFlowRunDoc.getMaxEndTime(), actualFlowRunDoc.getMaxEndTime()); - Assert.assertEquals(expectedFlowRunDoc.getMetrics().size(), + assertEquals(expectedFlowRunDoc.getMetrics().size(), actualFlowRunDoc.getMetrics().size()); actualFlowRunDoc.merge(expectedFlowRunDoc); - Assert.assertEquals(value + value, actualFlowRunDoc.getMetrics() + assertEquals(value + value, actualFlowRunDoc.getMetrics() .get(MEMORY_ID).getSingleDataValue()); } } \ No newline at end of file diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore/src/test/java/org/apache/hadoop/yarn/server/timelineservice/documentstore/reader/cosmosdb/TestCosmosDBDocumentStoreReader.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore/src/test/java/org/apache/hadoop/yarn/server/timelineservice/documentstore/reader/cosmosdb/TestCosmosDBDocumentStoreReader.java index fc9eff885f7bc..777b58b343ee4 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore/src/test/java/org/apache/hadoop/yarn/server/timelineservice/documentstore/reader/cosmosdb/TestCosmosDBDocumentStoreReader.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore/src/test/java/org/apache/hadoop/yarn/server/timelineservice/documentstore/reader/cosmosdb/TestCosmosDBDocumentStoreReader.java @@ -22,26 +22,24 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.yarn.server.timelineservice.documentstore.DocumentStoreUtils; import org.apache.hadoop.yarn.server.timelineservice.reader.TimelineReaderContext; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +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.Mockito; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; +import org.mockito.junit.jupiter.MockitoExtension; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.Mockito.mockStatic; import static org.mockito.Mockito.when; /** * Test case for {@link CosmosDBDocumentStoreReader}. */ -@RunWith(PowerMockRunner.class) -@PrepareForTest(DocumentStoreUtils.class) +@ExtendWith(MockitoExtension.class) public class TestCosmosDBDocumentStoreReader { - @Before + @BeforeEach public void setUp(){ AsyncDocumentClient asyncDocumentClient = Mockito.mock(AsyncDocumentClient.class); @@ -51,17 +49,21 @@ public void setUp(){ when(DocumentStoreUtils.createCosmosDBAsyncClient(conf)).thenReturn(asyncDocumentClient); } - @Test(expected = IllegalArgumentException.class) + @Test public void testFailureFOnEmptyPredicates() { - PowerMockito.when(DocumentStoreUtils.isNullOrEmpty( - ArgumentMatchers.any())) - .thenReturn(Boolean.TRUE); - CosmosDBDocumentStoreReader cosmosDBDocumentStoreReader = - new CosmosDBDocumentStoreReader(null); - cosmosDBDocumentStoreReader.addPredicates( - new TimelineReaderContext(null, "", "", - null, "", "", null), - "DummyCollection", new StringBuilder()); + assertThrows(IllegalArgumentException.class, ()->{ + Mockito.when(DocumentStoreUtils.isNullOrEmpty( + ArgumentMatchers.any())) + .thenReturn(Boolean.TRUE); + + CosmosDBDocumentStoreReader cosmosDBDocumentStoreReader = + new CosmosDBDocumentStoreReader(null); + cosmosDBDocumentStoreReader.addPredicates( + new TimelineReaderContext(null, "", "", + null, "", "", null), + "DummyCollection", new StringBuilder()); + }); + } } diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore/src/test/java/org/apache/hadoop/yarn/server/timelineservice/documentstore/writer/cosmosdb/TestCosmosDBDocumentStoreWriter.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore/src/test/java/org/apache/hadoop/yarn/server/timelineservice/documentstore/writer/cosmosdb/TestCosmosDBDocumentStoreWriter.java index ab3c2dad00027..0c2737690a1af 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore/src/test/java/org/apache/hadoop/yarn/server/timelineservice/documentstore/writer/cosmosdb/TestCosmosDBDocumentStoreWriter.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore/src/test/java/org/apache/hadoop/yarn/server/timelineservice/documentstore/writer/cosmosdb/TestCosmosDBDocumentStoreWriter.java @@ -24,27 +24,25 @@ import org.apache.hadoop.yarn.server.timelineservice.documentstore.DocumentStoreUtils; import org.apache.hadoop.yarn.server.timelineservice.documentstore.collection.CollectionType; import org.apache.hadoop.yarn.server.timelineservice.documentstore.collection.document.entity.TimelineEntityDocument; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mockito; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; +import org.mockito.junit.jupiter.MockitoExtension; import java.io.IOException; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.when; import static org.mockito.Mockito.mockStatic; /** * Test case for {@link CosmosDBDocumentStoreWriter}. */ -@RunWith(PowerMockRunner.class) -@PrepareForTest(DocumentStoreUtils.class) +@ExtendWith(MockitoExtension.class) public class TestCosmosDBDocumentStoreWriter { - @Before + @BeforeEach public void setUp() { AsyncDocumentClient asyncDocumentClient = Mockito.mock(AsyncDocumentClient.class); @@ -67,30 +65,30 @@ public void applyingUpdatesOnPrevDocTest() throws IOException { TimelineEntityDocument expectedEntityDoc = DocumentStoreTestUtils.bakeTimelineEntityDoc(); - Assert.assertEquals(1, actualEntityDoc.getInfo().size()); - Assert.assertEquals(0, actualEntityDoc.getMetrics().size()); - Assert.assertEquals(0, actualEntityDoc.getEvents().size()); - Assert.assertEquals(0, actualEntityDoc.getConfigs().size()); - Assert.assertEquals(0, + assertEquals(1, actualEntityDoc.getInfo().size()); + assertEquals(0, actualEntityDoc.getMetrics().size()); + assertEquals(0, actualEntityDoc.getEvents().size()); + assertEquals(0, actualEntityDoc.getConfigs().size()); + assertEquals(0, actualEntityDoc.getIsRelatedToEntities().size()); - Assert.assertEquals(0, actualEntityDoc. + assertEquals(0, actualEntityDoc. getRelatesToEntities().size()); actualEntityDoc = (TimelineEntityDocument) documentStoreWriter .applyUpdatesOnPrevDoc(CollectionType.ENTITY, actualEntityDoc, null); - Assert.assertEquals(expectedEntityDoc.getInfo().size(), + assertEquals(expectedEntityDoc.getInfo().size(), actualEntityDoc.getInfo().size()); - Assert.assertEquals(expectedEntityDoc.getMetrics().size(), + assertEquals(expectedEntityDoc.getMetrics().size(), actualEntityDoc.getMetrics().size()); - Assert.assertEquals(expectedEntityDoc.getEvents().size(), + assertEquals(expectedEntityDoc.getEvents().size(), actualEntityDoc.getEvents().size()); - Assert.assertEquals(expectedEntityDoc.getConfigs().size(), + assertEquals(expectedEntityDoc.getConfigs().size(), actualEntityDoc.getConfigs().size()); - Assert.assertEquals(expectedEntityDoc.getRelatesToEntities().size(), + assertEquals(expectedEntityDoc.getRelatesToEntities().size(), actualEntityDoc.getIsRelatedToEntities().size()); - Assert.assertEquals(expectedEntityDoc.getRelatesToEntities().size(), + assertEquals(expectedEntityDoc.getRelatesToEntities().size(), actualEntityDoc.getRelatesToEntities().size()); } } \ No newline at end of file