From 81defa10a6785534aed1ede1f759993d361b5e08 Mon Sep 17 00:00:00 2001 From: Dominic Schabel Date: Mon, 15 Mar 2021 13:40:40 +0100 Subject: [PATCH] Migration to JUnit5 as default test runtime (#1082) * Migrate tests to JUnit5 Signed-off-by: Dominic Schabel * REST docs tests migrated to JUnit5 Signed-off-by: Dominic Schabel * Migrated security and UI tests to JUnit5 Signed-off-by: Dominic Schabel * Migrated management tests to JUnit5 Signed-off-by: Dominic Schabel * Reflecting changes from JUnit5 migration Signed-off-by: Dominic Schabel * Fix RabbitMQ test detection Signed-off-by: Dominic Schabel * Drop support for JUnit4 Signed-off-by: Dominic Schabel --- .../ArtifactFilesystemRepositoryTest.java | 10 +-- .../repository/ArtifactFilesystemTest.java | 3 +- .../cache/DefaultDownloadIdCacheTest.java | 21 +++-- .../AmqpMessageDispatcherServiceTest.java | 64 ++++++-------- .../amqp/AmqpMessageHandlerServiceTest.java | 18 ++-- .../hawkbit/amqp/BaseAmqpServiceTest.java | 17 ++-- .../AbstractAmqpServiceIntegrationTest.java | 23 +++-- ...ticationMessageHandlerIntegrationTest.java | 6 +- ...ssageDispatcherServiceIntegrationTest.java | 5 +- ...pMessageHandlerServiceIntegrationTest.java | 5 +- .../test/AbstractAmqpIntegrationTest.java | 13 ++- .../rabbitmq/test/AmqpTestConfiguration.java | 39 +-------- .../rabbitmq/test/RabbitMqSetupService.java | 56 ++++-------- ...SourceTrustAuthenticationProviderTest.java | 26 +++--- .../MaintenanceScheduleHelperTest.java | 2 +- .../hawkbit/repository/RegexCharTest.java | 2 +- ...gementMethodPreAuthorizeAnnotatedTest.java | 2 +- .../model/TotalTargetCountStatusTest.java | 2 +- .../BusProtoStuffMessageConverterTest.java | 12 +-- .../event/remote/AbstractRemoteEventTest.java | 4 +- .../event/remote/RemoteIdEventTest.java | 5 +- .../remote/RemoteTenantAwareEventTest.java | 2 +- .../event/remote/entity/ActionEventTest.java | 2 +- .../DistributionSetCreatedEventTest.java | 2 +- .../entity/DistributionSetTagEventTest.java | 2 +- .../DistributionSetUpdatedEventTest.java | 2 +- .../event/remote/entity/RolloutEventTest.java | 2 +- .../remote/entity/RolloutGroupEventTest.java | 2 +- .../entity/SoftwareModuleEventTest.java | 2 +- .../event/remote/entity/TargetEventTest.java | 2 +- .../remote/entity/TargetTagEventTest.java | 2 +- .../hawkbit/repository/jpa/ActionTest.java | 2 +- .../jpa/ArtifactManagementTest.java | 6 +- .../jpa/ControllerManagementTest.java | 20 +++-- .../jpa/DeploymentManagementTest.java | 2 +- .../jpa/DistributionSetManagementTest.java | 2 +- .../jpa/DistributionSetTagManagementTest.java | 2 +- .../DistributionSetTypeManagementTest.java | 2 +- .../jpa/HawkBitEclipseLinkJpaDialectTest.java | 2 +- .../jpa/LazyControllerManagementTest.java | 2 +- .../jpa/RolloutGroupManagementTest.java | 2 +- .../repository/jpa/RolloutManagementTest.java | 9 +- .../jpa/SoftwareModuleManagementTest.java | 2 +- .../jpa/SoftwareModuleTypeManagementTest.java | 2 +- .../repository/jpa/SystemManagementTest.java | 4 +- .../jpa/TargetFilterQueryManagementTest.java | 9 +- .../jpa/TargetManagementSearchTest.java | 2 +- .../repository/jpa/TargetManagementTest.java | 21 +++-- .../jpa/TargetTagManagementTest.java | 2 +- .../TenantConfigurationManagementTest.java | 6 +- .../jpa/autoassign/AutoAssignCheckerTest.java | 2 +- .../autocleanup/AutoActionCleanupTest.java | 2 +- .../autocleanup/AutoCleanupSchedulerTest.java | 6 +- .../jpa/event/RepositoryEntityEventTest.java | 6 +- .../model/EntityInterceptorListenerTest.java | 6 +- .../jpa/model/ModelEqualsHashcodeTest.java | 2 +- .../jpa/rsql/RSQLActionFieldsTest.java | 6 +- .../rsql/RSQLDistributionSetFieldTest.java | 8 +- ...RSQLDistributionSetMetadataFieldsTest.java | 6 +- .../jpa/rsql/RSQLRolloutGroupFields.java | 6 +- .../jpa/rsql/RSQLSoftwareModuleFieldTest.java | 6 +- .../RSQLSoftwareModuleMetadataFieldsTest.java | 6 +- .../RSQLSoftwareModuleTypeFieldsTest.java | 2 +- .../jpa/rsql/RSQLTagFieldsTest.java | 6 +- .../jpa/rsql/RSQLTargetFieldTest.java | 6 +- .../rsql/RSQLTargetFilterQueryFieldsTest.java | 6 +- .../rsql/RSQLTargetMetadataFieldsTest.java | 6 +- .../repository/jpa/rsql/RSQLUtilityTest.java | 8 +- .../rsql/RsqlParserValidationOracleTest.java | 2 +- .../jpa/rsql/VirtualPropertyResolverTest.java | 12 +-- .../SpecificationsBuilderTest.java | 2 +- .../jpa/tenancy/MultiTenancyEntityTest.java | 6 +- .../test/util/AbstractIntegrationTest.java | 64 ++++---------- .../test/util/JUnitTestLoggerExtension.java | 35 ++++++++ .../test/util/WithSpringAuthorityRule.java | 86 +++++++------------ hawkbit-rest/hawkbit-ddi-api/pom.xml | 5 ++ .../ddi/json/model/DdiActionFeedbackTest.java | 9 +- .../ddi/json/model/DdiActionHistoryTest.java | 9 +- .../ddi/json/model/DdiArtifactHashTest.java | 8 +- .../ddi/json/model/DdiArtifactTest.java | 8 +- .../json/model/DdiCancelActionToStopTest.java | 8 +- .../hawkbit/ddi/json/model/DdiCancelTest.java | 8 +- .../hawkbit/ddi/json/model/DdiChunkTest.java | 8 +- .../ddi/json/model/DdiConfigDataTest.java | 8 +- .../hawkbit/ddi/json/model/DdiConfigTest.java | 8 +- .../ddi/json/model/DdiControllerBaseTest.java | 8 +- .../ddi/json/model/DdiDeploymentBaseTest.java | 8 +- .../ddi/json/model/DdiDeploymentTest.java | 8 +- .../ddi/json/model/DdiMetadataTest.java | 8 +- .../ddi/json/model/DdiPollingTest.java | 8 +- .../ddi/json/model/DdiProgressTest.java | 8 +- .../hawkbit/ddi/json/model/DdiResultTest.java | 8 +- .../hawkbit/ddi/json/model/DdiStatusTest.java | 8 +- .../JsonIgnorePropertiesAnnotationTest.java | 2 +- .../AbstractDDiApiIntegrationTest.java | 1 - .../resource/DdiArtifactDownloadTest.java | 6 +- .../rest/resource/DdiCancelActionTest.java | 2 +- .../ddi/rest/resource/DdiConfigDataTest.java | 2 +- .../rest/resource/DdiDeploymentBaseTest.java | 2 +- .../rest/resource/DdiRootControllerTest.java | 12 +-- .../ddi/rest/resource/DosFilterTest.java | 2 +- .../mgmt/json/model/PagedListTest.java | 8 +- .../MgmtTargetAssignmentResponseBodyTest.java | 2 +- .../rest/resource/MgmtContentTypeTest.java | 6 +- .../MgmtDistributionSetResourceTest.java | 2 +- .../MgmtDistributionSetTagResourceTest.java | 2 +- .../MgmtDistributionSetTypeResourceTest.java | 2 +- .../resource/MgmtDownloadResourceTest.java | 6 +- .../resource/MgmtRolloutResourceTest.java | 2 +- .../MgmtSoftwareModuleResourceTest.java | 6 +- .../MgmtSoftwareModuleTypeResourceTest.java | 2 +- .../MgmtTargetFilterQueryResourceTest.java | 2 +- .../rest/resource/MgmtTargetResourceTest.java | 2 +- .../resource/MgmtTargetTagResourceTest.java | 2 +- .../MgmtTenantManagementResourceTest.java | 2 +- .../mgmt/rest/resource/ResourceUtility.java | 5 -- .../rest/AbstractRestIntegrationTest.java | 6 +- .../RootControllerDocumentationTest.java | 8 +- .../AbstractApiRestDocumentation.java | 17 ++-- ...butionSetTagResourceDocumentationTest.java | 8 +- ...DistributionSetTypesDocumentationTest.java | 8 +- .../DistributionSetsDocumentationTest.java | 9 +- .../RolloutResourceDocumentationTest.java | 8 +- .../SoftwaremoduleTypesDocumentationTest.java | 10 +-- .../SoftwaremodulesDocumentationTest.java | 8 +- ...ilterQueriesResourceDocumentationTest.java | 8 +- .../TargetResourceDocumentationTest.java | 8 +- .../TargetTagResourceDocumentationTest.java | 8 +- .../TenantResourceDocumentationTest.java | 8 +- .../hawkbit/app/AbstractSecurityTest.java | 7 +- .../hawkbit/app/AllowedHostNamesTest.java | 2 +- .../org/eclipse/hawkbit/app/CorsTest.java | 15 +--- .../im/authentication/PermissionTest.java | 2 +- .../org/eclipse/hawkbit/util/IpUtilTest.java | 41 ++++----- ...PreAuthenticatedAnonymousDownloadTest.java | 12 +-- ...AuthenticatedSecurityHeaderFilterTest.java | 17 ++-- .../state/ArtifactUploadStateTest.java | 12 +-- .../ui/utils/HawkbitCommonUtilTest.java | 12 +-- .../ui/utils/SPUIComponentProviderTest.java | 2 +- pom.xml | 13 +++ 140 files changed, 572 insertions(+), 657 deletions(-) create mode 100644 hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/JUnitTestLoggerExtension.java diff --git a/hawkbit-artifact-repository-filesystem/src/test/java/org/eclipse/hawkbit/artifact/repository/ArtifactFilesystemRepositoryTest.java b/hawkbit-artifact-repository-filesystem/src/test/java/org/eclipse/hawkbit/artifact/repository/ArtifactFilesystemRepositoryTest.java index 60a808282..71c1e5b30 100644 --- a/hawkbit-artifact-repository-filesystem/src/test/java/org/eclipse/hawkbit/artifact/repository/ArtifactFilesystemRepositoryTest.java +++ b/hawkbit-artifact-repository-filesystem/src/test/java/org/eclipse/hawkbit/artifact/repository/ArtifactFilesystemRepositoryTest.java @@ -19,9 +19,9 @@ import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.assertj.core.api.Assertions; import org.eclipse.hawkbit.artifact.repository.model.AbstractDbArtifact; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -42,7 +42,7 @@ public class ArtifactFilesystemRepositoryTest { private static ArtifactFilesystemRepository artifactFilesystemRepository; - @BeforeClass + @BeforeAll public static void setup() { artifactResourceProperties = new ArtifactFilesystemProperties(); artifactResourceProperties.setPath(Files.createTempDir().getAbsolutePath()); @@ -50,7 +50,7 @@ public class ArtifactFilesystemRepositoryTest { artifactFilesystemRepository = new ArtifactFilesystemRepository(artifactResourceProperties); } - @AfterClass + @AfterAll public static void afterClass() { if (new File(artifactResourceProperties.getPath()).exists()) { try { diff --git a/hawkbit-artifact-repository-filesystem/src/test/java/org/eclipse/hawkbit/artifact/repository/ArtifactFilesystemTest.java b/hawkbit-artifact-repository-filesystem/src/test/java/org/eclipse/hawkbit/artifact/repository/ArtifactFilesystemTest.java index 9669a88aa..df400dc33 100644 --- a/hawkbit-artifact-repository-filesystem/src/test/java/org/eclipse/hawkbit/artifact/repository/ArtifactFilesystemTest.java +++ b/hawkbit-artifact-repository-filesystem/src/test/java/org/eclipse/hawkbit/artifact/repository/ArtifactFilesystemTest.java @@ -17,11 +17,12 @@ import java.io.IOException; import org.apache.commons.io.IOUtils; import org.assertj.core.api.Assertions; import org.eclipse.hawkbit.artifact.repository.model.DbArtifactHash; -import org.junit.Test; + import io.qameta.allure.Description; import io.qameta.allure.Feature; import io.qameta.allure.Story; +import org.junit.jupiter.api.Test; @Feature("Unit Tests - Artifact File System Repository") @Story("Test storing artifact binaries in the file-system") diff --git a/hawkbit-core/src/test/java/org/eclipse/hawkbit/cache/DefaultDownloadIdCacheTest.java b/hawkbit-core/src/test/java/org/eclipse/hawkbit/cache/DefaultDownloadIdCacheTest.java index 69c3a7a46..56000dd0a 100644 --- a/hawkbit-core/src/test/java/org/eclipse/hawkbit/cache/DefaultDownloadIdCacheTest.java +++ b/hawkbit-core/src/test/java/org/eclipse/hawkbit/cache/DefaultDownloadIdCacheTest.java @@ -9,16 +9,18 @@ package org.eclipse.hawkbit.cache; import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.lenient; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -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.ArgumentCaptor; import org.mockito.Captor; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; + +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.cache.Cache; import org.springframework.cache.CacheManager; import org.springframework.cache.support.SimpleValueWrapper; @@ -29,7 +31,7 @@ import io.qameta.allure.Story; @Feature("Unit Tests - Cache") @Story("Download ID Cache") -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class DefaultDownloadIdCacheTest { @Mock @@ -51,11 +53,10 @@ public class DefaultDownloadIdCacheTest { private final String knownKey = "12345"; - @Before + @BeforeEach public void before() { underTest = new DefaultDownloadIdCache(cacheManagerMock); - when(cacheManagerMock.getCache(DefaultDownloadIdCache.DOWNLOAD_ID_CACHE)).thenReturn(cacheMock); - when(tenancyCacheManagerMock.getDirectCache(DefaultDownloadIdCache.DOWNLOAD_ID_CACHE)).thenReturn(cacheMock); + lenient().when(cacheManagerMock.getCache(DefaultDownloadIdCache.DOWNLOAD_ID_CACHE)).thenReturn(cacheMock); } @Test @@ -110,12 +111,14 @@ public class DefaultDownloadIdCacheTest { @Description("Verifies that TenancyCacheManager is using direct cache because download-ids are global unique and don't need to run as tenant aware") public void tenancyCacheManagerIsUsingDirectCache() { + when(tenancyCacheManagerMock.getDirectCache(DefaultDownloadIdCache.DOWNLOAD_ID_CACHE)).thenReturn(cacheMock); underTest = new DefaultDownloadIdCache(tenancyCacheManagerMock); + final DownloadArtifactCache value = new DownloadArtifactCache(DownloadType.BY_SHA1, knownKey); underTest.put(knownKey, value); - verify(cacheMock).put(cacheManagerKeyCaptor.capture(), cacheManagerValueCaptor.capture()); + verify(cacheMock).put(cacheManagerKeyCaptor.capture (), cacheManagerValueCaptor.capture()); verify(tenancyCacheManagerMock).getDirectCache(DefaultDownloadIdCache.DOWNLOAD_ID_CACHE); assertThat(cacheManagerKeyCaptor.getValue()).isEqualTo(knownKey); diff --git a/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageDispatcherServiceTest.java b/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageDispatcherServiceTest.java index 792bcda02..b2f7ee345 100644 --- a/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageDispatcherServiceTest.java +++ b/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageDispatcherServiceTest.java @@ -9,9 +9,6 @@ package org.eclipse.hawkbit.amqp; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.when; @@ -51,7 +48,8 @@ import org.eclipse.hawkbit.repository.model.TenantMetaData; import org.eclipse.hawkbit.repository.test.util.AbstractIntegrationTest; import org.eclipse.hawkbit.repository.test.util.TestdataFactory; import org.eclipse.hawkbit.util.IpUtil; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import org.mockito.Mockito; import org.springframework.amqp.core.Message; @@ -89,9 +87,9 @@ public class AmqpMessageDispatcherServiceTest extends AbstractIntegrationTest { private Target testTarget; - @Override - public void before() throws Exception { - super.before(); + @BeforeEach + public void beforeEach() throws Exception { + testTarget = targetManagement.create(entityFactory.target().create().controllerId(CONTROLLER_ID) .securityToken(TEST_TOKEN).address(AMQP_URI.toString())); @@ -146,22 +144,19 @@ public class AmqpMessageDispatcherServiceTest extends AbstractIntegrationTest { assertThat(downloadAndUpdateRequest.getTargetSecurityToken()).isEqualTo(TEST_TOKEN); for (final org.eclipse.hawkbit.dmf.json.model.DmfSoftwareModule softwareModule : downloadAndUpdateRequest .getSoftwareModules()) { - assertTrue("Artifact list for softwaremodule should be empty", softwareModule.getArtifacts().isEmpty()); + assertThat(softwareModule.getArtifacts().isEmpty()).as("Artifact list for softwaremodule should be empty").isTrue(); assertThat(softwareModule.getMetadata()).containsExactly( new DmfMetadata(TestdataFactory.VISIBLE_SM_MD_KEY, TestdataFactory.VISIBLE_SM_MD_VALUE)); for (final SoftwareModule softwareModule2 : action.getDistributionSet().getModules()) { - assertNotNull("Software module ID should be set", softwareModule.getModuleId()); if (!softwareModule.getModuleId().equals(softwareModule2.getId())) { continue; } - assertEquals( - "Software module type in event should be the same as the softwaremodule in the distribution set", - softwareModule.getModuleType(), softwareModule2.getType().getKey()); - assertEquals( - "Software module version in event should be the same as the softwaremodule in the distribution set", - softwareModule.getModuleVersion(), softwareModule2.getVersion()); + assertThat(softwareModule.getModuleType()).isEqualTo(softwareModule2.getType().getKey()).as( + "Software module type in event should be the same as the softwaremodule in the distribution set"); + assertThat(softwareModule.getModuleVersion()).isEqualTo(softwareModule2.getVersion()).as( + "Software module version in event should be the same as the softwaremodule in the distribution set"); } } } @@ -190,8 +185,7 @@ public class AmqpMessageDispatcherServiceTest extends AbstractIntegrationTest { final DmfDownloadAndUpdateRequest downloadAndUpdateRequest = assertDownloadAndInstallMessage(sendMessage, action.getId()); - assertEquals("DownloadAndUpdateRequest event should contains 3 software modules", 3, - downloadAndUpdateRequest.getSoftwareModules().size()); + assertThat(downloadAndUpdateRequest.getSoftwareModules()).hasSize(3).as("DownloadAndUpdateRequest event should contains 3 software modules"); assertThat(downloadAndUpdateRequest.getTargetSecurityToken()).isEqualTo(TEST_TOKEN); for (final DmfSoftwareModule softwareModule : downloadAndUpdateRequest.getSoftwareModules()) { @@ -291,14 +285,14 @@ public class AmqpMessageDispatcherServiceTest extends AbstractIntegrationTest { private void assertCancelMessage(final Message sendMessage) { assertEventMessage(sendMessage); final DmfActionRequest actionId = convertMessage(sendMessage, DmfActionRequest.class); - assertEquals("Action ID should be 1", actionId.getActionId(), Long.valueOf(1)); - assertEquals("The topic in the message should be a CANCEL_DOWNLOAD value", EventTopic.CANCEL_DOWNLOAD, - sendMessage.getMessageProperties().getHeaders().get(MessageHeaderKey.TOPIC)); + assertThat( actionId.getActionId()).isEqualTo(Long.valueOf(1)).as("Action ID should be 1"); + assertThat(sendMessage.getMessageProperties().getHeaders().get(MessageHeaderKey.TOPIC)).isEqualTo(EventTopic.CANCEL_DOWNLOAD) + .as("The topc in the message should be a CANCEL_DOWNLOAD value"); } private void assertDeleteMessage(final Message sendMessage) { - assertNotNull(sendMessage); + assertThat(sendMessage).isNotNull(); assertThat(sendMessage.getMessageProperties().getHeaders().get(MessageHeaderKey.THING_ID)) .isEqualTo(CONTROLLER_ID); assertThat(sendMessage.getMessageProperties().getHeaders().get(MessageHeaderKey.TENANT)).isEqualTo(TENANT); @@ -310,32 +304,30 @@ public class AmqpMessageDispatcherServiceTest extends AbstractIntegrationTest { assertEventMessage(sendMessage); final DmfDownloadAndUpdateRequest downloadAndUpdateRequest = convertMessage(sendMessage, DmfDownloadAndUpdateRequest.class); - assertEquals(downloadAndUpdateRequest.getActionId(), action); - assertEquals("The topic of the event should contain DOWNLOAD_AND_INSTALL", EventTopic.DOWNLOAD_AND_INSTALL, - sendMessage.getMessageProperties().getHeaders().get(MessageHeaderKey.TOPIC)); - assertEquals("Security token of target", TEST_TOKEN, downloadAndUpdateRequest.getTargetSecurityToken()); + assertThat(downloadAndUpdateRequest.getActionId()).isEqualTo(action); + assertThat(sendMessage.getMessageProperties().getHeaders().get(MessageHeaderKey.TOPIC)).isEqualTo( EventTopic.DOWNLOAD_AND_INSTALL) + .as("The topic of the event should contain DOWNLOAD_AND_INSTALL"); + assertThat(downloadAndUpdateRequest.getTargetSecurityToken()).isEqualTo(TEST_TOKEN).as("Security token of target"); return downloadAndUpdateRequest; - } private void assertUpdateAttributesMessage(final Message sendMessage) { assertEventMessage(sendMessage); - assertEquals("The topic of the event should contain REQUEST_ATTRIBUTES_UPDATE", - EventTopic.REQUEST_ATTRIBUTES_UPDATE, - sendMessage.getMessageProperties().getHeaders().get(MessageHeaderKey.TOPIC)); + assertThat(sendMessage.getMessageProperties().getHeaders().get(MessageHeaderKey.TOPIC)).isEqualTo(EventTopic.REQUEST_ATTRIBUTES_UPDATE) + .as("The topic of the event should contain REQUEST_ATTRIBUTES_UPDATE"); } private void assertEventMessage(final Message sendMessage) { - assertNotNull("The message should not be null", sendMessage); + assertThat(sendMessage).isNotNull().as("The message should not be null"); - assertEquals("The value of the message header THING_ID should be " + CONTROLLER_ID, CONTROLLER_ID, - sendMessage.getMessageProperties().getHeaders().get(MessageHeaderKey.THING_ID)); - assertEquals("The value of the message header TYPE should be EVENT", MessageType.EVENT, - sendMessage.getMessageProperties().getHeaders().get(MessageHeaderKey.TYPE)); - assertEquals("The content type message should be " + MessageProperties.CONTENT_TYPE_JSON, - MessageProperties.CONTENT_TYPE_JSON, sendMessage.getMessageProperties().getContentType()); + assertThat(sendMessage.getMessageProperties().getHeaders().get(MessageHeaderKey.THING_ID)).isEqualTo(CONTROLLER_ID) + .as("The value of the message header THING_ID should be " + CONTROLLER_ID); + assertThat(sendMessage.getMessageProperties().getHeaders().get(MessageHeaderKey.TYPE)).isEqualTo(MessageType.EVENT) + .as("The value of the message header TYPE should be EVENT"); + assertThat(sendMessage.getMessageProperties().getContentType()).isEqualTo(MessageProperties.CONTENT_TYPE_JSON) + .as("The content type message should be " + MessageProperties.CONTENT_TYPE_JSON); } protected Message createArgumentCapture(final URI uri) { diff --git a/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerServiceTest.java b/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerServiceTest.java index 0d5956266..4c2802865 100644 --- a/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerServiceTest.java +++ b/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerServiceTest.java @@ -15,6 +15,7 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.lenient; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -59,13 +60,13 @@ import org.eclipse.hawkbit.security.SecurityContextTenantAware; import org.eclipse.hawkbit.security.SecurityTokenGenerator; import org.eclipse.hawkbit.security.SystemSecurityContext; import org.eclipse.hawkbit.tenancy.TenantAware; -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.ArgumentCaptor; import org.mockito.Captor; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.amqp.AmqpRejectAndDontRequeueException; import org.springframework.amqp.core.Message; import org.springframework.amqp.core.MessageProperties; @@ -79,7 +80,7 @@ import io.qameta.allure.Description; import io.qameta.allure.Feature; import io.qameta.allure.Story; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) @Feature("Component Tests - Device Management Federation API") @Story("AmqpMessage Handler Service Test") public class AmqpMessageHandlerServiceTest { @@ -144,15 +145,14 @@ public class AmqpMessageHandlerServiceTest { @Captor private ArgumentCaptor modeCaptor; - @Before + @BeforeEach @SuppressWarnings({ "rawtypes", "unchecked" }) public void before() throws Exception { messageConverter = new Jackson2JsonMessageConverter(); - when(rabbitTemplate.getMessageConverter()).thenReturn(messageConverter); - when(artifactManagementMock.findFirstBySHA1(SHA1)).thenReturn(Optional.empty()); + lenient().when(rabbitTemplate.getMessageConverter()).thenReturn(messageConverter); final TenantConfigurationValue multiAssignmentConfig = TenantConfigurationValue.builder().value(Boolean.FALSE) .global(Boolean.FALSE).build(); - when(tenantConfigurationManagement.getConfigurationValue(MULTI_ASSIGNMENTS_ENABLED, Boolean.class)) + lenient().when(tenantConfigurationManagement.getConfigurationValue(MULTI_ASSIGNMENTS_ENABLED, Boolean.class)) .thenReturn(multiAssignmentConfig); final SecurityContextTenantAware tenantAware = new SecurityContextTenantAware(); diff --git a/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/BaseAmqpServiceTest.java b/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/BaseAmqpServiceTest.java index 8c16f41ef..e36b48ea7 100644 --- a/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/BaseAmqpServiceTest.java +++ b/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/BaseAmqpServiceTest.java @@ -10,6 +10,7 @@ package org.eclipse.hawkbit.amqp; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assert.fail; +import static org.mockito.Mockito.lenient; import static org.mockito.Mockito.when; import org.eclipse.hawkbit.dmf.json.model.DmfActionStatus; @@ -17,11 +18,12 @@ import org.eclipse.hawkbit.dmf.json.model.DmfActionUpdateStatus; import org.eclipse.hawkbit.repository.event.remote.entity.TargetCreatedEvent; import org.eclipse.hawkbit.repository.test.matcher.Expect; import org.eclipse.hawkbit.repository.test.matcher.ExpectEvents; -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.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.Mockito; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.amqp.core.Message; import org.springframework.amqp.core.MessageProperties; import org.springframework.amqp.rabbit.core.RabbitTemplate; @@ -32,7 +34,7 @@ import io.qameta.allure.Description; import io.qameta.allure.Feature; import io.qameta.allure.Story; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) @Feature("Component Tests - Device Management Federation API") @Story("Base Amqp Service Test") public class BaseAmqpServiceTest { @@ -42,11 +44,10 @@ public class BaseAmqpServiceTest { private BaseAmqpService baseAmqpService; - @Before + @BeforeEach public void setup() { - when(rabbitTemplate.getMessageConverter()).thenReturn(new Jackson2JsonMessageConverter()); + lenient().when(rabbitTemplate.getMessageConverter()).thenReturn(new Jackson2JsonMessageConverter()); baseAmqpService = new BaseAmqpService(rabbitTemplate); - } @Test diff --git a/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/integration/AbstractAmqpServiceIntegrationTest.java b/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/integration/AbstractAmqpServiceIntegrationTest.java index b9d937c15..4aebee725 100644 --- a/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/integration/AbstractAmqpServiceIntegrationTest.java +++ b/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/integration/AbstractAmqpServiceIntegrationTest.java @@ -18,6 +18,7 @@ import java.util.Set; import java.util.UUID; import java.util.concurrent.Callable; +import org.assertj.core.api.HamcrestCondition; import org.eclipse.hawkbit.amqp.DmfApiConfiguration; import org.eclipse.hawkbit.dmf.amqp.api.AmqpSettings; import org.eclipse.hawkbit.dmf.amqp.api.EventTopic; @@ -43,13 +44,13 @@ import org.eclipse.hawkbit.repository.model.Target; import org.eclipse.hawkbit.repository.model.TargetUpdateStatus; import org.eclipse.hawkbit.repository.test.TestConfiguration; import org.eclipse.hawkbit.repository.test.util.TestdataFactory; +import org.eclipse.hawkbit.repository.test.util.WithSpringAuthorityRule; import org.eclipse.hawkbit.util.IpUtil; -import org.junit.Assert; -import org.junit.Before; +import org.junit.jupiter.api.BeforeEach; import org.mockito.Mockito; import org.springframework.amqp.core.Message; import org.springframework.amqp.core.MessageProperties; -import org.springframework.amqp.rabbit.connection.ConnectionFactory; +import org.springframework.amqp.rabbit.junit.BrokerRunningSupport; import org.springframework.amqp.rabbit.test.RabbitListenerTestHarness; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.stream.test.binder.TestSupportBinderAutoConfiguration; @@ -77,10 +78,7 @@ public abstract class AbstractAmqpServiceIntegrationTest extends AbstractAmqpInt @Autowired private RabbitListenerTestHarness harness; - @Autowired - private ConnectionFactory connectionFactory; - - @Before + @BeforeEach public void initListener() { deadletterListener = harness.getSpy(DeadletterListener.LISTENER_ID); assertThat(deadletterListener).isNotNull(); @@ -93,10 +91,11 @@ public abstract class AbstractAmqpServiceIntegrationTest extends AbstractAmqpInt } private T waitUntilIsPresent(final Callable> callable) { - createConditionFactory().until(() -> securityRule.runAsPrivileged(() -> callable.call().isPresent())); + + createConditionFactory().until(() -> WithSpringAuthorityRule.runAsPrivileged(() -> callable.call().isPresent())); try { - return securityRule.runAsPrivileged(() -> callable.call().get()); + return WithSpringAuthorityRule.runAsPrivileged(() -> callable.call().get()); } catch (final Exception e) { return null; } @@ -189,7 +188,7 @@ public abstract class AbstractAmqpServiceIntegrationTest extends AbstractAmqpInt protected void assertDmfDownloadAndUpdateRequest(final DmfDownloadAndUpdateRequest request, final Set softwareModules, final String controllerId) { - Assert.assertThat(softwareModules, SoftwareModuleJsonMatcher.containsExactly(request.getSoftwareModules())); + assertThat(softwareModules).is(new HamcrestCondition<>(SoftwareModuleJsonMatcher.containsExactly(request.getSoftwareModules()))); request.getSoftwareModules().forEach(dmfModule -> assertThat(dmfModule.getMetadata()).containsExactly( new DmfMetadata(TestdataFactory.VISIBLE_SM_MD_KEY, TestdataFactory.VISIBLE_SM_MD_VALUE))); final Target updatedTarget = waitUntilIsPresent(() -> targetManagement.getByControllerID(controllerId)); @@ -299,7 +298,7 @@ public abstract class AbstractAmqpServiceIntegrationTest extends AbstractAmqpInt assertThat(target.getCreatedBy()).isEqualTo(createdBy); assertThat(target.getUpdateStatus()).isEqualTo(updateStatus); assertThat(target.getAddress()).isEqualTo( - IpUtil.createAmqpUri(connectionFactory.getVirtualHost(), DmfTestConfiguration.REPLY_TO_EXCHANGE)); + IpUtil.createAmqpUri(getVirtualHost(), DmfTestConfiguration.REPLY_TO_EXCHANGE)); } protected Message createTargetMessage(final String target, final String tenant) { @@ -364,7 +363,7 @@ public abstract class AbstractAmqpServiceIntegrationTest extends AbstractAmqpInt createConditionFactory().untilAsserted(() -> { try { - final Map controllerAttributes = securityRule + final Map controllerAttributes = WithSpringAuthorityRule .runAsPrivileged(() -> targetManagement.getControllerAttributes(controllerId)); assertThat(controllerAttributes.size()).isEqualTo(attributes.size()); attributes.forEach((k, v) -> assertKeyValueInMap(k, v, controllerAttributes)); diff --git a/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/integration/AmqpAuthenticationMessageHandlerIntegrationTest.java b/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/integration/AmqpAuthenticationMessageHandlerIntegrationTest.java index c2f07ee7b..3a6ab21a9 100644 --- a/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/integration/AmqpAuthenticationMessageHandlerIntegrationTest.java +++ b/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/integration/AmqpAuthenticationMessageHandlerIntegrationTest.java @@ -25,8 +25,8 @@ import org.eclipse.hawkbit.repository.model.Target; import org.eclipse.hawkbit.security.DmfTenantSecurityToken; import org.eclipse.hawkbit.security.DmfTenantSecurityToken.FileResource; import org.eclipse.hawkbit.tenancy.configuration.TenantConfigurationProperties.TenantConfigurationKey; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.amqp.core.Message; import org.springframework.amqp.core.MessageProperties; import org.springframework.amqp.rabbit.core.RabbitAdmin; @@ -52,7 +52,7 @@ public class AmqpAuthenticationMessageHandlerIntegrationTest extends AbstractAmq @Autowired private AmqpProperties amqpProperties; - @Before + @BeforeEach public void testSetup() { enableTargetTokenAuthentication(); } diff --git a/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/integration/AmqpMessageDispatcherServiceIntegrationTest.java b/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/integration/AmqpMessageDispatcherServiceIntegrationTest.java index 19d5a508f..180af44cc 100644 --- a/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/integration/AmqpMessageDispatcherServiceIntegrationTest.java +++ b/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/integration/AmqpMessageDispatcherServiceIntegrationTest.java @@ -49,7 +49,8 @@ import org.eclipse.hawkbit.repository.model.Target; import org.eclipse.hawkbit.repository.model.TargetUpdateStatus; import org.eclipse.hawkbit.repository.test.matcher.Expect; import org.eclipse.hawkbit.repository.test.matcher.ExpectEvents; -import org.junit.Test; +import org.eclipse.hawkbit.repository.test.util.WithSpringAuthorityRule; +import org.junit.jupiter.api.Test; import org.mockito.Mockito; import org.springframework.amqp.core.Message; @@ -533,7 +534,7 @@ public class AmqpMessageDispatcherServiceIntegrationTest extends AbstractAmqpSer } private void waitUntil(final Callable callable) { - createConditionFactory().until(() -> securityRule.runAsPrivileged(callable)); + createConditionFactory().until(() -> WithSpringAuthorityRule.runAsPrivileged(callable)); } private void assertLatestMultiActionMessageContainsInstallMessages(final String controllerId, diff --git a/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/integration/AmqpMessageHandlerServiceIntegrationTest.java b/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/integration/AmqpMessageHandlerServiceIntegrationTest.java index 0a5aaf56d..709284dc8 100644 --- a/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/integration/AmqpMessageHandlerServiceIntegrationTest.java +++ b/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/integration/AmqpMessageHandlerServiceIntegrationTest.java @@ -59,7 +59,8 @@ import org.eclipse.hawkbit.repository.model.Target; import org.eclipse.hawkbit.repository.model.TargetUpdateStatus; import org.eclipse.hawkbit.repository.test.matcher.Expect; import org.eclipse.hawkbit.repository.test.matcher.ExpectEvents; -import org.junit.Test; +import org.eclipse.hawkbit.repository.test.util.WithSpringAuthorityRule; +import org.junit.jupiter.api.Test; import org.mockito.Mockito; import org.springframework.amqp.core.Message; import org.springframework.amqp.core.MessageProperties; @@ -966,7 +967,7 @@ public class AmqpMessageHandlerServiceIntegrationTest extends AbstractAmqpServic private void assertAction(final Long actionId, final int messages, final Status... expectedActionStates) { createConditionFactory().await().untilAsserted(() -> { try { - securityRule.runAsPrivileged(() -> { + WithSpringAuthorityRule.runAsPrivileged(() -> { final List actionStatusList = deploymentManagement .findActionStatusByAction(PAGE, actionId).getContent(); diff --git a/hawkbit-dmf/hawkbit-dmf-rabbitmq-test/src/main/java/org/eclipse/hawkbit/rabbitmq/test/AbstractAmqpIntegrationTest.java b/hawkbit-dmf/hawkbit-dmf-rabbitmq-test/src/main/java/org/eclipse/hawkbit/rabbitmq/test/AbstractAmqpIntegrationTest.java index 4a82da78f..9bf22c49f 100644 --- a/hawkbit-dmf/hawkbit-dmf-rabbitmq-test/src/main/java/org/eclipse/hawkbit/rabbitmq/test/AbstractAmqpIntegrationTest.java +++ b/hawkbit-dmf/hawkbit-dmf-rabbitmq-test/src/main/java/org/eclipse/hawkbit/rabbitmq/test/AbstractAmqpIntegrationTest.java @@ -16,14 +16,13 @@ import org.awaitility.core.ConditionFactory; import org.eclipse.hawkbit.repository.jpa.RepositoryApplicationConfiguration; import org.eclipse.hawkbit.repository.test.TestConfiguration; import org.eclipse.hawkbit.repository.test.util.AbstractIntegrationTest; -import org.junit.Before; -import org.junit.Rule; +import org.junit.jupiter.api.BeforeEach; import org.springframework.amqp.core.Message; import org.springframework.amqp.core.MessageProperties; import org.springframework.amqp.rabbit.connection.ConnectionFactory; import org.springframework.amqp.rabbit.core.RabbitAdmin; import org.springframework.amqp.rabbit.core.RabbitTemplate; -import org.springframework.amqp.rabbit.junit.BrokerRunning; +import org.springframework.amqp.rabbit.junit.RabbitAvailable; import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.stream.test.binder.TestSupportBinderAutoConfiguration; @@ -31,17 +30,15 @@ import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.annotation.DirtiesContext.ClassMode; import org.springframework.test.context.ContextConfiguration; +@RabbitAvailable @ContextConfiguration(classes = { RepositoryApplicationConfiguration.class, AmqpTestConfiguration.class, TestConfiguration.class, TestSupportBinderAutoConfiguration.class }) // Dirty context is necessary to create a new vhost and recreate all necessary // beans after every test class. @DirtiesContext(classMode = ClassMode.AFTER_CLASS) public abstract class AbstractAmqpIntegrationTest extends AbstractIntegrationTest { - private static final Duration TIMEOUT = Duration.ofSeconds(5); - @Rule - @Autowired - public BrokerRunning brokerRunning; + private static final Duration TIMEOUT = Duration.ofSeconds(5); @Autowired private ConnectionFactory connectionFactory; @@ -51,7 +48,7 @@ public abstract class AbstractAmqpIntegrationTest extends AbstractIntegrationTes private RabbitTemplate dmfClient; - @Before + @BeforeEach public void setup() { dmfClient = createDmfClient(); } diff --git a/hawkbit-dmf/hawkbit-dmf-rabbitmq-test/src/main/java/org/eclipse/hawkbit/rabbitmq/test/AmqpTestConfiguration.java b/hawkbit-dmf/hawkbit-dmf-rabbitmq-test/src/main/java/org/eclipse/hawkbit/rabbitmq/test/AmqpTestConfiguration.java index b557249b1..129c85ab4 100644 --- a/hawkbit-dmf/hawkbit-dmf-rabbitmq-test/src/main/java/org/eclipse/hawkbit/rabbitmq/test/AmqpTestConfiguration.java +++ b/hawkbit-dmf/hawkbit-dmf-rabbitmq-test/src/main/java/org/eclipse/hawkbit/rabbitmq/test/AmqpTestConfiguration.java @@ -17,16 +17,10 @@ import java.util.concurrent.TimeUnit; import org.eclipse.hawkbit.HawkbitServerProperties; import org.eclipse.hawkbit.api.HostnameResolver; -import org.eclipse.hawkbit.rabbitmq.test.RabbitMqSetupService.AlivenessException; import org.eclipse.hawkbit.repository.jpa.model.helper.SystemSecurityContextHolder; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.amqp.rabbit.connection.CachingConnectionFactory; import org.springframework.amqp.rabbit.connection.ConnectionFactory; import org.springframework.amqp.rabbit.core.RabbitTemplate; -import org.springframework.amqp.rabbit.junit.BrokerRunning; import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter; -import org.springframework.boot.autoconfigure.amqp.RabbitProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; @@ -43,8 +37,6 @@ import com.google.common.base.Throwables; @Configuration public class AmqpTestConfiguration { - private static final Logger LOG = LoggerFactory.getLogger(AmqpTestConfiguration.class); - @Bean SystemSecurityContextHolder systemSecurityContextHolder() { return SystemSecurityContextHolder.getInstance(); @@ -82,26 +74,13 @@ public class AmqpTestConfiguration { } @Bean - ConnectionFactory rabbitConnectionFactory(final RabbitMqSetupService rabbitmqSetupService) { - final CachingConnectionFactory factory = new CachingConnectionFactory(); - factory.setHost(rabbitmqSetupService.getHostname()); - factory.setPort(5672); - factory.setUsername(rabbitmqSetupService.getUsername()); - factory.setPassword(rabbitmqSetupService.getPassword()); - try { - factory.setVirtualHost(rabbitmqSetupService.createVirtualHost()); - // All exception are catched. The BrokerRunning decide if the - // test should break or not - } catch (@SuppressWarnings("squid:S2221") final Exception e) { - Throwables.propagateIfInstanceOf(e, AlivenessException.class); - LOG.error("Cannot create virtual host.", e); - } - return factory; + ConnectionFactory rabbitConnectionFactory(RabbitMqSetupService rabbitMqSetupService) { + return rabbitMqSetupService.newVirtualHostWithConnectionFactory(); } @Bean - RabbitMqSetupService rabbitmqSetupService(final RabbitProperties properties) { - return new RabbitMqSetupService(properties); + RabbitMqSetupService rabbitMqSetupService(){ + return new RabbitMqSetupService(); } @Bean @@ -113,14 +92,4 @@ public class AmqpTestConfiguration { rabbitTemplate.setReceiveTimeout(TimeUnit.SECONDS.toMillis(3)); return rabbitTemplate; } - - @Bean - BrokerRunning brokerRunning(final RabbitMqSetupService rabbitmqSetupService) { - final BrokerRunning brokerRunning = BrokerRunning.isRunning(); - brokerRunning.setHostName(rabbitmqSetupService.getHostname()); - brokerRunning.getConnectionFactory().setUsername(rabbitmqSetupService.getUsername()); - brokerRunning.getConnectionFactory().setPassword(rabbitmqSetupService.getPassword()); - return brokerRunning; - } - } diff --git a/hawkbit-dmf/hawkbit-dmf-rabbitmq-test/src/main/java/org/eclipse/hawkbit/rabbitmq/test/RabbitMqSetupService.java b/hawkbit-dmf/hawkbit-dmf-rabbitmq-test/src/main/java/org/eclipse/hawkbit/rabbitmq/test/RabbitMqSetupService.java index b6f9dcc40..530a153ec 100644 --- a/hawkbit-dmf/hawkbit-dmf-rabbitmq-test/src/main/java/org/eclipse/hawkbit/rabbitmq/test/RabbitMqSetupService.java +++ b/hawkbit-dmf/hawkbit-dmf-rabbitmq-test/src/main/java/org/eclipse/hawkbit/rabbitmq/test/RabbitMqSetupService.java @@ -14,10 +14,11 @@ import java.util.UUID; import javax.annotation.PreDestroy; -import org.springframework.boot.autoconfigure.amqp.RabbitProperties; +import org.springframework.amqp.rabbit.connection.CachingConnectionFactory; +import org.springframework.amqp.rabbit.connection.ConnectionFactory; +import org.springframework.amqp.rabbit.junit.BrokerRunningSupport; import org.springframework.util.StringUtils; -import com.fasterxml.jackson.core.JsonProcessingException; import com.google.common.base.Throwables; import com.rabbitmq.http.client.Client; import com.rabbitmq.http.client.domain.UserPermissions; @@ -25,18 +26,15 @@ import com.rabbitmq.http.client.domain.UserPermissions; /** * Creates and deletes a new virtual host if the rabbit mq management api is * available. - * */ // exception squid:S2068 - Test instance passwd @SuppressWarnings("squid:S2068") public class RabbitMqSetupService { - private static final String GUEST = "guest"; - private static final String DEFAULT_USER = GUEST; - private static final String DEFAULT_PASSWORD = GUEST; - private Client rabbitmqHttpClient; + private final com.rabbitmq.client.ConnectionFactory connectionFactory; + private String virtualHost; private final String hostname; @@ -45,18 +43,13 @@ public class RabbitMqSetupService { private String password; - public RabbitMqSetupService(final RabbitProperties properties) { - hostname = properties.getHost(); - username = properties.getUsername(); - if (StringUtils.isEmpty(username)) { - username = DEFAULT_USER; - } - - password = properties.getPassword(); - if (StringUtils.isEmpty(password)) { - password = DEFAULT_PASSWORD; - } + public RabbitMqSetupService() { + BrokerRunningSupport brokerSupport = BrokerRunningSupport.isRunning(); + connectionFactory = brokerSupport.getConnectionFactory(); + hostname = brokerSupport.getHostName(); + username = brokerSupport.getUser(); + password = brokerSupport.getPassword(); } private synchronized Client getRabbitmqHttpClient() { @@ -74,17 +67,12 @@ public class RabbitMqSetupService { return "http://" + getHostname() + ":15672/api/"; } - @SuppressWarnings("squid:S1162") - public String createVirtualHost() throws JsonProcessingException { - if (!getRabbitmqHttpClient().alivenessTest("/")) { - throw new AlivenessException(getHostname()); - - } + public ConnectionFactory newVirtualHostWithConnectionFactory() { virtualHost = UUID.randomUUID().toString(); getRabbitmqHttpClient().createVhost(virtualHost); getRabbitmqHttpClient().updatePermissions(virtualHost, getUsername(), createUserPermissionsFullAccess()); - return virtualHost; - + connectionFactory.setVirtualHost(virtualHost); + return new CachingConnectionFactory(connectionFactory); } @PreDestroy @@ -95,15 +83,15 @@ public class RabbitMqSetupService { getRabbitmqHttpClient().deleteVhost(virtualHost); } - public String getHostname() { + private String getHostname() { return hostname; } - public String getPassword() { + private String getPassword() { return password; } - public String getUsername() { + private String getUsername() { return username; } @@ -115,14 +103,4 @@ public class RabbitMqSetupService { permissions.setWrite(".*"); return permissions; } - - static class AlivenessException extends RuntimeException { - private static final long serialVersionUID = 1L; - - public AlivenessException(final String hostname) { - super("Aliveness test failed for " + hostname - + ":15672 guest/quest; rabbit mq management api not available"); - } - } - } diff --git a/hawkbit-http-security/src/test/java/org/eclipse/hawkbit/security/PreAuthTokenSourceTrustAuthenticationProviderTest.java b/hawkbit-http-security/src/test/java/org/eclipse/hawkbit/security/PreAuthTokenSourceTrustAuthenticationProviderTest.java index 88d9591a6..079955500 100644 --- a/hawkbit-http-security/src/test/java/org/eclipse/hawkbit/security/PreAuthTokenSourceTrustAuthenticationProviderTest.java +++ b/hawkbit-http-security/src/test/java/org/eclipse/hawkbit/security/PreAuthTokenSourceTrustAuthenticationProviderTest.java @@ -9,15 +9,16 @@ package org.eclipse.hawkbit.security; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.fail; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import static org.mockito.Mockito.when; import java.util.Arrays; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.security.authentication.BadCredentialsException; import org.springframework.security.authentication.InsufficientAuthenticationException; import org.springframework.security.core.Authentication; @@ -29,7 +30,7 @@ import io.qameta.allure.Story; @Feature("Unit Tests - Security") @Story("PreAuthToken Source TrustAuthentication Provider Test") -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) // TODO: create description annotations public class PreAuthTokenSourceTrustAuthenticationProviderTest { @@ -54,7 +55,7 @@ public class PreAuthTokenSourceTrustAuthenticationProviderTest { // test, should throw authentication exception try { underTestWithoutSourceIpCheck.authenticate(token); - fail("Should not work with wrong credentials"); + Assertions.fail("Should not work with wrong credentials"); } catch (final BadCredentialsException e) { } @@ -90,7 +91,7 @@ public class PreAuthTokenSourceTrustAuthenticationProviderTest { try { underTestWithSourceIpCheck.authenticate(token); - fail("as source is not trusted."); + Assertions.fail("as source is not trusted."); } catch (final InsufficientAuthenticationException e) { } @@ -132,7 +133,7 @@ public class PreAuthTokenSourceTrustAuthenticationProviderTest { assertThat(authenticate.isAuthenticated()).isTrue(); } - @Test(expected = InsufficientAuthenticationException.class) + @Test public void principalAndCredentialsAreTheSameSourceIpListNotMatches() { final String[] trustedIPAddresses = new String[] { "192.168.1.1", "192.168.1.2", "192.168.1.3" }; final String principal = "controllerId"; @@ -146,13 +147,6 @@ public class PreAuthTokenSourceTrustAuthenticationProviderTest { final PreAuthTokenSourceTrustAuthenticationProvider underTestWithList = new PreAuthTokenSourceTrustAuthenticationProvider( trustedIPAddresses); - // test, should throw authentication exception - final Authentication authenticate = underTestWithList.authenticate(token); - try { - assertThat(authenticate.isAuthenticated()).isTrue(); - fail("as source is not trusted."); - } catch (final InsufficientAuthenticationException e) { - - } + assertThatExceptionOfType(InsufficientAuthenticationException.class).isThrownBy(()-> underTestWithList.authenticate(token)); } } diff --git a/hawkbit-repository/hawkbit-repository-api/src/test/java/org/eclipse/hawkbit/repository/MaintenanceScheduleHelperTest.java b/hawkbit-repository/hawkbit-repository-api/src/test/java/org/eclipse/hawkbit/repository/MaintenanceScheduleHelperTest.java index d66eabda8..5f6866bea 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/test/java/org/eclipse/hawkbit/repository/MaintenanceScheduleHelperTest.java +++ b/hawkbit-repository/hawkbit-repository-api/src/test/java/org/eclipse/hawkbit/repository/MaintenanceScheduleHelperTest.java @@ -15,13 +15,13 @@ import java.time.Duration; import java.time.ZonedDateTime; import org.eclipse.hawkbit.repository.exception.InvalidMaintenanceScheduleException; -import org.junit.Test; import com.cronutils.model.Cron; import io.qameta.allure.Description; import io.qameta.allure.Feature; import io.qameta.allure.Story; +import org.junit.jupiter.api.Test; @Feature("Unit Tests - Repository") @Story("Maintenance Schedule Utility") diff --git a/hawkbit-repository/hawkbit-repository-api/src/test/java/org/eclipse/hawkbit/repository/RegexCharTest.java b/hawkbit-repository/hawkbit-repository-api/src/test/java/org/eclipse/hawkbit/repository/RegexCharTest.java index 4d554147a..8e577c749 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/test/java/org/eclipse/hawkbit/repository/RegexCharTest.java +++ b/hawkbit-repository/hawkbit-repository-api/src/test/java/org/eclipse/hawkbit/repository/RegexCharTest.java @@ -11,11 +11,11 @@ package org.eclipse.hawkbit.repository; import static org.assertj.core.api.Assertions.assertThat; import org.eclipse.hawkbit.repository.RegexCharacterCollection.RegexChar; -import org.junit.Test; import io.qameta.allure.Description; import io.qameta.allure.Feature; import io.qameta.allure.Story; +import org.junit.jupiter.api.Test; @Feature("Unit Tests - Repository") @Story("Regular expression helper") diff --git a/hawkbit-repository/hawkbit-repository-api/src/test/java/org/eclipse/hawkbit/repository/RepositoryManagementMethodPreAuthorizeAnnotatedTest.java b/hawkbit-repository/hawkbit-repository-api/src/test/java/org/eclipse/hawkbit/repository/RepositoryManagementMethodPreAuthorizeAnnotatedTest.java index c85e15a7b..9996920ce 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/test/java/org/eclipse/hawkbit/repository/RepositoryManagementMethodPreAuthorizeAnnotatedTest.java +++ b/hawkbit-repository/hawkbit-repository-api/src/test/java/org/eclipse/hawkbit/repository/RepositoryManagementMethodPreAuthorizeAnnotatedTest.java @@ -20,7 +20,7 @@ import java.util.Set; import java.util.regex.Pattern; import java.util.stream.Collectors; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.security.access.prepost.PreAuthorize; import com.google.common.reflect.ClassPath; diff --git a/hawkbit-repository/hawkbit-repository-api/src/test/java/org/eclipse/hawkbit/repository/model/TotalTargetCountStatusTest.java b/hawkbit-repository/hawkbit-repository-api/src/test/java/org/eclipse/hawkbit/repository/model/TotalTargetCountStatusTest.java index 96d9bf1ee..089243bfb 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/test/java/org/eclipse/hawkbit/repository/model/TotalTargetCountStatusTest.java +++ b/hawkbit-repository/hawkbit-repository-api/src/test/java/org/eclipse/hawkbit/repository/model/TotalTargetCountStatusTest.java @@ -11,7 +11,7 @@ package org.eclipse.hawkbit.repository.model; import io.qameta.allure.Description; import io.qameta.allure.Feature; import io.qameta.allure.Story; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Arrays; import java.util.Collections; diff --git a/hawkbit-repository/hawkbit-repository-core/src/test/java/org/eclipse/hawkbit/event/BusProtoStuffMessageConverterTest.java b/hawkbit-repository/hawkbit-repository-core/src/test/java/org/eclipse/hawkbit/event/BusProtoStuffMessageConverterTest.java index db5643290..4eb5c1b66 100644 --- a/hawkbit-repository/hawkbit-repository-core/src/test/java/org/eclipse/hawkbit/event/BusProtoStuffMessageConverterTest.java +++ b/hawkbit-repository/hawkbit-repository-core/src/test/java/org/eclipse/hawkbit/event/BusProtoStuffMessageConverterTest.java @@ -17,11 +17,11 @@ import org.assertj.core.api.Assertions; import org.eclipse.hawkbit.repository.event.remote.entity.RemoteEntityEvent; import org.eclipse.hawkbit.repository.event.remote.entity.TargetCreatedEvent; import org.eclipse.hawkbit.repository.model.Target; -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.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.cloud.bus.event.RemoteApplicationEvent; import org.springframework.messaging.Message; import org.springframework.messaging.MessageHeaders; @@ -29,7 +29,7 @@ import org.springframework.messaging.converter.MessageConversionException; import io.qameta.allure.Description; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class BusProtoStuffMessageConverterTest { private final BusProtoStuffMessageConverter underTest = new BusProtoStuffMessageConverter(); @@ -40,7 +40,7 @@ public class BusProtoStuffMessageConverterTest { @Mock private Message messageMock; - @Before + @BeforeEach public void before() { when(targetMock.getId()).thenReturn(1L); } diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/AbstractRemoteEventTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/AbstractRemoteEventTest.java index 9295e23ef..5b371a45b 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/AbstractRemoteEventTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/AbstractRemoteEventTest.java @@ -15,7 +15,7 @@ import java.util.Map; import org.eclipse.hawkbit.event.BusProtoStuffMessageConverter; import org.eclipse.hawkbit.repository.event.TenantAwareEvent; import org.eclipse.hawkbit.repository.jpa.AbstractJpaIntegrationTest; -import org.junit.Before; +import org.junit.jupiter.api.BeforeEach; import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.bus.event.RemoteApplicationEvent; @@ -44,7 +44,7 @@ public abstract class AbstractRemoteEventTest extends AbstractJpaIntegrationTest private AbstractMessageConverter jacksonMessageConverter; - @Before + @BeforeEach public void setup() throws Exception { final BusJacksonAutoConfiguration autoConfiguration = new BusJacksonAutoConfiguration(); this.jacksonMessageConverter = autoConfiguration.busJsonConverter(null); diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/RemoteIdEventTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/RemoteIdEventTest.java index c664644f9..849bde1bd 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/RemoteIdEventTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/RemoteIdEventTest.java @@ -9,16 +9,15 @@ package org.eclipse.hawkbit.repository.event.remote; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.fail; +import static org.assertj.core.api.Assertions.fail; import java.lang.reflect.Constructor; import java.util.Arrays; -import org.junit.Test; - import io.qameta.allure.Description; import io.qameta.allure.Feature; import io.qameta.allure.Story; +import org.junit.jupiter.api.Test; /** * Test the remote entity events. diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/RemoteTenantAwareEventTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/RemoteTenantAwareEventTest.java index a089c6dce..19041d7bd 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/RemoteTenantAwareEventTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/RemoteTenantAwareEventTest.java @@ -20,11 +20,11 @@ import org.eclipse.hawkbit.repository.model.Action.ActionType; import org.eclipse.hawkbit.repository.model.Action.Status; import org.eclipse.hawkbit.repository.model.ActionProperties; import org.eclipse.hawkbit.repository.model.DistributionSet; -import org.junit.Test; import io.qameta.allure.Description; import io.qameta.allure.Feature; import io.qameta.allure.Story; +import org.junit.jupiter.api.Test; @Feature("Component Tests - Repository") @Story("RemoteTenantAwareEvent Tests") diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/ActionEventTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/ActionEventTest.java index a32fb50b4..d5063afcd 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/ActionEventTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/ActionEventTest.java @@ -16,11 +16,11 @@ import org.eclipse.hawkbit.repository.model.Action.ActionType; import org.eclipse.hawkbit.repository.model.Action.Status; import org.eclipse.hawkbit.repository.model.DistributionSet; import org.eclipse.hawkbit.repository.model.Target; -import org.junit.Test; import io.qameta.allure.Description; import io.qameta.allure.Feature; import io.qameta.allure.Story; +import org.junit.jupiter.api.Test; /** * Test the remote entity events. diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/DistributionSetCreatedEventTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/DistributionSetCreatedEventTest.java index af69ff897..24ada1ac9 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/DistributionSetCreatedEventTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/DistributionSetCreatedEventTest.java @@ -9,11 +9,11 @@ package org.eclipse.hawkbit.repository.event.remote.entity; import org.eclipse.hawkbit.repository.model.DistributionSet; -import org.junit.Test; import io.qameta.allure.Description; import io.qameta.allure.Feature; import io.qameta.allure.Story; +import org.junit.jupiter.api.Test; /** * Test the remote entity events. diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/DistributionSetTagEventTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/DistributionSetTagEventTest.java index b58be7649..0788287e4 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/DistributionSetTagEventTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/DistributionSetTagEventTest.java @@ -9,7 +9,7 @@ package org.eclipse.hawkbit.repository.event.remote.entity; import org.eclipse.hawkbit.repository.model.DistributionSetTag; -import org.junit.Test; +import org.junit.jupiter.api.Test; import io.qameta.allure.Description; import io.qameta.allure.Feature; diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/DistributionSetUpdatedEventTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/DistributionSetUpdatedEventTest.java index 3b5a5f4b6..41470db23 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/DistributionSetUpdatedEventTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/DistributionSetUpdatedEventTest.java @@ -9,7 +9,7 @@ package org.eclipse.hawkbit.repository.event.remote.entity; import org.eclipse.hawkbit.repository.model.DistributionSet; -import org.junit.Test; +import org.junit.jupiter.api.Test; import io.qameta.allure.Description; import io.qameta.allure.Feature; diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/RolloutEventTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/RolloutEventTest.java index fbffd41c3..0aedf8190 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/RolloutEventTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/RolloutEventTest.java @@ -12,7 +12,7 @@ import org.eclipse.hawkbit.repository.model.DistributionSet; import org.eclipse.hawkbit.repository.model.Rollout; import org.eclipse.hawkbit.repository.model.RolloutGroup.RolloutGroupSuccessCondition; import org.eclipse.hawkbit.repository.model.RolloutGroupConditionBuilder; -import org.junit.Test; +import org.junit.jupiter.api.Test; import io.qameta.allure.Description; import io.qameta.allure.Feature; diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/RolloutGroupEventTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/RolloutGroupEventTest.java index 7a7e64977..a1453a608 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/RolloutGroupEventTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/RolloutGroupEventTest.java @@ -17,7 +17,7 @@ import org.eclipse.hawkbit.repository.model.Rollout; import org.eclipse.hawkbit.repository.model.RolloutGroup; import org.eclipse.hawkbit.repository.model.RolloutGroup.RolloutGroupSuccessCondition; import org.eclipse.hawkbit.repository.model.RolloutGroupConditionBuilder; -import org.junit.Test; +import org.junit.jupiter.api.Test; import io.qameta.allure.Description; import io.qameta.allure.Feature; diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/SoftwareModuleEventTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/SoftwareModuleEventTest.java index 592217a33..3636c1b94 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/SoftwareModuleEventTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/SoftwareModuleEventTest.java @@ -9,7 +9,7 @@ package org.eclipse.hawkbit.repository.event.remote.entity; import org.eclipse.hawkbit.repository.model.SoftwareModule; -import org.junit.Test; +import org.junit.jupiter.api.Test; import io.qameta.allure.Description; import io.qameta.allure.Feature; diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/TargetEventTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/TargetEventTest.java index bc409c6c7..e9b7f247f 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/TargetEventTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/TargetEventTest.java @@ -11,7 +11,7 @@ package org.eclipse.hawkbit.repository.event.remote.entity; import static org.assertj.core.api.Assertions.assertThat; import org.eclipse.hawkbit.repository.model.Target; -import org.junit.Test; +import org.junit.jupiter.api.Test; import io.qameta.allure.Description; import io.qameta.allure.Feature; diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/TargetTagEventTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/TargetTagEventTest.java index 499545650..76127f626 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/TargetTagEventTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/event/remote/entity/TargetTagEventTest.java @@ -9,7 +9,7 @@ package org.eclipse.hawkbit.repository.event.remote.entity; import org.eclipse.hawkbit.repository.model.TargetTag; -import org.junit.Test; +import org.junit.jupiter.api.Test; import io.qameta.allure.Description; import io.qameta.allure.Feature; diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/ActionTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/ActionTest.java index 6104f3166..8cd6ea81c 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/ActionTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/ActionTest.java @@ -12,7 +12,7 @@ import static org.assertj.core.api.Assertions.assertThat; import org.eclipse.hawkbit.repository.jpa.model.JpaAction; import org.eclipse.hawkbit.repository.model.Action.ActionType; -import org.junit.Test; +import org.junit.jupiter.api.Test; import io.qameta.allure.Description; import io.qameta.allure.Feature; diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/ArtifactManagementTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/ArtifactManagementTest.java index 83b6159c5..196bf7dff 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/ArtifactManagementTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/ArtifactManagementTest.java @@ -44,7 +44,7 @@ import org.eclipse.hawkbit.repository.test.matcher.ExpectEvents; import org.eclipse.hawkbit.repository.test.util.HashGeneratorUtils; import org.eclipse.hawkbit.repository.test.util.WithSpringAuthorityRule; import org.eclipse.hawkbit.repository.test.util.WithUser; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.google.common.collect.Lists; @@ -259,7 +259,7 @@ public class ArtifactManagementTest extends AbstractJpaIntegrationTest { /** * Test method for - * {@link org.eclipse.hawkbit.repository.ArtifactManagement#delete(java.lang.Long)} + * {@link org.eclipse.hawkbit.repository.ArtifactManagement#delete(long)} * . * * @throws IOException @@ -507,7 +507,7 @@ public class ArtifactManagementTest extends AbstractJpaIntegrationTest { } private T runAsTenant(final String tenant, final Callable callable) throws Exception { - return securityRule.runAs(WithSpringAuthorityRule.withUserAndTenant("user", tenant), callable); + return WithSpringAuthorityRule.runAs(WithSpringAuthorityRule.withUserAndTenant("user", tenant), callable); } private SoftwareModule createSoftwareModuleForTenant(final String tenant) throws Exception { diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/ControllerManagementTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/ControllerManagementTest.java index fb27d0600..ec34c000c 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/ControllerManagementTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/ControllerManagementTest.java @@ -35,6 +35,7 @@ import javax.validation.ConstraintViolationException; import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.RandomUtils; +import org.assertj.core.api.Assertions; import org.eclipse.hawkbit.repository.RepositoryProperties; import org.eclipse.hawkbit.repository.UpdateMode; import org.eclipse.hawkbit.repository.event.remote.TargetAssignDistributionSetEvent; @@ -69,7 +70,7 @@ import org.eclipse.hawkbit.repository.model.TargetUpdateStatus; import org.eclipse.hawkbit.repository.test.matcher.Expect; import org.eclipse.hawkbit.repository.test.matcher.ExpectEvents; import org.eclipse.hawkbit.repository.test.util.WithSpringAuthorityRule; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.mockito.Mockito; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.ConcurrencyFailureException; @@ -831,7 +832,7 @@ public class ControllerManagementTest extends AbstractJpaIntegrationTest { final String controllerId = "test123"; final Target target = testdataFactory.createTarget(controllerId); - securityRule.runAs(WithSpringAuthorityRule.withController("controller", CONTROLLER_ROLE_ANONYMOUS), () -> { + WithSpringAuthorityRule.runAs(WithSpringAuthorityRule.withController("controller", CONTROLLER_ROLE_ANONYMOUS), () -> { addAttributeAndVerify(controllerId); addSecondAttributeAndVerify(controllerId); updateAttributeAndVerify(controllerId); @@ -986,7 +987,7 @@ public class ControllerManagementTest extends AbstractJpaIntegrationTest { final int allowedAttributes = quotaManagement.getMaxAttributeEntriesPerTarget(); testdataFactory.createTarget(controllerId); - assertThatExceptionOfType(AssignmentQuotaExceededException.class).isThrownBy(() -> securityRule + assertThatExceptionOfType(AssignmentQuotaExceededException.class).isThrownBy(() -> WithSpringAuthorityRule .runAs(WithSpringAuthorityRule.withController("controller", CONTROLLER_ROLE_ANONYMOUS), () -> { writeAttributes(controllerId, allowedAttributes + 1, "key", "value"); return null; @@ -997,7 +998,7 @@ public class ControllerManagementTest extends AbstractJpaIntegrationTest { // Write allowed number of attributes twice with same key should result // in update but work - securityRule.runAs(WithSpringAuthorityRule.withController("controller", CONTROLLER_ROLE_ANONYMOUS), () -> { + WithSpringAuthorityRule.runAs(WithSpringAuthorityRule.withController("controller", CONTROLLER_ROLE_ANONYMOUS), () -> { writeAttributes(controllerId, allowedAttributes, "key", "value1"); writeAttributes(controllerId, allowedAttributes, "key", "value2"); return null; @@ -1005,7 +1006,7 @@ public class ControllerManagementTest extends AbstractJpaIntegrationTest { assertThat(targetManagement.getControllerAttributes(controllerId)).hasSize(10); // Now rite one more - assertThatExceptionOfType(AssignmentQuotaExceededException.class).isThrownBy(() -> securityRule + assertThatExceptionOfType(AssignmentQuotaExceededException.class).isThrownBy(() -> WithSpringAuthorityRule .runAs(WithSpringAuthorityRule.withController("controller", CONTROLLER_ROLE_ANONYMOUS), () -> { writeAttributes(controllerId, 1, "additional", "value1"); return null; @@ -1067,7 +1068,7 @@ public class ControllerManagementTest extends AbstractJpaIntegrationTest { final Long actionId = createTargetAndAssignDs(); // Fails as one entry is already in there from the assignment - assertThatExceptionOfType(AssignmentQuotaExceededException.class).isThrownBy(() -> securityRule + assertThatExceptionOfType(AssignmentQuotaExceededException.class).isThrownBy(() -> WithSpringAuthorityRule .runAs(WithSpringAuthorityRule.withController("controller", CONTROLLER_ROLE_ANONYMOUS), () -> { writeStatus(actionId, allowStatusEntries); return null; @@ -1258,7 +1259,7 @@ public class ControllerManagementTest extends AbstractJpaIntegrationTest { assertThat(actionRepository.activeActionExistsForControllerId(DEFAULT_CONTROLLER_ID)).isEqualTo(false); } - @Test(expected = AssignmentQuotaExceededException.class) + @Test @Description("Verifies that quota is asserted when a controller reports too many DOWNLOADED events for a " + "DOWNLOAD_ONLY action.") @ExpectEvents({ @Expect(type = TargetCreatedEvent.class, count = 1), @@ -1274,8 +1275,9 @@ public class ControllerManagementTest extends AbstractJpaIntegrationTest { final Long actionId = createAndAssignDsAsDownloadOnly("downloadOnlyDs", DEFAULT_CONTROLLER_ID); assertThat(actionId).isNotNull(); - IntStream.range(0, maxMessages).forEach(i -> controllerManagement - .addUpdateActionStatus(entityFactory.actionStatus().create(actionId).status(Status.DOWNLOADED))); + Assertions.assertThatExceptionOfType(AssignmentQuotaExceededException.class).isThrownBy(() -> + IntStream.range(0, maxMessages).forEach(i -> controllerManagement + .addUpdateActionStatus(entityFactory.actionStatus().create(actionId).status(Status.DOWNLOADED)))); } @Test diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/DeploymentManagementTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/DeploymentManagementTest.java index b6b637261..b9ff2048c 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/DeploymentManagementTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/DeploymentManagementTest.java @@ -64,7 +64,7 @@ import org.eclipse.hawkbit.repository.model.TargetUpdateStatus; import org.eclipse.hawkbit.repository.test.matcher.Expect; import org.eclipse.hawkbit.repository.test.matcher.ExpectEvents; import org.eclipse.hawkbit.tenancy.configuration.TenantConfigurationProperties.TenantConfigurationKey; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Slice; diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/DistributionSetManagementTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/DistributionSetManagementTest.java index 1f2720b39..477d6141d 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/DistributionSetManagementTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/DistributionSetManagementTest.java @@ -52,7 +52,7 @@ import org.eclipse.hawkbit.repository.model.Target; import org.eclipse.hawkbit.repository.test.matcher.Expect; import org.eclipse.hawkbit.repository.test.matcher.ExpectEvents; import org.eclipse.hawkbit.repository.test.util.WithUser; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/DistributionSetTagManagementTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/DistributionSetTagManagementTest.java index 488416655..a5cdce241 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/DistributionSetTagManagementTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/DistributionSetTagManagementTest.java @@ -30,7 +30,7 @@ import org.eclipse.hawkbit.repository.model.DistributionSetTagAssignmentResult; import org.eclipse.hawkbit.repository.model.Tag; import org.eclipse.hawkbit.repository.test.matcher.Expect; import org.eclipse.hawkbit.repository.test.matcher.ExpectEvents; -import org.junit.Test; +import org.junit.jupiter.api.Test; import io.qameta.allure.Description; import io.qameta.allure.Feature; diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/DistributionSetTypeManagementTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/DistributionSetTypeManagementTest.java index 77d4ffb2d..50771fc27 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/DistributionSetTypeManagementTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/DistributionSetTypeManagementTest.java @@ -37,7 +37,7 @@ import org.eclipse.hawkbit.repository.model.NamedVersionedEntity; import org.eclipse.hawkbit.repository.model.SoftwareModule; import org.eclipse.hawkbit.repository.test.matcher.Expect; import org.eclipse.hawkbit.repository.test.matcher.ExpectEvents; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.google.common.collect.Sets; diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/HawkBitEclipseLinkJpaDialectTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/HawkBitEclipseLinkJpaDialectTest.java index 23a0a8d01..9544ae802 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/HawkBitEclipseLinkJpaDialectTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/HawkBitEclipseLinkJpaDialectTest.java @@ -17,7 +17,7 @@ import java.sql.SQLException; import javax.persistence.OptimisticLockException; import javax.persistence.PersistenceException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.dao.ConcurrencyFailureException; import org.springframework.dao.UncategorizedDataAccessException; diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/LazyControllerManagementTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/LazyControllerManagementTest.java index 8d383ecce..94798d16d 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/LazyControllerManagementTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/LazyControllerManagementTest.java @@ -18,7 +18,7 @@ import org.eclipse.hawkbit.repository.event.remote.entity.TargetCreatedEvent; import org.eclipse.hawkbit.repository.model.Target; import org.eclipse.hawkbit.repository.test.matcher.Expect; import org.eclipse.hawkbit.repository.test.matcher.ExpectEvents; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.TestPropertySource; diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/RolloutGroupManagementTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/RolloutGroupManagementTest.java index 80c101c87..d5125f499 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/RolloutGroupManagementTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/RolloutGroupManagementTest.java @@ -20,7 +20,7 @@ import org.eclipse.hawkbit.repository.event.remote.entity.SoftwareModuleCreatedE import org.eclipse.hawkbit.repository.event.remote.entity.TargetCreatedEvent; import org.eclipse.hawkbit.repository.test.matcher.Expect; import org.eclipse.hawkbit.repository.test.matcher.ExpectEvents; -import org.junit.Test; +import org.junit.jupiter.api.Test; import io.qameta.allure.Description; import io.qameta.allure.Feature; diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/RolloutManagementTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/RolloutManagementTest.java index aefcbbe3a..8872e2fc8 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/RolloutManagementTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/RolloutManagementTest.java @@ -72,9 +72,9 @@ import org.eclipse.hawkbit.repository.model.TotalTargetCountStatus; import org.eclipse.hawkbit.repository.test.matcher.Expect; import org.eclipse.hawkbit.repository.test.matcher.ExpectEvents; import org.eclipse.hawkbit.tenancy.configuration.TenantConfigurationProperties.TenantConfigurationKey; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.data.domain.Page; import org.springframework.data.domain.Slice; import org.springframework.data.domain.Sort; @@ -92,8 +92,7 @@ import io.qameta.allure.Story; @Story("Rollout Management") public class RolloutManagementTest extends AbstractJpaIntegrationTest { - @Before - @After + @BeforeEach public void reset() { this.approvalStrategy.setApprovalNeeded(false); } diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/SoftwareModuleManagementTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/SoftwareModuleManagementTest.java index 7c0ae2581..eb019d3aa 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/SoftwareModuleManagementTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/SoftwareModuleManagementTest.java @@ -42,7 +42,7 @@ import org.eclipse.hawkbit.repository.model.TargetUpdateStatus; import org.eclipse.hawkbit.repository.test.matcher.Expect; import org.eclipse.hawkbit.repository.test.matcher.ExpectEvents; import org.eclipse.hawkbit.repository.test.util.WithUser; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/SoftwareModuleTypeManagementTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/SoftwareModuleTypeManagementTest.java index ebc2221d4..2683bff1f 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/SoftwareModuleTypeManagementTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/SoftwareModuleTypeManagementTest.java @@ -23,7 +23,7 @@ import org.eclipse.hawkbit.repository.jpa.model.JpaSoftwareModuleType; import org.eclipse.hawkbit.repository.model.SoftwareModuleType; import org.eclipse.hawkbit.repository.test.matcher.Expect; import org.eclipse.hawkbit.repository.test.matcher.ExpectEvents; -import org.junit.Test; +import org.junit.jupiter.api.Test; import io.qameta.allure.Description; import io.qameta.allure.Feature; diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/SystemManagementTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/SystemManagementTest.java index 459afe417..79b4102af 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/SystemManagementTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/SystemManagementTest.java @@ -21,7 +21,7 @@ import org.eclipse.hawkbit.repository.model.SoftwareModule; import org.eclipse.hawkbit.repository.model.Target; import org.eclipse.hawkbit.repository.report.model.TenantUsage; import org.eclipse.hawkbit.repository.test.util.WithSpringAuthorityRule; -import org.junit.Test; +import org.junit.jupiter.api.Test; import io.qameta.allure.Description; import io.qameta.allure.Feature; @@ -102,7 +102,7 @@ public class SystemManagementTest extends AbstractJpaIntegrationTest { for (int i = 0; i < tenants; i++) { final String tenantname = "tenant" + i; - securityRule.runAs(WithSpringAuthorityRule.withUserAndTenant("bumlux", tenantname, true, true, false, + WithSpringAuthorityRule.runAs(WithSpringAuthorityRule.withUserAndTenant("bumlux", tenantname, true, true, false, SpringEvalExpressions.SYSTEM_ROLE), () -> { systemManagement.getTenantMetadata(tenantname); if (artifactSize > 0) { diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/TargetFilterQueryManagementTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/TargetFilterQueryManagementTest.java index 7c976b512..b0878dd49 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/TargetFilterQueryManagementTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/TargetFilterQueryManagementTest.java @@ -41,7 +41,7 @@ import org.eclipse.hawkbit.repository.model.Target; import org.eclipse.hawkbit.repository.model.TargetFilterQuery; import org.eclipse.hawkbit.repository.test.matcher.Expect; import org.eclipse.hawkbit.repository.test.matcher.ExpectEvents; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; @@ -143,12 +143,11 @@ public class TargetFilterQueryManagementTest extends AbstractJpaIntegrationTest assertEquals("Retrieved newly created custom target filter", targetFilterQuery, results.get(0)); } - @Test(expected = RSQLParameterUnsupportedFieldException.class) + @Test @Description("Test searching a target filter query with an invalid filter.") public void searchTargetFilterQueryInvalidField() { - // Should throw an exception - targetFilterQueryManagement.findByRsql(PageRequest.of(0, 10), "unknownField==testValue").getContent(); - + Assertions.assertThatExceptionOfType(RSQLParameterUnsupportedFieldException.class).isThrownBy( + () -> targetFilterQueryManagement.findByRsql(PageRequest.of(0, 10), "unknownField==testValue").getContent()); } @Test diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/TargetManagementSearchTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/TargetManagementSearchTest.java index b64476c61..e3f4cc87c 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/TargetManagementSearchTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/TargetManagementSearchTest.java @@ -30,7 +30,7 @@ import org.eclipse.hawkbit.repository.model.TargetFilterQuery; import org.eclipse.hawkbit.repository.model.TargetTag; import org.eclipse.hawkbit.repository.model.TargetUpdateStatus; import org.eclipse.hawkbit.repository.model.TenantAwareBaseEntity; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.data.domain.Slice; import com.google.common.collect.Lists; diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/TargetManagementTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/TargetManagementTest.java index 992af5e1d..ae5549eea 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/TargetManagementTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/TargetManagementTest.java @@ -10,8 +10,7 @@ package org.eclipse.hawkbit.repository.jpa; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatExceptionOfType; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.fail; +import static org.assertj.core.api.Assertions.fail; import java.net.URI; import java.util.ArrayList; @@ -58,7 +57,7 @@ import org.eclipse.hawkbit.repository.test.matcher.Expect; import org.eclipse.hawkbit.repository.test.matcher.ExpectEvents; import org.eclipse.hawkbit.repository.test.util.WithSpringAuthorityRule; import org.eclipse.hawkbit.repository.test.util.WithUser; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; @@ -169,7 +168,7 @@ public class TargetManagementTest extends AbstractJpaIntegrationTest { .create(entityFactory.target().create().controllerId("targetWithSecurityToken").securityToken("token")); // retrieve security token only with READ_TARGET_SEC_TOKEN permission - final String securityTokenWithReadPermission = securityRule.runAs( + final String securityTokenWithReadPermission = WithSpringAuthorityRule.runAs( WithSpringAuthorityRule.withUser("OnlyTargetReadPermission", false, SpPermission.READ_TARGET_SEC_TOKEN), createdTarget::getSecurityToken); @@ -177,7 +176,7 @@ public class TargetManagementTest extends AbstractJpaIntegrationTest { final String securityTokenAsSystemCode = systemSecurityContext.runAsSystem(createdTarget::getSecurityToken); // retrieve security token without any permissions - final String securityTokenWithoutPermission = securityRule + final String securityTokenWithoutPermission = WithSpringAuthorityRule .runAs(WithSpringAuthorityRule.withUser("NoPermission", false), createdTarget::getSecurityToken); assertThat(createdTarget.getSecurityToken()).isEqualTo("token"); @@ -590,18 +589,18 @@ public class TargetManagementTest extends AbstractJpaIntegrationTest { final String myCtrlID = "myCtrlID"; Target savedTarget = testdataFactory.createTarget(myCtrlID); - assertNotNull("The target should not be null", savedTarget); + assertThat(savedTarget).isNotNull().as("The target should not be null"); final Long createdAt = savedTarget.getCreatedAt(); Long modifiedAt = savedTarget.getLastModifiedAt(); assertThat(createdAt).as("CreatedAt compared with modifiedAt").isEqualTo(modifiedAt); - assertNotNull("The createdAt attribute of the target should no be null", savedTarget.getCreatedAt()); - assertNotNull("The lastModifiedAt attribute of the target should no be null", savedTarget.getLastModifiedAt()); + assertThat(savedTarget.getCreatedAt()).isNotNull().as("The createdAt attribute of the target should no be null"); + assertThat(savedTarget.getLastModifiedAt()).isNotNull().as("The lastModifiedAt attribute of the target should no be null"); Thread.sleep(1); savedTarget = targetManagement.update( entityFactory.target().update(savedTarget.getControllerId()).description("changed description")); - assertNotNull("The lastModifiedAt attribute of the target should not be null", savedTarget.getLastModifiedAt()); + assertThat(savedTarget.getLastModifiedAt()).isNotNull().as("The lastModifiedAt attribute of the target should not be null"); assertThat(createdAt).as("CreatedAt compared with saved modifiedAt") .isNotEqualTo(savedTarget.getLastModifiedAt()); assertThat(modifiedAt).as("ModifiedAt compared with saved modifiedAt") @@ -609,7 +608,7 @@ public class TargetManagementTest extends AbstractJpaIntegrationTest { modifiedAt = savedTarget.getLastModifiedAt(); final Target foundTarget = targetManagement.getByControllerID(savedTarget.getControllerId()).get(); - assertNotNull("The target should not be null", foundTarget); + assertThat(foundTarget).isNotNull().as("The target should not be null"); assertThat(myCtrlID).as("ControllerId compared with saved controllerId") .isEqualTo(foundTarget.getControllerId()); assertThat(savedTarget).as("Target compared with saved target").isEqualTo(foundTarget); @@ -871,7 +870,7 @@ public class TargetManagementTest extends AbstractJpaIntegrationTest { final String knownTargetControllerId = "readTarget"; controllerManagement.findOrRegisterTargetIfItDoesNotExist(knownTargetControllerId, new URI("http://127.0.0.1")); - securityRule.runAs(WithSpringAuthorityRule.withUser("bumlux", "READ_TARGET"), () -> { + WithSpringAuthorityRule.runAs(WithSpringAuthorityRule.withUser("bumlux", "READ_TARGET"), () -> { final Target findTargetByControllerID = targetManagement.getByControllerID(knownTargetControllerId).get(); assertThat(findTargetByControllerID).isNotNull(); assertThat(findTargetByControllerID.getPollStatus()).isNotNull(); diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/TargetTagManagementTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/TargetTagManagementTest.java index f5729e71d..23acc4140 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/TargetTagManagementTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/TargetTagManagementTest.java @@ -34,12 +34,12 @@ import org.eclipse.hawkbit.repository.model.TargetTag; import org.eclipse.hawkbit.repository.model.TargetTagAssignmentResult; import org.eclipse.hawkbit.repository.test.matcher.Expect; import org.eclipse.hawkbit.repository.test.matcher.ExpectEvents; -import org.junit.Test; import io.qameta.allure.Description; import io.qameta.allure.Feature; import io.qameta.allure.Step; import io.qameta.allure.Story; +import org.junit.jupiter.api.Test; /** * Test class for {@link TargetTagManagement}. diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/TenantConfigurationManagementTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/TenantConfigurationManagementTest.java index dd7c21149..24a2f7378 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/TenantConfigurationManagementTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/TenantConfigurationManagementTest.java @@ -21,8 +21,8 @@ import org.eclipse.hawkbit.repository.model.TenantConfigurationValue; import org.eclipse.hawkbit.tenancy.configuration.DurationHelper; import org.eclipse.hawkbit.tenancy.configuration.TenantConfigurationProperties.TenantConfigurationKey; import org.eclipse.hawkbit.tenancy.configuration.validator.TenantConfigurationValidatorException; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; import org.springframework.context.EnvironmentAware; import org.springframework.core.env.Environment; @@ -235,7 +235,7 @@ public class TenantConfigurationManagementTest extends AbstractJpaIntegrationTes try { tenantConfigurationManagement.getConfigurationValue(TenantConfigurationKey.POLLING_TIME_INTERVAL, Serializable.class); - Assert.fail(""); + Assertions.fail(""); } catch (final TenantConfigurationValidatorException e) { } diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/autoassign/AutoAssignCheckerTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/autoassign/AutoAssignCheckerTest.java index 9349fcb11..bd103ff60 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/autoassign/AutoAssignCheckerTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/autoassign/AutoAssignCheckerTest.java @@ -26,7 +26,7 @@ import org.eclipse.hawkbit.repository.model.DistributionSetAssignmentResult; import org.eclipse.hawkbit.repository.model.Target; import org.eclipse.hawkbit.repository.model.TargetFilterQuery; import org.eclipse.hawkbit.tenancy.configuration.TenantConfigurationProperties.TenantConfigurationKey; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Slice; diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/autocleanup/AutoActionCleanupTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/autocleanup/AutoActionCleanupTest.java index 5c16f6fa3..60786f072 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/autocleanup/AutoActionCleanupTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/autocleanup/AutoActionCleanupTest.java @@ -21,7 +21,7 @@ import org.eclipse.hawkbit.repository.model.Action; import org.eclipse.hawkbit.repository.model.Action.Status; import org.eclipse.hawkbit.repository.model.DistributionSet; import org.eclipse.hawkbit.repository.model.Target; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import io.qameta.allure.Description; diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/autocleanup/AutoCleanupSchedulerTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/autocleanup/AutoCleanupSchedulerTest.java index 8553cccc1..35c8ea441 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/autocleanup/AutoCleanupSchedulerTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/autocleanup/AutoCleanupSchedulerTest.java @@ -14,8 +14,8 @@ import java.util.Arrays; import java.util.concurrent.atomic.AtomicInteger; import org.eclipse.hawkbit.repository.jpa.AbstractJpaIntegrationTest; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.integration.support.locks.LockRegistry; @@ -36,7 +36,7 @@ public class AutoCleanupSchedulerTest extends AbstractJpaIntegrationTest { @Autowired private LockRegistry lockRegistry; - @Before + @BeforeEach public void setUp() { counter.set(0); } diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/event/RepositoryEntityEventTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/event/RepositoryEntityEventTest.java index c0dc139fb..ced4021d2 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/event/RepositoryEntityEventTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/event/RepositoryEntityEventTest.java @@ -31,8 +31,8 @@ import org.eclipse.hawkbit.repository.model.DistributionSet; import org.eclipse.hawkbit.repository.model.Rollout; import org.eclipse.hawkbit.repository.model.SoftwareModule; import org.eclipse.hawkbit.repository.model.Target; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.annotation.Bean; @@ -50,7 +50,7 @@ public class RepositoryEntityEventTest extends AbstractJpaIntegrationTest { @Autowired private MyEventListener eventListener; - @Before + @BeforeEach public void beforeTest() { eventListener.queue.clear(); } diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/model/EntityInterceptorListenerTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/model/EntityInterceptorListenerTest.java index 5ed91f17b..040628c83 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/model/EntityInterceptorListenerTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/model/EntityInterceptorListenerTest.java @@ -15,12 +15,12 @@ import org.eclipse.hawkbit.repository.jpa.EntityInterceptor; import org.eclipse.hawkbit.repository.jpa.model.helper.EntityInterceptorHolder; import org.eclipse.hawkbit.repository.model.SoftwareModuleType; import org.eclipse.hawkbit.repository.model.Target; -import org.junit.After; -import org.junit.Test; import io.qameta.allure.Description; import io.qameta.allure.Feature; import io.qameta.allure.Story; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Test; /** * Test the entity listener interceptor. @@ -29,7 +29,7 @@ import io.qameta.allure.Story; @Story("Entity Listener Interceptor") public class EntityInterceptorListenerTest extends AbstractJpaIntegrationTest { - @After + @AfterEach public void tearDown() { EntityInterceptorHolder.getInstance().getEntityInterceptors().clear(); } diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/model/ModelEqualsHashcodeTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/model/ModelEqualsHashcodeTest.java index b6bb32292..e5a367f40 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/model/ModelEqualsHashcodeTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/model/ModelEqualsHashcodeTest.java @@ -12,7 +12,7 @@ import static org.assertj.core.api.Assertions.assertThat; import org.eclipse.hawkbit.repository.jpa.AbstractJpaIntegrationTest; import org.eclipse.hawkbit.repository.model.SoftwareModuleType; -import org.junit.Test; +import org.junit.jupiter.api.Test; import io.qameta.allure.Description; import io.qameta.allure.Feature; diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLActionFieldsTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLActionFieldsTest.java index 527798be4..4a515257e 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLActionFieldsTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLActionFieldsTest.java @@ -20,8 +20,8 @@ import org.eclipse.hawkbit.repository.model.Action; import org.eclipse.hawkbit.repository.model.Action.ActionType; import org.eclipse.hawkbit.repository.model.Action.Status; import org.eclipse.hawkbit.repository.model.DistributionSet; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Slice; import org.springframework.orm.jpa.vendor.Database; @@ -37,7 +37,7 @@ public class RSQLActionFieldsTest extends AbstractJpaIntegrationTest { private JpaTarget target; private JpaAction action; - @Before + @BeforeEach public void setupBeforeTest() { final DistributionSet dsA = testdataFactory.createDistributionSet("daA"); target = (JpaTarget) targetManagement diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLDistributionSetFieldTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLDistributionSetFieldTest.java index 9001e07cb..21df03605 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLDistributionSetFieldTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLDistributionSetFieldTest.java @@ -19,8 +19,8 @@ import org.eclipse.hawkbit.repository.jpa.AbstractJpaIntegrationTest; import org.eclipse.hawkbit.repository.model.DistributionSet; import org.eclipse.hawkbit.repository.model.DistributionSetTag; import org.eclipse.hawkbit.repository.test.util.TestdataFactory; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.orm.jpa.vendor.Database; @@ -35,8 +35,8 @@ public class RSQLDistributionSetFieldTest extends AbstractJpaIntegrationTest { private DistributionSet ds; - @Before - public void seuptBeforeTest() { + @BeforeEach + public void setupBeforeTest() { ds = testdataFactory.createDistributionSet("DS"); ds = distributionSetManagement.update(entityFactory.distributionSet().update(ds.getId()).description("DS")); diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLDistributionSetMetadataFieldsTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLDistributionSetMetadataFieldsTest.java index 45e888004..ffa35e078 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLDistributionSetMetadataFieldsTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLDistributionSetMetadataFieldsTest.java @@ -19,8 +19,8 @@ import org.eclipse.hawkbit.repository.jpa.AbstractJpaIntegrationTest; import org.eclipse.hawkbit.repository.model.DistributionSet; import org.eclipse.hawkbit.repository.model.DistributionSetMetadata; import org.eclipse.hawkbit.repository.model.MetaData; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; @@ -34,7 +34,7 @@ public class RSQLDistributionSetMetadataFieldsTest extends AbstractJpaIntegratio private Long distributionSetId; - @Before + @BeforeEach public void setupBeforeTest() { final DistributionSet distributionSet = testdataFactory.createDistributionSet("DS"); distributionSetId = distributionSet.getId(); diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLRolloutGroupFields.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLRolloutGroupFields.java index 9f5db18ae..670b42bf2 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLRolloutGroupFields.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLRolloutGroupFields.java @@ -17,8 +17,8 @@ import org.eclipse.hawkbit.repository.model.Rollout; import org.eclipse.hawkbit.repository.model.RolloutGroup; import org.eclipse.hawkbit.repository.model.RolloutGroup.RolloutGroupSuccessCondition; import org.eclipse.hawkbit.repository.model.RolloutGroupConditionBuilder; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.orm.jpa.vendor.Database; @@ -34,7 +34,7 @@ public class RSQLRolloutGroupFields extends AbstractJpaIntegrationTest { private Long rolloutGroupId; private Rollout rollout; - @Before + @BeforeEach public void setupBeforeTest() { final int amountTargets = 20; testdataFactory.createTargets(amountTargets, "rollout", "rollout"); diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLSoftwareModuleFieldTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLSoftwareModuleFieldTest.java index 87c9c8597..e137bf68a 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLSoftwareModuleFieldTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLSoftwareModuleFieldTest.java @@ -16,8 +16,8 @@ import org.eclipse.hawkbit.repository.jpa.AbstractJpaIntegrationTest; import org.eclipse.hawkbit.repository.jpa.model.JpaSoftwareModule; import org.eclipse.hawkbit.repository.model.SoftwareModule; import org.eclipse.hawkbit.repository.test.util.TestdataFactory; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.orm.jpa.vendor.Database; @@ -32,7 +32,7 @@ public class RSQLSoftwareModuleFieldTest extends AbstractJpaIntegrationTest { private SoftwareModule ah; - @Before + @BeforeEach public void setupBeforeTest() { ah = softwareModuleManagement.create(entityFactory.softwareModule().create().type(appType).name("agent-hub") .version("1.0.1").description("agent-hub")); diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLSoftwareModuleMetadataFieldsTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLSoftwareModuleMetadataFieldsTest.java index e3cb26af9..98aee2f03 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLSoftwareModuleMetadataFieldsTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLSoftwareModuleMetadataFieldsTest.java @@ -18,8 +18,8 @@ import org.eclipse.hawkbit.repository.jpa.AbstractJpaIntegrationTest; import org.eclipse.hawkbit.repository.model.SoftwareModule; import org.eclipse.hawkbit.repository.model.SoftwareModuleMetadata; import org.eclipse.hawkbit.repository.test.util.TestdataFactory; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; @@ -35,7 +35,7 @@ public class RSQLSoftwareModuleMetadataFieldsTest extends AbstractJpaIntegration private Long softwareModuleId; - @Before + @BeforeEach public void setupBeforeTest() { final SoftwareModule softwareModule = testdataFactory.createSoftwareModule(TestdataFactory.SM_TYPE_APP); diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLSoftwareModuleTypeFieldsTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLSoftwareModuleTypeFieldsTest.java index 365086d89..63d3c197f 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLSoftwareModuleTypeFieldsTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLSoftwareModuleTypeFieldsTest.java @@ -14,7 +14,7 @@ import org.eclipse.hawkbit.repository.Constants; import org.eclipse.hawkbit.repository.SoftwareModuleTypeFields; import org.eclipse.hawkbit.repository.jpa.AbstractJpaIntegrationTest; import org.eclipse.hawkbit.repository.model.SoftwareModuleType; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.orm.jpa.vendor.Database; diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLTagFieldsTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLTagFieldsTest.java index 52338542c..720de1d7b 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLTagFieldsTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLTagFieldsTest.java @@ -15,8 +15,8 @@ import org.eclipse.hawkbit.repository.builder.TagCreate; import org.eclipse.hawkbit.repository.jpa.AbstractJpaIntegrationTest; import org.eclipse.hawkbit.repository.model.DistributionSetTag; import org.eclipse.hawkbit.repository.model.TargetTag; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; @@ -28,7 +28,7 @@ import io.qameta.allure.Story; @Story("RSQL filter target and distribution set tags") public class RSQLTagFieldsTest extends AbstractJpaIntegrationTest { - @Before + @BeforeEach public void seuptBeforeTest() { for (int i = 0; i < 5; i++) { diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLTargetFieldTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLTargetFieldTest.java index 81678fb53..a1697a7fe 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLTargetFieldTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLTargetFieldTest.java @@ -22,8 +22,8 @@ import org.eclipse.hawkbit.repository.model.DistributionSet; import org.eclipse.hawkbit.repository.model.Target; import org.eclipse.hawkbit.repository.model.TargetTag; import org.eclipse.hawkbit.repository.test.util.TestdataFactory; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.data.domain.Page; import io.qameta.allure.Description; @@ -40,7 +40,7 @@ public class RSQLTargetFieldTest extends AbstractJpaIntegrationTest { private static final String OR = ","; private static final String AND = ";"; - @Before + @BeforeEach public void setupBeforeTest() throws InterruptedException { final DistributionSet ds = testdataFactory.createDistributionSet("AssignedDs"); diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLTargetFilterQueryFieldsTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLTargetFilterQueryFieldsTest.java index d1d69b21b..e27b76cee 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLTargetFilterQueryFieldsTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLTargetFilterQueryFieldsTest.java @@ -17,8 +17,8 @@ import org.eclipse.hawkbit.repository.model.Action.ActionType; import org.eclipse.hawkbit.repository.model.DistributionSet; import org.eclipse.hawkbit.repository.model.TargetFilterQuery; import org.eclipse.hawkbit.repository.test.util.TestdataFactory; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.data.domain.Page; import org.springframework.orm.jpa.vendor.Database; @@ -33,7 +33,7 @@ public class RSQLTargetFilterQueryFieldsTest extends AbstractJpaIntegrationTest private TargetFilterQuery filter1; private TargetFilterQuery filter2; - @Before + @BeforeEach public void setupBeforeTest() throws InterruptedException { final String filterName1 = "filter_a"; final String filterName2 = "filter_b"; diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLTargetMetadataFieldsTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLTargetMetadataFieldsTest.java index 5b74f58f7..9c6e181b4 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLTargetMetadataFieldsTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLTargetMetadataFieldsTest.java @@ -19,8 +19,8 @@ import org.eclipse.hawkbit.repository.jpa.AbstractJpaIntegrationTest; import org.eclipse.hawkbit.repository.model.MetaData; import org.eclipse.hawkbit.repository.model.Target; import org.eclipse.hawkbit.repository.model.TargetMetadata; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; @@ -33,7 +33,7 @@ import io.qameta.allure.Story; public class RSQLTargetMetadataFieldsTest extends AbstractJpaIntegrationTest { private String controllerId; - @Before + @BeforeEach public void setupBeforeTest() { final Target target = testdataFactory.createTarget("target"); controllerId = target.getControllerId(); diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLUtilityTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLUtilityTest.java index 13adf70a8..cd27b0b29 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLUtilityTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RSQLUtilityTest.java @@ -41,21 +41,21 @@ import org.eclipse.hawkbit.repository.model.helper.TenantConfigurationManagement import org.eclipse.hawkbit.repository.rsql.VirtualPropertyReplacer; import org.eclipse.hawkbit.repository.rsql.VirtualPropertyResolver; import org.eclipse.hawkbit.tenancy.configuration.TenantConfigurationProperties.TenantConfigurationKey; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.Spy; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.orm.jpa.vendor.Database; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import io.qameta.allure.Description; import io.qameta.allure.Feature; import io.qameta.allure.Story; -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) @Feature("Component Tests - Repository") @Story("RSQL search utility") // TODO: fully document tests -> @Description for long text and reasonable diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RsqlParserValidationOracleTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RsqlParserValidationOracleTest.java index 42310a165..f4d602017 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RsqlParserValidationOracleTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/RsqlParserValidationOracleTest.java @@ -18,7 +18,7 @@ import org.eclipse.hawkbit.repository.TargetFields; import org.eclipse.hawkbit.repository.jpa.AbstractJpaIntegrationTest; import org.eclipse.hawkbit.repository.rsql.RsqlValidationOracle; import org.eclipse.hawkbit.repository.rsql.ValidationOracleContext; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import io.qameta.allure.Description; diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/VirtualPropertyResolverTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/VirtualPropertyResolverTest.java index 334c59280..9c0ca6bdf 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/VirtualPropertyResolverTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/VirtualPropertyResolverTest.java @@ -19,20 +19,20 @@ import org.eclipse.hawkbit.repository.model.TenantConfigurationValue; import org.eclipse.hawkbit.repository.model.helper.TenantConfigurationManagementHolder; import org.eclipse.hawkbit.repository.rsql.VirtualPropertyResolver; import org.eclipse.hawkbit.tenancy.configuration.TenantConfigurationProperties.TenantConfigurationKey; -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.Spy; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import io.qameta.allure.Description; import io.qameta.allure.Feature; import io.qameta.allure.Story; -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) @Feature("Unit Tests - Repository") @Story("Placeholder resolution for virtual properties") public class VirtualPropertyResolverTest { @@ -58,7 +58,7 @@ public class VirtualPropertyResolverTest { } } - @Before + @BeforeEach public void before() { when(confMgmt.getConfigurationValue(TenantConfigurationKey.POLLING_TIME_INTERVAL, String.class)) .thenReturn(TEST_POLLING_TIME_INTERVAL); diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/specifications/SpecificationsBuilderTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/specifications/SpecificationsBuilderTest.java index a153db471..0a9703949 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/specifications/SpecificationsBuilderTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/specifications/SpecificationsBuilderTest.java @@ -26,7 +26,7 @@ import javax.persistence.criteria.Path; import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Root; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.data.jpa.domain.Specification; import io.qameta.allure.Description; diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/tenancy/MultiTenancyEntityTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/tenancy/MultiTenancyEntityTest.java index 5af03300f..08918a12b 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/tenancy/MultiTenancyEntityTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/tenancy/MultiTenancyEntityTest.java @@ -21,7 +21,7 @@ import org.eclipse.hawkbit.repository.model.DistributionSet; import org.eclipse.hawkbit.repository.model.Target; import org.eclipse.hawkbit.repository.test.util.WithSpringAuthorityRule; import org.eclipse.hawkbit.repository.test.util.WithUser; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.data.domain.Page; import org.springframework.data.domain.Slice; @@ -112,7 +112,7 @@ public class MultiTenancyEntityTest extends AbstractJpaIntegrationTest { // check that the cache is not getting in the way, i.e. "bumlux" results // in bumlux and not // mytenant - assertThat(securityRule.runAs(WithSpringAuthorityRule.withUserAndTenant("user", "bumlux"), + assertThat(WithSpringAuthorityRule.runAs(WithSpringAuthorityRule.withUserAndTenant("user", "bumlux"), () -> systemManagement.getTenantMetadata().getTenant().toUpperCase())) .isEqualTo("bumlux".toUpperCase()); } @@ -166,7 +166,7 @@ public class MultiTenancyEntityTest extends AbstractJpaIntegrationTest { } private T runAsTenant(final String tenant, final Callable callable) throws Exception { - return securityRule.runAs(WithSpringAuthorityRule.withUserAndTenant("user", tenant), callable); + return WithSpringAuthorityRule.runAs(WithSpringAuthorityRule.withUserAndTenant("user", tenant), callable); } private Target createTargetForTenant(final String controllerId, final String tenant) throws Exception { diff --git a/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/AbstractIntegrationTest.java b/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/AbstractIntegrationTest.java index 086ae23f8..9937a9c28 100644 --- a/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/AbstractIntegrationTest.java +++ b/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/AbstractIntegrationTest.java @@ -62,14 +62,11 @@ import org.eclipse.hawkbit.repository.test.matcher.EventVerifier; import org.eclipse.hawkbit.security.SystemSecurityContext; import org.eclipse.hawkbit.tenancy.TenantAware; import org.eclipse.hawkbit.tenancy.configuration.TenantConfigurationProperties.TenantConfigurationKey; -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Rule; -import org.junit.rules.TestWatcher; -import org.junit.runner.Description; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.extension.ExtendWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -89,12 +86,11 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.TestExecutionListeners; import org.springframework.test.context.TestExecutionListeners.MergeMode; import org.springframework.test.context.TestPropertySource; -import org.springframework.test.context.junit4.SpringRunner; import com.google.common.io.Files; -@RunWith(SpringRunner.class) @ActiveProfiles({ "test" }) +@ExtendWith({JUnitTestLoggerExtension.class, WithSpringAuthorityRule.class}) @WithUser(principal = "bumlux", allSpPermissions = true, authorities = { CONTROLLER_ROLE, SYSTEM_ROLE }) @SpringBootTest @ContextConfiguration(classes = { TestConfiguration.class, TestSupportBinderAutoConfiguration.class }) @@ -208,28 +204,6 @@ public abstract class AbstractIntegrationTest { @Autowired protected ApplicationEventPublisher eventPublisher; - @Rule - public final WithSpringAuthorityRule securityRule = new WithSpringAuthorityRule(); - - @Rule - public TestWatcher testLifecycleLoggerRule = new TestWatcher() { - - @Override - protected void starting(final Description description) { - LOG.info("Starting Test {}...", description.getMethodName()); - } - - @Override - protected void succeeded(final Description description) { - LOG.info("Test {} succeeded.", description.getMethodName()); - } - - @Override - protected void failed(final Throwable e, final Description description) { - LOG.error("Test {} failed with {}.", description.getMethodName(), e); - } - }; - protected DistributionSetAssignmentResult assignDistributionSet(final long dsID, final String controllerId) { return assignDistributionSet(dsID, controllerId, ActionType.FORCED); } @@ -294,7 +268,7 @@ public abstract class AbstractIntegrationTest { * @param controllerId * is the ID for the controller to which the distribution set is * being assigned - * @param maintenanceSchedule + * @param maintenanceWindowSchedule * is the cron expression to be used for scheduling the * maintenance window. Expression has 6 mandatory fields and 1 * last optional field: "second minute hour dayofmonth month @@ -373,27 +347,27 @@ public abstract class AbstractIntegrationTest { entityFactory.actionStatus().create(savedAction.getId()).status(Action.Status.FINISHED)); } - @Before - public void before() throws Exception { + @BeforeEach + public void beforeAll() throws Exception { final String description = "Updated description."; - osType = securityRule + osType = WithSpringAuthorityRule .runAsPrivileged(() -> testdataFactory.findOrCreateSoftwareModuleType(TestdataFactory.SM_TYPE_OS)); - osType = securityRule.runAsPrivileged(() -> softwareModuleTypeManagement + osType = WithSpringAuthorityRule.runAsPrivileged(() -> softwareModuleTypeManagement .update(entityFactory.softwareModuleType().update(osType.getId()).description(description))); - appType = securityRule.runAsPrivileged( + appType = WithSpringAuthorityRule.runAsPrivileged( () -> testdataFactory.findOrCreateSoftwareModuleType(TestdataFactory.SM_TYPE_APP, Integer.MAX_VALUE)); - appType = securityRule.runAsPrivileged(() -> softwareModuleTypeManagement + appType = WithSpringAuthorityRule.runAsPrivileged(() -> softwareModuleTypeManagement .update(entityFactory.softwareModuleType().update(appType.getId()).description(description))); - runtimeType = securityRule + runtimeType = WithSpringAuthorityRule .runAsPrivileged(() -> testdataFactory.findOrCreateSoftwareModuleType(TestdataFactory.SM_TYPE_RT)); - runtimeType = securityRule.runAsPrivileged(() -> softwareModuleTypeManagement + runtimeType = WithSpringAuthorityRule.runAsPrivileged(() -> softwareModuleTypeManagement .update(entityFactory.softwareModuleType().update(runtimeType.getId()).description(description))); - standardDsType = securityRule.runAsPrivileged(() -> testdataFactory.findOrCreateDefaultTestDsType()); + standardDsType = WithSpringAuthorityRule.runAsPrivileged(() -> testdataFactory.findOrCreateDefaultTestDsType()); // publish the reset counter market event to reset the counters after // setup. The setup is transparent by the test and its @ExpectedEvent @@ -408,7 +382,7 @@ public abstract class AbstractIntegrationTest { private static String artifactDirectory = Files.createTempDir().getAbsolutePath() + "/" + RandomStringUtils.randomAlphanumeric(20); - @After + @AfterEach public void cleanUp() { if (new File(artifactDirectory).exists()) { try { @@ -419,12 +393,12 @@ public abstract class AbstractIntegrationTest { } } - @BeforeClass + @BeforeAll public static void beforeClass() { System.setProperty("org.eclipse.hawkbit.repository.file.path", artifactDirectory); } - @AfterClass + @AfterAll public static void afterClass() { if (new File(artifactDirectory).exists()) { try { diff --git a/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/JUnitTestLoggerExtension.java b/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/JUnitTestLoggerExtension.java new file mode 100644 index 000000000..75dbbe561 --- /dev/null +++ b/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/JUnitTestLoggerExtension.java @@ -0,0 +1,35 @@ +/** + * Copyright (c) 2021 Bosch.IO GmbH and others. + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + */ +package org.eclipse.hawkbit.repository.test.util; + +import org.junit.jupiter.api.extension.BeforeTestExecutionCallback; +import org.junit.jupiter.api.extension.ExtensionContext; +import org.junit.jupiter.api.extension.TestWatcher; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class JUnitTestLoggerExtension implements BeforeTestExecutionCallback, TestWatcher { + + private static final Logger LOG = LoggerFactory.getLogger(JUnitTestLoggerExtension.class); + + @Override + public void testSuccessful(ExtensionContext context) { + LOG.info("Test {} succeeded.", context.getTestMethod()); + } + + @Override + public void testFailed(ExtensionContext context, Throwable cause) { + LOG.error("Test {} failed with {}.", context.getTestMethod()); + } + + @Override + public void beforeTestExecution(ExtensionContext context) throws Exception { + LOG.info("Starting Test {}...", context.getTestMethod()); + } +} diff --git a/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/WithSpringAuthorityRule.java b/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/WithSpringAuthorityRule.java index 1e222c11b..e5517c0eb 100644 --- a/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/WithSpringAuthorityRule.java +++ b/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/WithSpringAuthorityRule.java @@ -19,49 +19,46 @@ import org.eclipse.hawkbit.im.authentication.SpPermission; import org.eclipse.hawkbit.im.authentication.TenantAwareAuthenticationDetails; import org.eclipse.hawkbit.im.authentication.UserPrincipal; import org.eclipse.hawkbit.repository.model.helper.SystemManagementHolder; -import org.junit.rules.TestRule; -import org.junit.runner.Description; -import org.junit.runners.model.Statement; +import org.junit.jupiter.api.extension.AfterEachCallback; +import org.junit.jupiter.api.extension.BeforeEachCallback; +import org.junit.jupiter.api.extension.ExtensionContext; import org.springframework.security.authentication.TestingAuthenticationToken; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContext; import org.springframework.security.core.context.SecurityContextHolder; -public class WithSpringAuthorityRule implements TestRule { +public class WithSpringAuthorityRule implements BeforeEachCallback, AfterEachCallback { + + private SecurityContext oldContext; @Override - public Statement apply(final Statement base, final Description description) { - return new Statement() { - @Override - // throwable comes from jnuit evaluate signature - @SuppressWarnings("squid:S00112") - public void evaluate() throws Throwable { - final SecurityContext oldContext = before(description); - try { - base.evaluate(); - } finally { - after(oldContext); - } - } - }; - } - - private SecurityContext before(final Description description) { - final SecurityContext oldContext = SecurityContextHolder.getContext(); - WithUser annotation = description.getAnnotation(WithUser.class); - if (annotation == null) { - annotation = description.getTestClass().getAnnotation(WithUser.class); - } + public void beforeEach(ExtensionContext context) throws Exception { + oldContext = SecurityContextHolder.getContext(); + WithUser annotation = getWithUserAnnotation(context); if (annotation != null) { if (annotation.autoCreateTenant()) { createTenant(annotation.tenantId()); } setSecurityContext(annotation); } - return oldContext; } - private void setSecurityContext(final WithUser annotation) { + private WithUser getWithUserAnnotation(ExtensionContext context) { + if (context.getRequiredTestMethod().isAnnotationPresent(WithUser.class)) { + return context.getRequiredTestMethod().getAnnotation(WithUser.class); + } + if(context.getRequiredTestClass().isAnnotationPresent(WithUser.class)){ + return context.getRequiredTestClass().getAnnotation(WithUser.class); + } + return null; + } + + @Override + public void afterEach(ExtensionContext context) throws Exception { + SecurityContextHolder.setContext(oldContext); + } + + private static void setSecurityContext(final WithUser annotation) { SecurityContextHolder.setContext(new SecurityContext() { private static final long serialVersionUID = 1L; @@ -121,34 +118,11 @@ public class WithSpringAuthorityRule implements TestRule { }); } - private void after(final SecurityContext oldContext) { - SecurityContextHolder.setContext(oldContext); - } - - /** - * Clears the current security context. - */ - public void clear() { - SecurityContextHolder.clearContext(); - } - - /** - * @param callable - * @return the callable result - * @throws Exception - */ - public T runAsPrivileged(final Callable callable) throws Exception { + public static T runAsPrivileged(final Callable callable) throws Exception { return runAs(privilegedUser(), callable); } - /** - * - * @param withUser - * @param callable - * @return callable result - * @throws Exception - */ - public T runAs(final WithUser withUser, final Callable callable) throws Exception { + public static T runAs(final WithUser withUser, final Callable callable) throws Exception { final SecurityContext oldContext = SecurityContextHolder.getContext(); setSecurityContext(withUser); if (withUser.autoCreateTenant()) { @@ -157,17 +131,17 @@ public class WithSpringAuthorityRule implements TestRule { try { return callable.call(); } finally { - after(oldContext); + SecurityContextHolder.setContext(oldContext); } } - private void createTenant(final String tenantId) { + private static void createTenant(final String tenantId) { final SecurityContext oldContext = SecurityContextHolder.getContext(); setSecurityContext(privilegedUser()); try { SystemManagementHolder.getInstance().getSystemManagement().getTenantMetadata(tenantId); } finally { - after(oldContext); + SecurityContextHolder.setContext(oldContext); } } diff --git a/hawkbit-rest/hawkbit-ddi-api/pom.xml b/hawkbit-rest/hawkbit-ddi-api/pom.xml index 27ed45564..a1af70a31 100644 --- a/hawkbit-rest/hawkbit-ddi-api/pom.xml +++ b/hawkbit-rest/hawkbit-ddi-api/pom.xml @@ -44,6 +44,11 @@ spring-boot-starter-test test + + org.assertj + assertj-core + test + io.qameta.allure allure-junit5 diff --git a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiActionFeedbackTest.java b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiActionFeedbackTest.java index 3db6d1990..05f026f45 100644 --- a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiActionFeedbackTest.java +++ b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiActionFeedbackTest.java @@ -10,11 +10,11 @@ package org.eclipse.hawkbit.ddi.json.model; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import java.io.IOException; import org.assertj.core.util.Lists; -import org.junit.Test; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.exc.MismatchedInputException; @@ -22,6 +22,7 @@ import com.fasterxml.jackson.databind.exc.MismatchedInputException; import io.qameta.allure.Description; import io.qameta.allure.Feature; import io.qameta.allure.Story; +import org.junit.jupiter.api.Test; /** * Test serializability of DDI api model 'DdiActionFeedback' @@ -65,13 +66,13 @@ public class DdiActionFeedbackTest { assertThat(ddiActionFeedback.getTime()).matches("20190809T121314"); } - @Test(expected = MismatchedInputException.class) + @Test @Description("Verify that deserialization fails for known properties with a wrong datatype") public void shouldFailForObjectWithWrongDataTypes() throws IOException { // Setup String serializedDdiActionFeedback = "{\"id\": [1],\"time\":\"20190809T121314\",\"status\":{\"execution\":\"closed\",\"result\":null,\"details\":[]}}"; - // Test - mapper.readValue(serializedDdiActionFeedback, DdiActionFeedback.class); + assertThatExceptionOfType(MismatchedInputException.class).isThrownBy( + () -> mapper.readValue(serializedDdiActionFeedback, DdiActionFeedback.class)); } } \ No newline at end of file diff --git a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiActionHistoryTest.java b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiActionHistoryTest.java index 4822089cc..fe4706946 100644 --- a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiActionHistoryTest.java +++ b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiActionHistoryTest.java @@ -10,12 +10,13 @@ package org.eclipse.hawkbit.ddi.json.model; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import java.io.IOException; import java.util.Arrays; import java.util.List; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.exc.MismatchedInputException; @@ -62,13 +63,13 @@ public class DdiActionHistoryTest { assertThat(ddiActionHistory.toString()).contains("SomeAction", "Some message"); } - @Test(expected = MismatchedInputException.class) + @Test @Description("Verify that deserialization fails for known properties with a wrong datatype") public void shouldFailForObjectWithWrongDataTypes() throws IOException { // Setup String serializedDdiActionFeedback = "{\"status\": [SomeAction], \"messages\": [\"Some message\"]}"; - // Test - mapper.readValue(serializedDdiActionFeedback, DdiActionHistory.class); + assertThatExceptionOfType(MismatchedInputException.class).isThrownBy( + () -> mapper.readValue(serializedDdiActionFeedback, DdiActionHistory.class)); } } \ No newline at end of file diff --git a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiArtifactHashTest.java b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiArtifactHashTest.java index 65a83f263..a3331d536 100644 --- a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiArtifactHashTest.java +++ b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiArtifactHashTest.java @@ -10,10 +10,11 @@ package org.eclipse.hawkbit.ddi.json.model; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import java.io.IOException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.exc.MismatchedInputException; @@ -65,14 +66,15 @@ public class DdiArtifactHashTest { assertThat(ddiArtifact.getSha256()).isEqualTo("789"); } - @Test(expected = MismatchedInputException.class) + @Test @Description("Verify that deserialization fails for known properties with a wrong datatype") public void shouldFailForObjectWithWrongDataTypes() throws IOException { // Setup String serializedDdiArtifact = "{\"sha1\": [123], \"md5\": 456, \"sha256\": \"789\""; // Test - mapper.readValue(serializedDdiArtifact, DdiArtifactHash.class); + assertThatExceptionOfType(MismatchedInputException.class).isThrownBy( + () -> mapper.readValue(serializedDdiArtifact, DdiArtifactHash.class)); } } diff --git a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiArtifactTest.java b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiArtifactTest.java index 6869bb29b..ace7665c9 100644 --- a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiArtifactTest.java +++ b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiArtifactTest.java @@ -10,10 +10,11 @@ package org.eclipse.hawkbit.ddi.json.model; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import java.io.IOException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.exc.MismatchedInputException; @@ -72,13 +73,14 @@ public class DdiArtifactTest { assertThat(ddiArtifact.getHashes().getSha256()).isEqualTo("789"); } - @Test(expected = MismatchedInputException.class) + @Test @Description("Verify that deserialization fails for known properties with a wrong datatype") public void shouldFailForObjectWithWrongDataTypes() throws IOException { // Setup String serializedDdiArtifact = "{\"filename\": [\"test.file\"],\"hashes\":{\"sha1\":\"123\",\"md5\":\"456\",\"sha256\":\"789\"},\"size\":111,\"links\":[]}"; // Test - mapper.readValue(serializedDdiArtifact, DdiArtifact.class); + assertThatExceptionOfType(MismatchedInputException.class).isThrownBy( + () -> mapper.readValue(serializedDdiArtifact, DdiArtifact.class)); } } \ No newline at end of file diff --git a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiCancelActionToStopTest.java b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiCancelActionToStopTest.java index ce0ca0150..8e1d969a5 100644 --- a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiCancelActionToStopTest.java +++ b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiCancelActionToStopTest.java @@ -10,10 +10,11 @@ package org.eclipse.hawkbit.ddi.json.model; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import java.io.IOException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.exc.MismatchedInputException; @@ -59,13 +60,14 @@ public class DdiCancelActionToStopTest { assertThat(ddiCancelActionToStop.getStopId()).contains("12345"); } - @Test(expected = MismatchedInputException.class) + @Test @Description("Verify that deserialization fails for known properties with a wrong datatype") public void shouldFailForObjectWithWrongDataTypes() throws IOException { // Setup String serializedDdiCancelActionToStop = "{\"stopId\": [\"12345\"]}"; // Test - mapper.readValue(serializedDdiCancelActionToStop, DdiCancelActionToStop.class); + assertThatExceptionOfType(MismatchedInputException.class).isThrownBy( + () -> mapper.readValue(serializedDdiCancelActionToStop, DdiCancelActionToStop.class)); } } \ No newline at end of file diff --git a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiCancelTest.java b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiCancelTest.java index 2d381492c..b4c583dfa 100644 --- a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiCancelTest.java +++ b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiCancelTest.java @@ -10,10 +10,11 @@ package org.eclipse.hawkbit.ddi.json.model; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import java.io.IOException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.exc.MismatchedInputException; @@ -61,13 +62,14 @@ public class DdiCancelTest { assertThat(ddiCancel.getCancelAction().getStopId()).matches("1234"); } - @Test(expected = MismatchedInputException.class) + @Test @Description("Verify that deserialization fails for known properties with a wrong datatype") public void shouldFailForObjectWithWrongDataTypes() throws IOException { // Setup String serializedDdiCancel = "{\"id\":[\"1234\"],\"cancelAction\":{\"stopId\":\"1234\"}}"; // Test - mapper.readValue(serializedDdiCancel, DdiCancel.class); + assertThatExceptionOfType(MismatchedInputException.class).isThrownBy( + () -> mapper.readValue(serializedDdiCancel, DdiCancel.class)); } } \ No newline at end of file diff --git a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiChunkTest.java b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiChunkTest.java index 2f4f90775..e2b17707a 100644 --- a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiChunkTest.java +++ b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiChunkTest.java @@ -10,12 +10,13 @@ package org.eclipse.hawkbit.ddi.json.model; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import java.io.IOException; import java.util.Collections; import java.util.List; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.exc.MismatchedInputException; @@ -69,13 +70,14 @@ public class DdiChunkTest { assertThat(ddiChunk.getArtifacts().size()).isEqualTo(0); } - @Test(expected = MismatchedInputException.class) + @Test @Description("Verify that deserialization fails for known properties with a wrong datatype") public void shouldFailForObjectWithWrongDataTypes() throws IOException { // Setup String serializedDdiChunk = "{\"part\":[\"1234\"],\"version\":\"1.0\",\"name\":\"Dummy-Artifact\",\"artifacts\":[]}"; // Test - mapper.readValue(serializedDdiChunk, DdiChunk.class); + assertThatExceptionOfType(MismatchedInputException.class).isThrownBy( + () -> mapper.readValue(serializedDdiChunk, DdiChunk.class)); } } \ No newline at end of file diff --git a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiConfigDataTest.java b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiConfigDataTest.java index 2acb8c412..e9212a51f 100644 --- a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiConfigDataTest.java +++ b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiConfigDataTest.java @@ -10,12 +10,13 @@ package org.eclipse.hawkbit.ddi.json.model; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import java.io.IOException; import java.util.HashMap; import java.util.Map; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.exc.MismatchedInputException; @@ -62,14 +63,15 @@ public class DdiConfigDataTest { assertThat(ddiConfigData.getMode()).isEqualTo(DdiUpdateMode.REPLACE); } - @Test(expected = MismatchedInputException.class) + @Test @Description("Verify that deserialization fails for known properties with a wrong datatype") public void shouldFailForObjectWithWrongDataTypes() throws IOException { // Setup String serializedDdiConfigData = "{\"data\":{\"test\":\"data\"},\"mode\":[\"replace\"],\"unknownProperty\":\"test\"}"; // Test - mapper.readValue(serializedDdiConfigData, DdiConfigData.class); + assertThatExceptionOfType(MismatchedInputException.class).isThrownBy( + () -> mapper.readValue(serializedDdiConfigData, DdiConfigData.class)); } @Test diff --git a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiConfigTest.java b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiConfigTest.java index 026687902..315570382 100644 --- a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiConfigTest.java +++ b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiConfigTest.java @@ -10,10 +10,11 @@ package org.eclipse.hawkbit.ddi.json.model; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import java.io.IOException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.exc.MismatchedInputException; @@ -58,13 +59,14 @@ public class DdiConfigTest { assertThat(ddiConfig.getPolling().getSleep()).isEqualTo("123"); } - @Test(expected = MismatchedInputException.class) + @Test @Description("Verify that deserialization fails for known properties with a wrong datatype") public void shouldFailForObjectWithWrongDataTypes() throws IOException { // Setup String serializedDdiConfig = "{\"polling\":{\"sleep\":[\"10\"]}}"; // Test - mapper.readValue(serializedDdiConfig, DdiConfig.class); + assertThatExceptionOfType(MismatchedInputException.class).isThrownBy( + () -> mapper.readValue(serializedDdiConfig, DdiConfig.class)); } } \ No newline at end of file diff --git a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiControllerBaseTest.java b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiControllerBaseTest.java index d028b008d..4f9902d5f 100644 --- a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiControllerBaseTest.java +++ b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiControllerBaseTest.java @@ -10,10 +10,11 @@ package org.eclipse.hawkbit.ddi.json.model; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import java.io.IOException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.exc.MismatchedInputException; @@ -61,13 +62,14 @@ public class DdiControllerBaseTest { assertThat(ddiControllerBase.getConfig().getPolling().getSleep()).isEqualTo("123"); } - @Test(expected = MismatchedInputException.class) + @Test @Description("Verify that deserialization fails for known properties with a wrong datatype") public void shouldFailForObjectWithWrongDataTypes() throws IOException { // Setup String serializedDdiControllerBase = "{\"config\":{\"polling\":{\"sleep\":[\"123\"]}},\"links\":[],\"unknownProperty\":\"test\"}"; // Test - mapper.readValue(serializedDdiControllerBase, DdiControllerBase.class); + assertThatExceptionOfType(MismatchedInputException.class).isThrownBy( + () -> mapper.readValue(serializedDdiControllerBase, DdiControllerBase.class)); } } \ No newline at end of file diff --git a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiDeploymentBaseTest.java b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiDeploymentBaseTest.java index 21a4dc927..23669b8a9 100644 --- a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiDeploymentBaseTest.java +++ b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiDeploymentBaseTest.java @@ -10,6 +10,7 @@ package org.eclipse.hawkbit.ddi.json.model; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import static org.eclipse.hawkbit.ddi.json.model.DdiDeployment.DdiMaintenanceWindowStatus.AVAILABLE; import static org.eclipse.hawkbit.ddi.json.model.DdiDeployment.HandlingType.ATTEMPT; import static org.eclipse.hawkbit.ddi.json.model.DdiDeployment.HandlingType.FORCED; @@ -18,7 +19,7 @@ import java.io.IOException; import java.util.Arrays; import java.util.Collections; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.exc.MismatchedInputException; @@ -79,7 +80,7 @@ public class DdiDeploymentBaseTest { AVAILABLE.getStatus()); } - @Test(expected = MismatchedInputException.class) + @Test @Description("Verify that deserialization fails for known properties with a wrong datatype") public void shouldFailForObjectWithWrongDataTypes() throws IOException { // Setup @@ -89,6 +90,7 @@ public class DdiDeploymentBaseTest { + "\"Action status message 2\"]},\"links\":[]}"; // Test - mapper.readValue(serializedDdiDeploymentBase, DdiDeploymentBase.class); + assertThatExceptionOfType(MismatchedInputException.class).isThrownBy( + () -> mapper.readValue(serializedDdiDeploymentBase, DdiDeploymentBase.class)); } } \ No newline at end of file diff --git a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiDeploymentTest.java b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiDeploymentTest.java index a9cf0d3e9..a002795f1 100644 --- a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiDeploymentTest.java +++ b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiDeploymentTest.java @@ -10,6 +10,7 @@ package org.eclipse.hawkbit.ddi.json.model; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import static org.eclipse.hawkbit.ddi.json.model.DdiDeployment.DdiMaintenanceWindowStatus.AVAILABLE; import static org.eclipse.hawkbit.ddi.json.model.DdiDeployment.HandlingType.ATTEMPT; import static org.eclipse.hawkbit.ddi.json.model.DdiDeployment.HandlingType.FORCED; @@ -17,7 +18,7 @@ import static org.eclipse.hawkbit.ddi.json.model.DdiDeployment.HandlingType.FORC import java.io.IOException; import java.util.Collections; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.exc.MismatchedInputException; @@ -68,7 +69,7 @@ public class DdiDeploymentTest { assertThat(ddiDeployment.getMaintenanceWindow().getStatus()).isEqualTo(AVAILABLE.getStatus()); } - @Test(expected = MismatchedInputException.class) + @Test @Description("Verify that deserialization fails for known properties with a wrong datatype") public void shouldFailForObjectWithWrongDataTypes() throws IOException { // Setup @@ -76,6 +77,7 @@ public class DdiDeploymentTest { + "\"maintenanceWindow\":\"available\",\"chunks\":[]}"; // Test - mapper.readValue(serializedDdiDeployment, DdiDeployment.class); + assertThatExceptionOfType(MismatchedInputException.class).isThrownBy( + () -> mapper.readValue(serializedDdiDeployment, DdiDeployment.class)); } } \ No newline at end of file diff --git a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiMetadataTest.java b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiMetadataTest.java index a5d590a5e..959df1cc5 100644 --- a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiMetadataTest.java +++ b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiMetadataTest.java @@ -10,10 +10,11 @@ package org.eclipse.hawkbit.ddi.json.model; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import java.io.IOException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.exc.MismatchedInputException; @@ -61,13 +62,14 @@ public class DdiMetadataTest { assertThat(ddiMetadata.getValue()).isEqualTo("testValue"); } - @Test(expected = MismatchedInputException.class) + @Test @Description("Verify that deserialization fails for known properties with a wrong datatype") public void shouldFailForObjectWithWrongDataTypes() throws IOException { // Setup String serializedDdiMetadata = "{\"key\":[\"testKey\"],\"value\":\"testValue\"}"; // Test - mapper.readValue(serializedDdiMetadata, DdiMetadata.class); + assertThatExceptionOfType(MismatchedInputException.class).isThrownBy( + () -> mapper.readValue(serializedDdiMetadata, DdiMetadata.class)); } } \ No newline at end of file diff --git a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiPollingTest.java b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiPollingTest.java index 90ef5755e..ee80580e6 100644 --- a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiPollingTest.java +++ b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiPollingTest.java @@ -10,10 +10,11 @@ package org.eclipse.hawkbit.ddi.json.model; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import java.io.IOException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.exc.MismatchedInputException; @@ -57,13 +58,14 @@ public class DdiPollingTest { assertThat(ddiPolling.getSleep()).isEqualTo("10"); } - @Test(expected = MismatchedInputException.class) + @Test @Description("Verify that deserialization fails for known properties with a wrong datatype") public void shouldFailForObjectWithWrongDataTypes() throws IOException { // Setup String serializedDdiPolling = "{\"sleep\":[\"10\"]}"; // Test - mapper.readValue(serializedDdiPolling, DdiPolling.class); + assertThatExceptionOfType(MismatchedInputException.class).isThrownBy( + () -> mapper.readValue(serializedDdiPolling, DdiPolling.class)); } } \ No newline at end of file diff --git a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiProgressTest.java b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiProgressTest.java index 98462c6ff..15bf02b15 100644 --- a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiProgressTest.java +++ b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiProgressTest.java @@ -10,10 +10,11 @@ package org.eclipse.hawkbit.ddi.json.model; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import java.io.IOException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.exc.MismatchedInputException; @@ -59,13 +60,14 @@ public class DdiProgressTest { assertThat(ddiProgress.getOf()).isEqualTo(100); } - @Test(expected = MismatchedInputException.class) + @Test @Description("Verify that deserialization fails for known properties with a wrong datatype") public void shouldFailForObjectWithWrongDataTypes() throws IOException { // Setup String serializedDdiProgress = "{\"cnt\":[30],\"of\":100}"; // Test - mapper.readValue(serializedDdiProgress, DdiProgress.class); + assertThatExceptionOfType(MismatchedInputException.class).isThrownBy( + () -> mapper.readValue(serializedDdiProgress, DdiProgress.class)); } } \ No newline at end of file diff --git a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiResultTest.java b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiResultTest.java index 577925fb4..99b446466 100644 --- a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiResultTest.java +++ b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiResultTest.java @@ -10,11 +10,12 @@ package org.eclipse.hawkbit.ddi.json.model; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import static org.eclipse.hawkbit.ddi.json.model.DdiResult.FinalResult.NONE; import java.io.IOException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.exc.MismatchedInputException; @@ -64,13 +65,14 @@ public class DdiResultTest { assertThat(ddiResult.getProgress().getOf()).isEqualTo(100); } - @Test(expected = MismatchedInputException.class) + @Test @Description("Verify that deserialization fails for known properties with a wrong datatype") public void shouldFailForObjectWithWrongDataTypes() throws IOException { // Setup String serializedDdiResult = "{\"finished\":[\"none\"],\"progress\":{\"cnt\":30,\"of\":100}}"; // Test - mapper.readValue(serializedDdiResult, DdiResult.class); + assertThatExceptionOfType(MismatchedInputException.class).isThrownBy( + () -> mapper.readValue(serializedDdiResult, DdiResult.class)); } } \ No newline at end of file diff --git a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiStatusTest.java b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiStatusTest.java index 677418903..1f9842f81 100644 --- a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiStatusTest.java +++ b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/DdiStatusTest.java @@ -10,13 +10,14 @@ package org.eclipse.hawkbit.ddi.json.model; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import static org.eclipse.hawkbit.ddi.json.model.DdiResult.FinalResult.NONE; import static org.eclipse.hawkbit.ddi.json.model.DdiStatus.ExecutionStatus.PROCEEDING; import java.io.IOException; import java.util.Collections; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.exc.MismatchedInputException; @@ -72,7 +73,7 @@ public class DdiStatusTest { assertThat(ddiStatus.getResult().getProgress().getOf()).isEqualTo(100); } - @Test(expected = MismatchedInputException.class) + @Test @Description("Verify that deserialization fails for known properties with a wrong datatype") public void shouldFailForObjectWithWrongDataTypes() throws IOException { // Setup @@ -80,6 +81,7 @@ public class DdiStatusTest { + "\"progress\":{\"cnt\":30,\"of\":100}},\"details\":[]}"; // Test - mapper.readValue(serializedDdiStatus, DdiStatus.class); + assertThatExceptionOfType(MismatchedInputException.class).isThrownBy( + () -> mapper.readValue(serializedDdiStatus, DdiStatus.class)); } } \ No newline at end of file diff --git a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/JsonIgnorePropertiesAnnotationTest.java b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/JsonIgnorePropertiesAnnotationTest.java index 682e27757..b14444d84 100644 --- a/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/JsonIgnorePropertiesAnnotationTest.java +++ b/hawkbit-rest/hawkbit-ddi-api/src/test/java/org/eclipse/hawkbit/ddi/json/model/JsonIgnorePropertiesAnnotationTest.java @@ -13,7 +13,7 @@ import static org.assertj.core.api.Assertions.assertThat; import java.io.IOException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.google.common.collect.ImmutableSet; diff --git a/hawkbit-rest/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/AbstractDDiApiIntegrationTest.java b/hawkbit-rest/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/AbstractDDiApiIntegrationTest.java index d54a0ed40..892f8292f 100644 --- a/hawkbit-rest/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/AbstractDDiApiIntegrationTest.java +++ b/hawkbit-rest/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/AbstractDDiApiIntegrationTest.java @@ -11,7 +11,6 @@ package org.eclipse.hawkbit.ddi.rest.resource; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.StringWriter; -import java.io.Writer; import org.eclipse.hawkbit.repository.jpa.RepositoryApplicationConfiguration; import org.eclipse.hawkbit.repository.test.TestConfiguration; diff --git a/hawkbit-rest/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiArtifactDownloadTest.java b/hawkbit-rest/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiArtifactDownloadTest.java index e91c864fe..8ce0cd8ef 100644 --- a/hawkbit-rest/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiArtifactDownloadTest.java +++ b/hawkbit-rest/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiArtifactDownloadTest.java @@ -37,8 +37,8 @@ import org.eclipse.hawkbit.repository.model.DistributionSet; import org.eclipse.hawkbit.repository.model.Target; import org.eclipse.hawkbit.repository.test.util.TestdataFactory; import org.eclipse.hawkbit.repository.test.util.WithUser; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -66,7 +66,7 @@ public class DdiArtifactDownloadTest extends AbstractDDiApiIntegrationTest { private final SimpleDateFormat dateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.ENGLISH); - @Before + @BeforeEach public void setup() { dateFormat.setTimeZone(TimeZone.getTimeZone("GMT")); } diff --git a/hawkbit-rest/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiCancelActionTest.java b/hawkbit-rest/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiCancelActionTest.java index da488e7f6..7278f3d2c 100644 --- a/hawkbit-rest/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiCancelActionTest.java +++ b/hawkbit-rest/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiCancelActionTest.java @@ -31,7 +31,7 @@ import org.eclipse.hawkbit.repository.model.Target; import org.eclipse.hawkbit.repository.test.util.TestdataFactory; import org.eclipse.hawkbit.rest.util.JsonBuilder; import org.eclipse.hawkbit.rest.util.MockMvcResultPrinter; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.hateoas.MediaTypes; import org.springframework.http.MediaType; import org.springframework.integration.json.JsonPathUtils; diff --git a/hawkbit-rest/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiConfigDataTest.java b/hawkbit-rest/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiConfigDataTest.java index 0d9a41b64..3d1191c33 100644 --- a/hawkbit-rest/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiConfigDataTest.java +++ b/hawkbit-rest/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiConfigDataTest.java @@ -29,7 +29,7 @@ import org.eclipse.hawkbit.repository.exception.InvalidTargetAttributeException; import org.eclipse.hawkbit.repository.model.Target; import org.eclipse.hawkbit.rest.util.JsonBuilder; import org.eclipse.hawkbit.rest.util.MockMvcResultPrinter; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.hateoas.MediaTypes; import org.springframework.http.MediaType; import org.springframework.test.context.ActiveProfiles; diff --git a/hawkbit-rest/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiDeploymentBaseTest.java b/hawkbit-rest/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiDeploymentBaseTest.java index 576caf30b..dbd4fb945 100644 --- a/hawkbit-rest/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiDeploymentBaseTest.java +++ b/hawkbit-rest/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiDeploymentBaseTest.java @@ -49,7 +49,7 @@ import org.eclipse.hawkbit.repository.test.matcher.ExpectEvents; import org.eclipse.hawkbit.rest.exception.MessageNotReadableException; import org.eclipse.hawkbit.rest.util.JsonBuilder; import org.eclipse.hawkbit.rest.util.MockMvcResultPrinter; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Sort.Direction; import org.springframework.hateoas.MediaTypes; diff --git a/hawkbit-rest/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiRootControllerTest.java b/hawkbit-rest/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiRootControllerTest.java index c5a0a38d5..0fe4cb278 100644 --- a/hawkbit-rest/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiRootControllerTest.java +++ b/hawkbit-rest/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DdiRootControllerTest.java @@ -58,7 +58,7 @@ import org.eclipse.hawkbit.rest.util.MockMvcResultPrinter; import org.eclipse.hawkbit.security.HawkbitSecurityProperties; import org.eclipse.hawkbit.tenancy.configuration.TenantConfigurationProperties.TenantConfigurationKey; import org.eclipse.hawkbit.util.IpUtil; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.hateoas.MediaTypes; import org.springframework.http.MediaType; @@ -146,7 +146,7 @@ public class DdiRootControllerTest extends AbstractDDiApiIntegrationTest { // make a poll, audit information should not be changed, run as // controller principal! - securityRule.runAs(WithSpringAuthorityRule.withController("controller", CONTROLLER_ROLE_ANONYMOUS), () -> { + WithSpringAuthorityRule.runAs(WithSpringAuthorityRule.withController("controller", CONTROLLER_ROLE_ANONYMOUS), () -> { mvc.perform(get("/{tenant}/controller/v1/" + knownTargetControllerId, tenantAware.getCurrentTenant())) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()); return null; @@ -201,13 +201,13 @@ public class DdiRootControllerTest extends AbstractDDiApiIntegrationTest { @ExpectEvents({ @Expect(type = TargetCreatedEvent.class, count = 1), @Expect(type = TargetPollEvent.class, count = 1) }) public void pollWithModifiedGloablPollingTime() throws Exception { - securityRule.runAs(WithSpringAuthorityRule.withUser("tenantadmin", HAS_AUTH_TENANT_CONFIGURATION), () -> { + WithSpringAuthorityRule.runAs(WithSpringAuthorityRule.withUser("tenantadmin", HAS_AUTH_TENANT_CONFIGURATION), () -> { tenantConfigurationManagement.addOrUpdateConfiguration(TenantConfigurationKey.POLLING_TIME_INTERVAL, "00:02:00"); return null; }); - securityRule.runAs(WithSpringAuthorityRule.withUser("controller", CONTROLLER_ROLE_ANONYMOUS), () -> { + WithSpringAuthorityRule.runAs(WithSpringAuthorityRule.withUser("controller", CONTROLLER_ROLE_ANONYMOUS), () -> { mvc.perform(get("/{tenant}/controller/v1/4711", tenantAware.getCurrentTenant())) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaTypes.HAL_JSON)) @@ -322,7 +322,7 @@ public class DdiRootControllerTest extends AbstractDDiApiIntegrationTest { final long create = System.currentTimeMillis(); // make a poll, audit information should be set on plug and play - securityRule.runAs(WithSpringAuthorityRule.withController("controller", CONTROLLER_ROLE_ANONYMOUS), () -> { + WithSpringAuthorityRule.runAs(WithSpringAuthorityRule.withController("controller", CONTROLLER_ROLE_ANONYMOUS), () -> { mvc.perform( get("/{tenant}/controller/v1/{controllerId}", tenantAware.getCurrentTenant(), knownControllerId1)) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()); @@ -568,7 +568,7 @@ public class DdiRootControllerTest extends AbstractDDiApiIntegrationTest { public void sleepTimeResponseForDifferentMaintenanceWindowParameters() throws Exception { final DistributionSet ds = testdataFactory.createDistributionSet(""); - securityRule.runAs(WithSpringAuthorityRule.withUser("tenantadmin", HAS_AUTH_TENANT_CONFIGURATION), () -> { + WithSpringAuthorityRule.runAs(WithSpringAuthorityRule.withUser("tenantadmin", HAS_AUTH_TENANT_CONFIGURATION), () -> { tenantConfigurationManagement.addOrUpdateConfiguration(TenantConfigurationKey.POLLING_TIME_INTERVAL, "00:05:00"); tenantConfigurationManagement.addOrUpdateConfiguration(TenantConfigurationKey.MIN_POLLING_TIME_INTERVAL, diff --git a/hawkbit-rest/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DosFilterTest.java b/hawkbit-rest/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DosFilterTest.java index 0a3895912..8da9d1e7a 100644 --- a/hawkbit-rest/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DosFilterTest.java +++ b/hawkbit-rest/hawkbit-ddi-resource/src/test/java/org/eclipse/hawkbit/ddi/rest/resource/DosFilterTest.java @@ -21,7 +21,7 @@ import org.eclipse.hawkbit.repository.model.DistributionSet; import org.eclipse.hawkbit.repository.model.Target; import org.eclipse.hawkbit.rest.util.JsonBuilder; import org.eclipse.hawkbit.security.DosFilter; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.test.context.ActiveProfiles; diff --git a/hawkbit-rest/hawkbit-mgmt-api/src/test/java/org/eclipse/hawkbit/mgmt/json/model/PagedListTest.java b/hawkbit-rest/hawkbit-mgmt-api/src/test/java/org/eclipse/hawkbit/mgmt/json/model/PagedListTest.java index ce099d57c..6de396276 100644 --- a/hawkbit-rest/hawkbit-mgmt-api/src/test/java/org/eclipse/hawkbit/mgmt/json/model/PagedListTest.java +++ b/hawkbit-rest/hawkbit-mgmt-api/src/test/java/org/eclipse/hawkbit/mgmt/json/model/PagedListTest.java @@ -9,16 +9,15 @@ package org.eclipse.hawkbit.mgmt.json.model; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.fail; import java.util.ArrayList; import java.util.List; -import org.junit.Test; - import io.qameta.allure.Description; import io.qameta.allure.Feature; import io.qameta.allure.Story; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; @Feature("Unit Tests - Management API") @Story("Paged List Handling") @@ -29,7 +28,7 @@ public class PagedListTest { public void createListWithNullContentThrowsException() { try { new PagedList<>(null, 0); - fail("as content is null"); + Assertions.fail("as content is null"); } catch (final NullPointerException e) { } } @@ -60,6 +59,5 @@ public class PagedListTest { knownContentList.add("content2"); assertListSize(knownTotal, knownContentList); - } } diff --git a/hawkbit-rest/hawkbit-mgmt-api/src/test/java/org/eclipse/hawkbit/mgmt/json/model/distributionset/MgmtTargetAssignmentResponseBodyTest.java b/hawkbit-rest/hawkbit-mgmt-api/src/test/java/org/eclipse/hawkbit/mgmt/json/model/distributionset/MgmtTargetAssignmentResponseBodyTest.java index d6a5c2a31..914b9c384 100644 --- a/hawkbit-rest/hawkbit-mgmt-api/src/test/java/org/eclipse/hawkbit/mgmt/json/model/distributionset/MgmtTargetAssignmentResponseBodyTest.java +++ b/hawkbit-rest/hawkbit-mgmt-api/src/test/java/org/eclipse/hawkbit/mgmt/json/model/distributionset/MgmtTargetAssignmentResponseBodyTest.java @@ -16,10 +16,10 @@ import java.util.List; import java.util.stream.Collectors; import io.qameta.allure.Story; -import org.junit.Test; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; +import org.junit.jupiter.api.Test; import org.springframework.context.annotation.Description; @Story("Retrieve all open action ids") diff --git a/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtContentTypeTest.java b/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtContentTypeTest.java index 966cf11ce..b42c6c8a8 100644 --- a/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtContentTypeTest.java +++ b/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtContentTypeTest.java @@ -15,8 +15,8 @@ import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants; import org.eclipse.hawkbit.repository.model.DistributionSet; import org.eclipse.hawkbit.rest.util.JsonBuilder; import org.eclipse.hawkbit.rest.util.MockMvcResultPrinter; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.web.servlet.HttpEncodingAutoConfiguration; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.web.servlet.server.Encoding; @@ -49,7 +49,7 @@ public class MgmtContentTypeTest extends AbstractManagementApiIntegrationTest { private DistributionSet ds; private final String dsName = "DS-รถ"; - @Before + @BeforeEach public void setupBeforeTest() { ds = testdataFactory.generateDistributionSet(dsName); } diff --git a/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetResourceTest.java b/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetResourceTest.java index edf2a40c5..5028a5205 100644 --- a/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetResourceTest.java +++ b/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetResourceTest.java @@ -49,7 +49,7 @@ import org.eclipse.hawkbit.rest.util.MockMvcResultPrinter; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.data.domain.PageRequest; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MvcResult; diff --git a/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetTagResourceTest.java b/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetTagResourceTest.java index 8a1b35413..7aa28db41 100644 --- a/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetTagResourceTest.java +++ b/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetTagResourceTest.java @@ -38,7 +38,7 @@ import org.eclipse.hawkbit.repository.test.matcher.ExpectEvents; import org.eclipse.hawkbit.rest.util.JsonBuilder; import org.eclipse.hawkbit.rest.util.MockMvcResultPrinter; import org.json.JSONException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.ResultActions; diff --git a/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetTypeResourceTest.java b/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetTypeResourceTest.java index ebba9ef40..25450b069 100644 --- a/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetTypeResourceTest.java +++ b/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetTypeResourceTest.java @@ -39,7 +39,7 @@ import org.eclipse.hawkbit.repository.test.util.WithUser; import org.eclipse.hawkbit.rest.util.JsonBuilder; import org.eclipse.hawkbit.rest.util.MockMvcResultPrinter; import org.json.JSONObject; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MvcResult; diff --git a/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDownloadResourceTest.java b/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDownloadResourceTest.java index dfbde11ff..5e61b24f9 100644 --- a/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDownloadResourceTest.java +++ b/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDownloadResourceTest.java @@ -19,8 +19,8 @@ import org.eclipse.hawkbit.repository.model.Artifact; import org.eclipse.hawkbit.repository.model.DistributionSet; import org.eclipse.hawkbit.repository.model.SoftwareModule; import org.eclipse.hawkbit.rest.util.MockMvcResultPrinter; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import io.qameta.allure.Description; @@ -38,7 +38,7 @@ public class MgmtDownloadResourceTest extends AbstractManagementApiIntegrationTe private static final String DOWNLOAD_ID_NOT_AVAILABLE = "downloadIdNotAvailable"; - @Before + @BeforeEach public void setupCache() { final DistributionSet distributionSet = testdataFactory.createDistributionSet("Test"); diff --git a/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtRolloutResourceTest.java b/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtRolloutResourceTest.java index 0b7b340c3..9fe6a9ce4 100644 --- a/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtRolloutResourceTest.java +++ b/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtRolloutResourceTest.java @@ -44,7 +44,7 @@ import org.eclipse.hawkbit.repository.test.util.WithUser; import org.eclipse.hawkbit.rest.util.JsonBuilder; import org.eclipse.hawkbit.rest.util.MockMvcResultPrinter; import org.eclipse.hawkbit.rest.util.SuccessCondition; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Sort.Direction; diff --git a/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleResourceTest.java b/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleResourceTest.java index 9929b9606..fc6a3951a 100644 --- a/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleResourceTest.java +++ b/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleResourceTest.java @@ -52,8 +52,8 @@ import org.eclipse.hawkbit.rest.util.JsonBuilder; import org.eclipse.hawkbit.rest.util.MockMvcResultPrinter; import org.json.JSONArray; import org.json.JSONObject; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.data.domain.PageRequest; import org.springframework.hateoas.MediaTypes; import org.springframework.http.MediaType; @@ -78,7 +78,7 @@ import io.qameta.allure.Story; "hawkbit.server.security.dos.maxArtifactStorage=500000" }) public class MgmtSoftwareModuleResourceTest extends AbstractManagementApiIntegrationTest { - @Before + @BeforeEach public void assertPreparationOfRepo() { assertThat(softwareModuleManagement.findAll(PAGE)).as("no softwaremodule should be founded").hasSize(0); } diff --git a/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleTypeResourceTest.java b/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleTypeResourceTest.java index 69ae315df..3a75d412b 100644 --- a/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleTypeResourceTest.java +++ b/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleTypeResourceTest.java @@ -33,7 +33,7 @@ import org.eclipse.hawkbit.repository.test.util.WithUser; import org.eclipse.hawkbit.rest.util.JsonBuilder; import org.eclipse.hawkbit.rest.util.MockMvcResultPrinter; import org.json.JSONObject; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MvcResult; diff --git a/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetFilterQueryResourceTest.java b/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetFilterQueryResourceTest.java index fe5175f9c..83a559a80 100644 --- a/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetFilterQueryResourceTest.java +++ b/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetFilterQueryResourceTest.java @@ -35,7 +35,7 @@ import org.eclipse.hawkbit.repository.model.TargetFilterQuery; import org.eclipse.hawkbit.rest.exception.MessageNotReadableException; import org.eclipse.hawkbit.rest.json.model.ExceptionInfo; import org.json.JSONObject; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MvcResult; diff --git a/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetResourceTest.java b/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetResourceTest.java index 8682046d5..bb4ec6cc0 100644 --- a/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetResourceTest.java +++ b/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetResourceTest.java @@ -63,7 +63,7 @@ import org.eclipse.hawkbit.rest.util.MockMvcResultPrinter; import org.eclipse.hawkbit.util.IpUtil; import org.json.JSONArray; import org.json.JSONObject; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.orm.jpa.JpaProperties; import org.springframework.data.domain.PageRequest; diff --git a/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetTagResourceTest.java b/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetTagResourceTest.java index 2c8dc1c9b..7f85ce16c 100644 --- a/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetTagResourceTest.java +++ b/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetTagResourceTest.java @@ -36,7 +36,7 @@ import org.eclipse.hawkbit.repository.test.matcher.Expect; import org.eclipse.hawkbit.repository.test.matcher.ExpectEvents; import org.eclipse.hawkbit.rest.util.JsonBuilder; import org.eclipse.hawkbit.rest.util.MockMvcResultPrinter; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.ResultActions; diff --git a/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTenantManagementResourceTest.java b/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTenantManagementResourceTest.java index ac16e74e7..a9e4bd5c9 100644 --- a/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTenantManagementResourceTest.java +++ b/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTenantManagementResourceTest.java @@ -14,7 +14,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants; import org.eclipse.hawkbit.rest.util.MockMvcResultPrinter; import org.json.JSONObject; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.http.MediaType; import io.qameta.allure.Description; diff --git a/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/ResourceUtility.java b/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/ResourceUtility.java index e94d1b857..33afa11bb 100644 --- a/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/ResourceUtility.java +++ b/hawkbit-rest/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/ResourceUtility.java @@ -20,10 +20,6 @@ import com.fasterxml.jackson.databind.ObjectMapper; /** * Utility additions for the REST API tests. - * - * - * - * */ public final class ResourceUtility { private static final ObjectMapper mapper = new ObjectMapper(); @@ -43,5 +39,4 @@ public final class ResourceUtility { throws JsonParseException, JsonMappingException, IOException { return mapper.readValue(responseBody, PagedList.class); } - } diff --git a/hawkbit-rest/hawkbit-rest-core/src/test/java/org/eclipse/hawkbit/rest/AbstractRestIntegrationTest.java b/hawkbit-rest/hawkbit-rest-core/src/test/java/org/eclipse/hawkbit/rest/AbstractRestIntegrationTest.java index d95273c5d..ce48f2df3 100644 --- a/hawkbit-rest/hawkbit-rest-core/src/test/java/org/eclipse/hawkbit/rest/AbstractRestIntegrationTest.java +++ b/hawkbit-rest/hawkbit-rest-core/src/test/java/org/eclipse/hawkbit/rest/AbstractRestIntegrationTest.java @@ -13,7 +13,7 @@ import org.eclipse.hawkbit.repository.test.TestConfiguration; import org.eclipse.hawkbit.repository.test.util.AbstractIntegrationTest; import org.eclipse.hawkbit.rest.filter.ExcludePathAwareShallowETagFilter; import org.eclipse.hawkbit.rest.util.FilterHttpResponse; -import org.junit.Before; +import org.junit.jupiter.api.BeforeEach; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.cloud.stream.test.binder.TestSupportBinderAutoConfiguration; @@ -45,10 +45,8 @@ public abstract class AbstractRestIntegrationTest extends AbstractIntegrationTes @Autowired protected WebApplicationContext webApplicationContext; - @Override - @Before + @BeforeEach public void before() throws Exception { - super.before(); mvc = createMvcWebAppContext(webApplicationContext).build(); } diff --git a/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/ddi/documentation/RootControllerDocumentationTest.java b/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/ddi/documentation/RootControllerDocumentationTest.java index 52805e95e..26a4551f2 100644 --- a/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/ddi/documentation/RootControllerDocumentationTest.java +++ b/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/ddi/documentation/RootControllerDocumentationTest.java @@ -37,8 +37,8 @@ import org.eclipse.hawkbit.rest.documentation.AbstractApiRestDocumentation; import org.eclipse.hawkbit.rest.documentation.ApiModelPropertiesGeneric; import org.eclipse.hawkbit.rest.util.JsonBuilder; import org.eclipse.hawkbit.rest.util.MockMvcResultPrinter; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.hateoas.MediaTypes; import org.springframework.http.MediaType; @@ -55,12 +55,10 @@ import io.qameta.allure.Story; public class RootControllerDocumentationTest extends AbstractApiRestDocumentation { private static final String CONTROLLER_ID = "CONTROLLER_ID"; - @Override - @Before + @BeforeEach public void setUp() { host = "ddi-api.host"; resourceName = "rootcontroller"; - super.setUp(); } @Test diff --git a/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/documentation/AbstractApiRestDocumentation.java b/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/documentation/AbstractApiRestDocumentation.java index 1303cb2b1..f6549646a 100644 --- a/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/documentation/AbstractApiRestDocumentation.java +++ b/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/documentation/AbstractApiRestDocumentation.java @@ -40,11 +40,12 @@ import org.eclipse.hawkbit.rest.AbstractRestIntegrationTest; import org.eclipse.hawkbit.rest.RestConfiguration; import org.eclipse.hawkbit.rest.util.FilterHttpResponse; import org.eclipse.hawkbit.tenancy.configuration.TenantConfigurationProperties.TenantConfigurationKey; -import org.junit.Before; -import org.junit.Rule; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.stream.test.binder.TestSupportBinderAutoConfiguration; -import org.springframework.restdocs.JUnitRestDocumentation; +import org.springframework.restdocs.RestDocumentationContextProvider; +import org.springframework.restdocs.RestDocumentationExtension; import org.springframework.restdocs.mockmvc.MockMvcRestDocumentation; import org.springframework.restdocs.mockmvc.RestDocumentationResultHandler; import org.springframework.restdocs.payload.FieldDescriptor; @@ -65,14 +66,12 @@ import io.qameta.allure.Feature; * */ @Feature("Documentation Verfication - API") +@ExtendWith(RestDocumentationExtension.class) @ContextConfiguration(classes = { DdiApiConfiguration.class, MgmtApiConfiguration.class, RestConfiguration.class, RepositoryApplicationConfiguration.class, TestConfiguration.class, TestSupportBinderAutoConfiguration.class }) @TestPropertySource(locations = { "classpath:/updateserver-restdocumentation-test.properties" }) public abstract class AbstractApiRestDocumentation extends AbstractRestIntegrationTest { - @Rule - public final JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation("target/generated-snippets"); - @Autowired protected ObjectMapper objectMapper; @@ -89,12 +88,12 @@ public abstract class AbstractApiRestDocumentation extends AbstractRestIntegrati protected String host = "management-api.host"; - @Before - protected void setUp() { + @BeforeEach + protected void setupMvc(RestDocumentationContextProvider restDocContext) { this.document = document(resourceName + "/{method-name}", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint())); this.mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext) - .apply(MockMvcRestDocumentation.documentationConfiguration(this.restDocumentation).uris() + .apply(MockMvcRestDocumentation.documentationConfiguration(restDocContext).uris() .withScheme("https").withHost(host + ".com").withPort(443)) .alwaysDo(this.document).addFilter(filterHttpResponse).build(); arrayPrefix = "[]"; diff --git a/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/DistributionSetTagResourceDocumentationTest.java b/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/DistributionSetTagResourceDocumentationTest.java index 27b48dcb0..da9520fc3 100644 --- a/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/DistributionSetTagResourceDocumentationTest.java +++ b/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/DistributionSetTagResourceDocumentationTest.java @@ -32,8 +32,8 @@ import org.eclipse.hawkbit.rest.documentation.ApiModelPropertiesGeneric; import org.eclipse.hawkbit.rest.documentation.DocumenationResponseFieldsSnippet; import org.eclipse.hawkbit.rest.documentation.MgmtApiModelProperties; import org.eclipse.hawkbit.rest.util.MockMvcResultPrinter; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.http.MediaType; import org.springframework.restdocs.payload.FieldDescriptor; import org.springframework.restdocs.payload.JsonFieldType; @@ -56,11 +56,9 @@ public class DistributionSetTagResourceDocumentationTest extends AbstractApiRest private DistributionSet distributionSet; - @Override - @Before + @BeforeEach public void setUp() { resourceName = "distributionsettag"; - super.setUp(); distributionSet = createDistributionSet(); } diff --git a/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/DistributionSetTypesDocumentationTest.java b/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/DistributionSetTypesDocumentationTest.java index 6d16c4149..c069cb554 100644 --- a/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/DistributionSetTypesDocumentationTest.java +++ b/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/DistributionSetTypesDocumentationTest.java @@ -37,8 +37,8 @@ import org.eclipse.hawkbit.rest.documentation.MgmtApiModelProperties; import org.eclipse.hawkbit.rest.util.JsonBuilder; import org.eclipse.hawkbit.rest.util.MockMvcResultPrinter; import org.json.JSONObject; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.http.MediaType; import org.springframework.restdocs.payload.JsonFieldType; @@ -54,11 +54,9 @@ import io.qameta.allure.Story; @Story("DistributionSetTypes Resource") public class DistributionSetTypesDocumentationTest extends AbstractApiRestDocumentation { - @Override - @Before + @BeforeEach public void setUp() { this.resourceName = "distributionsettypes"; - super.setUp(); } @Test diff --git a/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/DistributionSetsDocumentationTest.java b/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/DistributionSetsDocumentationTest.java index bb8b6ed0c..dd7221272 100644 --- a/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/DistributionSetsDocumentationTest.java +++ b/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/DistributionSetsDocumentationTest.java @@ -39,8 +39,8 @@ import org.eclipse.hawkbit.rest.util.JsonBuilder; import org.eclipse.hawkbit.rest.util.MockMvcResultPrinter; import org.json.JSONArray; import org.json.JSONObject; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.hateoas.MediaTypes; import org.springframework.http.MediaType; import org.springframework.restdocs.payload.JsonFieldType; @@ -53,17 +53,14 @@ import io.qameta.allure.Story; /** * Documentation generation for Management API for {@link DistributionSet}. - * */ @Feature("Spring Rest Docs Tests - DistributionSet") @Story("DistributionSet Resource") public class DistributionSetsDocumentationTest extends AbstractApiRestDocumentation { - @Override - @Before + @BeforeEach public void setUp() { resourceName = "distributionsets"; - super.setUp(); } @Test diff --git a/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/RolloutResourceDocumentationTest.java b/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/RolloutResourceDocumentationTest.java index fb393cd51..3217db1a3 100644 --- a/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/RolloutResourceDocumentationTest.java +++ b/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/RolloutResourceDocumentationTest.java @@ -41,8 +41,8 @@ import org.eclipse.hawkbit.rest.documentation.DocumenationResponseFieldsSnippet; import org.eclipse.hawkbit.rest.documentation.MgmtApiModelProperties; import org.eclipse.hawkbit.rest.util.JsonBuilder; import org.eclipse.hawkbit.rest.util.MockMvcResultPrinter; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.PageRequest; import org.springframework.hateoas.MediaTypes; @@ -68,11 +68,9 @@ public class RolloutResourceDocumentationTest extends AbstractApiRestDocumentati @Autowired private RolloutTestApprovalStrategy approvalStrategy; - @Override - @Before + @BeforeEach public void setUp() { this.resourceName = "rollouts"; - super.setUp(); arrayPrefix = "content[]."; approvalStrategy.setApprovalNeeded(false); } diff --git a/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/SoftwaremoduleTypesDocumentationTest.java b/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/SoftwaremoduleTypesDocumentationTest.java index b41b9c6e1..18e5de01a 100644 --- a/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/SoftwaremoduleTypesDocumentationTest.java +++ b/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/SoftwaremoduleTypesDocumentationTest.java @@ -31,8 +31,8 @@ import org.eclipse.hawkbit.rest.documentation.MgmtApiModelProperties; import org.eclipse.hawkbit.rest.util.JsonBuilder; import org.eclipse.hawkbit.rest.util.MockMvcResultPrinter; import org.json.JSONObject; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.http.MediaType; import org.springframework.restdocs.payload.JsonFieldType; @@ -41,19 +41,15 @@ import io.qameta.allure.Feature; import io.qameta.allure.Story; /** - * * Documentation generation for Management API for {@link SoftwareModuleType}. - * */ @Feature("Spring Rest Docs Tests - SoftwareModuleType") @Story("Softwaremoduletypes Resource") public class SoftwaremoduleTypesDocumentationTest extends AbstractApiRestDocumentation { - @Override - @Before + @BeforeEach public void setUp() { this.resourceName = "softwaremoduletypes"; - super.setUp(); } @Test diff --git a/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/SoftwaremodulesDocumentationTest.java b/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/SoftwaremodulesDocumentationTest.java index 099ac87f1..255c68941 100644 --- a/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/SoftwaremodulesDocumentationTest.java +++ b/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/SoftwaremodulesDocumentationTest.java @@ -40,8 +40,8 @@ import org.eclipse.hawkbit.rest.util.JsonBuilder; import org.eclipse.hawkbit.rest.util.MockMvcResultPrinter; import org.json.JSONArray; import org.json.JSONObject; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.hateoas.MediaTypes; import org.springframework.http.MediaType; import org.springframework.mock.web.MockMultipartFile; @@ -58,11 +58,9 @@ import io.qameta.allure.Story; @Story("Softwaremodule Resource") public class SoftwaremodulesDocumentationTest extends AbstractApiRestDocumentation { - @Override - @Before + @BeforeEach public void setUp() { resourceName = "softwaremodules"; - super.setUp(); } @Test diff --git a/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/TargetFilterQueriesResourceDocumentationTest.java b/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/TargetFilterQueriesResourceDocumentationTest.java index e1f130abb..74431a422 100644 --- a/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/TargetFilterQueriesResourceDocumentationTest.java +++ b/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/TargetFilterQueriesResourceDocumentationTest.java @@ -32,8 +32,8 @@ import org.eclipse.hawkbit.rest.documentation.ApiModelPropertiesGeneric; import org.eclipse.hawkbit.rest.documentation.MgmtApiModelProperties; import org.eclipse.hawkbit.rest.util.MockMvcResultPrinter; import org.json.JSONObject; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.http.MediaType; import org.springframework.restdocs.payload.JsonFieldType; import org.springframework.restdocs.snippet.Snippet; @@ -54,11 +54,9 @@ public class TargetFilterQueriesResourceDocumentationTest extends AbstractApiRes private static final String EXAMPLE_TFQ_NAME = "filter1"; private static final String EXAMPLE_TFQ_QUERY = "name==*"; - @Override - @Before + @BeforeEach public void setUp() { resourceName = "targetfilters"; - super.setUp(); } @Test diff --git a/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/TargetResourceDocumentationTest.java b/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/TargetResourceDocumentationTest.java index e93fdb008..bc9d556fa 100644 --- a/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/TargetResourceDocumentationTest.java +++ b/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/TargetResourceDocumentationTest.java @@ -42,8 +42,8 @@ import org.eclipse.hawkbit.rest.documentation.MgmtApiModelProperties; import org.eclipse.hawkbit.rest.util.MockMvcResultPrinter; import org.json.JSONArray; import org.json.JSONObject; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Sort.Direction; import org.springframework.hateoas.MediaTypes; @@ -68,11 +68,9 @@ public class TargetResourceDocumentationTest extends AbstractApiRestDocumentatio private final String targetId = "137"; - @Override - @Before + @BeforeEach public void setUp() { resourceName = "targets"; - super.setUp(); } @Test diff --git a/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/TargetTagResourceDocumentationTest.java b/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/TargetTagResourceDocumentationTest.java index ea444e823..53fec2070 100644 --- a/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/TargetTagResourceDocumentationTest.java +++ b/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/TargetTagResourceDocumentationTest.java @@ -33,8 +33,8 @@ import org.eclipse.hawkbit.rest.documentation.ApiModelPropertiesGeneric; import org.eclipse.hawkbit.rest.documentation.DocumenationResponseFieldsSnippet; import org.eclipse.hawkbit.rest.documentation.MgmtApiModelProperties; import org.eclipse.hawkbit.rest.util.MockMvcResultPrinter; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.http.MediaType; import org.springframework.restdocs.payload.FieldDescriptor; import org.springframework.restdocs.payload.JsonFieldType; @@ -57,11 +57,9 @@ public class TargetTagResourceDocumentationTest extends AbstractApiRestDocumenta private DistributionSet distributionSet; - @Override - @Before + @BeforeEach public void setUp() { resourceName = "targettag"; - super.setUp(); distributionSet = createDistributionSet(); } diff --git a/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/TenantResourceDocumentationTest.java b/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/TenantResourceDocumentationTest.java index 603d09660..9d9dbe876 100644 --- a/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/TenantResourceDocumentationTest.java +++ b/hawkbit-rest/hawkbit-rest-docs/src/test/java/org/eclipse/hawkbit/rest/mgmt/documentation/TenantResourceDocumentationTest.java @@ -32,8 +32,8 @@ import org.eclipse.hawkbit.rest.documentation.MgmtApiModelProperties; import org.eclipse.hawkbit.rest.util.MockMvcResultPrinter; import org.eclipse.hawkbit.tenancy.configuration.TenantConfigurationProperties; import org.eclipse.hawkbit.tenancy.configuration.TenantConfigurationProperties.TenantConfigurationKey; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.restdocs.payload.FieldDescriptor; @@ -95,11 +95,9 @@ public class TenantResourceDocumentationTest extends AbstractApiRestDocumentatio @Autowired protected TenantConfigurationProperties tenantConfigurationProperties; - @Override - @Before + @BeforeEach public void setUp() { resourceName = "tenant"; - super.setUp(); } @Test diff --git a/hawkbit-runtime/hawkbit-update-server/src/test/java/org/eclipse/hawkbit/app/AbstractSecurityTest.java b/hawkbit-runtime/hawkbit-update-server/src/test/java/org/eclipse/hawkbit/app/AbstractSecurityTest.java index 9b4114eb2..d70086c5e 100644 --- a/hawkbit-runtime/hawkbit-update-server/src/test/java/org/eclipse/hawkbit/app/AbstractSecurityTest.java +++ b/hawkbit-runtime/hawkbit-update-server/src/test/java/org/eclipse/hawkbit/app/AbstractSecurityTest.java @@ -10,21 +10,18 @@ package org.eclipse.hawkbit.app; import org.eclipse.hawkbit.repository.test.util.MsSqlTestDatabase; import org.eclipse.hawkbit.repository.test.util.MySqlTestDatabase; -import org.junit.Before; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.TestExecutionListeners; import org.springframework.test.context.TestExecutionListeners.MergeMode; -import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.setup.DefaultMockMvcBuilder; import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.web.context.WebApplicationContext; -@RunWith(SpringRunner.class) @SpringBootTest(properties = { "hawkbit.dmf.rabbitmq.enabled=false" }) @TestExecutionListeners(listeners = { MySqlTestDatabase.class, MsSqlTestDatabase.class }, mergeMode = MergeMode.MERGE_WITH_DEFAULTS) @@ -36,7 +33,7 @@ public abstract class AbstractSecurityTest { protected MockMvc mvc; - @Before + @BeforeEach public void setup() { final DefaultMockMvcBuilder builder = MockMvcBuilders.webAppContextSetup(context) .apply(SecurityMockMvcConfigurers.springSecurity()).dispatchOptions(true); diff --git a/hawkbit-runtime/hawkbit-update-server/src/test/java/org/eclipse/hawkbit/app/AllowedHostNamesTest.java b/hawkbit-runtime/hawkbit-update-server/src/test/java/org/eclipse/hawkbit/app/AllowedHostNamesTest.java index 057ef1760..a7a33b915 100644 --- a/hawkbit-runtime/hawkbit-update-server/src/test/java/org/eclipse/hawkbit/app/AllowedHostNamesTest.java +++ b/hawkbit-runtime/hawkbit-update-server/src/test/java/org/eclipse/hawkbit/app/AllowedHostNamesTest.java @@ -13,7 +13,7 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import io.qameta.allure.Description; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.http.HttpHeaders; import org.springframework.security.web.firewall.RequestRejectedException; diff --git a/hawkbit-runtime/hawkbit-update-server/src/test/java/org/eclipse/hawkbit/app/CorsTest.java b/hawkbit-runtime/hawkbit-update-server/src/test/java/org/eclipse/hawkbit/app/CorsTest.java index 7785ca91d..71b2716b2 100644 --- a/hawkbit-runtime/hawkbit-update-server/src/test/java/org/eclipse/hawkbit/app/CorsTest.java +++ b/hawkbit-runtime/hawkbit-update-server/src/test/java/org/eclipse/hawkbit/app/CorsTest.java @@ -13,26 +13,17 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants; + import org.eclipse.hawkbit.repository.test.util.MsSqlTestDatabase; import org.eclipse.hawkbit.repository.test.util.MySqlTestDatabase; +import org.junit.jupiter.api.Test; import org.eclipse.hawkbit.repository.test.util.PostgreSqlTestDatabase; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.security.test.context.support.WithUserDetails; -import org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers; -import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.TestExecutionListeners; import org.springframework.test.context.TestExecutionListeners.MergeMode; import org.springframework.test.context.TestPropertySource; -import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.ResultActions; -import org.springframework.test.web.servlet.setup.DefaultMockMvcBuilder; -import org.springframework.test.web.servlet.setup.MockMvcBuilders; -import org.springframework.web.context.WebApplicationContext; import io.qameta.allure.Description; import io.qameta.allure.Feature; @@ -40,7 +31,7 @@ import io.qameta.allure.Story; @SpringBootTest(properties = {"hawkbit.dmf.rabbitmq.enabled=false", "hawkbit.server.security.cors.enabled=true", "hawkbit.server.security.cors.allowedOrigins=" + CorsTest.ALLOWED_ORIGIN_FIRST + "," + CorsTest.ALLOWED_ORIGIN_SECOND}) -@TestExecutionListeners(listeners = { MySqlTestDatabase.class, MsSqlTestDatabase.class }, +@TestExecutionListeners(listeners = { MySqlTestDatabase.class, MsSqlTestDatabase.class }, mergeMode = MergeMode.MERGE_WITH_DEFAULTS) @Feature("Integration Test - Security") @Story("CORS") diff --git a/hawkbit-security-core/src/test/java/org/eclipse/hawkbit/im/authentication/PermissionTest.java b/hawkbit-security-core/src/test/java/org/eclipse/hawkbit/im/authentication/PermissionTest.java index bd1f1d661..7f306ba63 100644 --- a/hawkbit-security-core/src/test/java/org/eclipse/hawkbit/im/authentication/PermissionTest.java +++ b/hawkbit-security-core/src/test/java/org/eclipse/hawkbit/im/authentication/PermissionTest.java @@ -14,7 +14,7 @@ import java.util.Collection; import java.util.List; import java.util.stream.Collectors; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.security.core.GrantedAuthority; import io.qameta.allure.Description; diff --git a/hawkbit-security-core/src/test/java/org/eclipse/hawkbit/util/IpUtilTest.java b/hawkbit-security-core/src/test/java/org/eclipse/hawkbit/util/IpUtilTest.java index 7934fcd21..a9d18d71f 100644 --- a/hawkbit-security-core/src/test/java/org/eclipse/hawkbit/util/IpUtilTest.java +++ b/hawkbit-security-core/src/test/java/org/eclipse/hawkbit/util/IpUtilTest.java @@ -10,10 +10,6 @@ package org.eclipse.hawkbit.util; import static com.google.common.net.HttpHeaders.X_FORWARDED_FOR; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -24,16 +20,17 @@ import javax.servlet.http.HttpServletRequest; import org.eclipse.hawkbit.security.HawkbitSecurityProperties; import org.eclipse.hawkbit.security.HawkbitSecurityProperties.Clients; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; import io.qameta.allure.Description; import io.qameta.allure.Feature; import io.qameta.allure.Story; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) @Feature("Unit Tests - Security") @Story("IP Util Test") public class IpUtilTest { @@ -115,10 +112,10 @@ public class IpUtilTest { } private void assertHttpUri(final String host, final URI httpUri) { - assertTrue("The given URI has an http scheme", IpUtil.isHttpUri(httpUri)); - assertFalse("The given URI is not an AMQP scheme", IpUtil.isAmqpUri(httpUri)); - assertEquals("The URI hosts matches the given host", host, httpUri.getHost()); - assertEquals("The given URI scheme is http", "http", httpUri.getScheme()); + assertThat(IpUtil.isHttpUri(httpUri)).as("The given URI has an http scheme").isTrue(); + assertThat(IpUtil.isAmqpUri(httpUri)).as("The given URI is not an AMQP scheme").isFalse(); + assertThat(host).as("The URI hosts matches the given host").isEqualTo(httpUri.getHost()); + assertThat(httpUri.getScheme()).as("The given URI scheme is http").isEqualTo("http"); } @Test @@ -140,11 +137,11 @@ public class IpUtilTest { private void assertAmqpUri(final String host, final URI amqpUri) { - assertTrue("The given URI is an AMQP scheme", IpUtil.isAmqpUri(amqpUri)); - assertFalse("The given URI is not an HTTP scheme", IpUtil.isHttpUri(amqpUri)); - assertEquals("The given host matches the URI host", host, amqpUri.getHost()); - assertEquals("The given URI has an AMQP scheme", "amqp", amqpUri.getScheme()); - assertEquals("The given URI has an AMQP path", "/path", amqpUri.getRawPath()); + assertThat(IpUtil.isAmqpUri(amqpUri)).as("The given URI is an AMQP scheme").isTrue(); + assertThat(IpUtil.isHttpUri(amqpUri)).as("The given URI is not an HTTP scheme").isFalse(); + assertThat(amqpUri.getHost()).as("The given host matches the URI host").isEqualTo(host); + assertThat(amqpUri.getScheme()).as("The given URI has an AMQP scheme").isEqualTo("amqp"); + assertThat(amqpUri.getRawPath()).as("The given URI has an AMQP path").isEqualTo("/path"); } @Test @@ -154,13 +151,13 @@ public class IpUtilTest { final String host = "10.99.99.1"; final URI testUri = IpUtil.createUri("test", host); - assertFalse("The given URI is not an AMQP address", IpUtil.isAmqpUri(testUri)); - assertFalse("The given URI is not an HTTP address", IpUtil.isHttpUri(testUri)); - assertEquals("The given host matches the URI host", host, testUri.getHost()); + assertThat(IpUtil.isAmqpUri(testUri)).as("The given URI is not an AMQP address").isFalse(); + assertThat(IpUtil.isHttpUri(testUri)).as("The given URI is not an HTTP address").isFalse(); + assertThat(host).as("The given host matches the URI host").isEqualTo(testUri.getHost()); try { IpUtil.createUri(":/", host); - fail("Missing expected IllegalArgumentException due invalid URI"); + Assertions.fail("Missing expected IllegalArgumentException due invalid URI"); } catch (final IllegalArgumentException e) { // expected } diff --git a/hawkbit-security-integration/src/test/java/org/eclipse/hawkbit/security/ControllerPreAuthenticatedAnonymousDownloadTest.java b/hawkbit-security-integration/src/test/java/org/eclipse/hawkbit/security/ControllerPreAuthenticatedAnonymousDownloadTest.java index 13e4a933f..d3e741482 100644 --- a/hawkbit-security-integration/src/test/java/org/eclipse/hawkbit/security/ControllerPreAuthenticatedAnonymousDownloadTest.java +++ b/hawkbit-security-integration/src/test/java/org/eclipse/hawkbit/security/ControllerPreAuthenticatedAnonymousDownloadTest.java @@ -13,11 +13,11 @@ import static org.assertj.core.api.Assertions.assertThat; import org.eclipse.hawkbit.im.authentication.SpPermission.SpringEvalExpressions; import org.eclipse.hawkbit.repository.TenantConfigurationManagement; import org.eclipse.hawkbit.tenancy.TenantAware; -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.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.security.core.authority.SimpleGrantedAuthority; import io.qameta.allure.Feature; @@ -28,7 +28,7 @@ import io.qameta.allure.Story; */ @Feature("Unit Tests - Security") @Story("Exclude path aware shallow ETag filter") -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class ControllerPreAuthenticatedAnonymousDownloadTest { private ControllerPreAuthenticatedAnonymousDownload underTest; @@ -39,7 +39,7 @@ public class ControllerPreAuthenticatedAnonymousDownloadTest { @Mock private TenantAware tenantAwareMock; - @Before + @BeforeEach public void before() { underTest = new ControllerPreAuthenticatedAnonymousDownload(tenantConfigurationManagementMock, tenantAwareMock, new SystemSecurityContext(tenantAwareMock)); diff --git a/hawkbit-security-integration/src/test/java/org/eclipse/hawkbit/security/ControllerPreAuthenticatedSecurityHeaderFilterTest.java b/hawkbit-security-integration/src/test/java/org/eclipse/hawkbit/security/ControllerPreAuthenticatedSecurityHeaderFilterTest.java index 405f7be73..e8dcb75d9 100644 --- a/hawkbit-security-integration/src/test/java/org/eclipse/hawkbit/security/ControllerPreAuthenticatedSecurityHeaderFilterTest.java +++ b/hawkbit-security-integration/src/test/java/org/eclipse/hawkbit/security/ControllerPreAuthenticatedSecurityHeaderFilterTest.java @@ -9,7 +9,6 @@ package org.eclipse.hawkbit.security; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.assertEquals; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.when; @@ -19,19 +18,19 @@ import org.eclipse.hawkbit.repository.TenantConfigurationManagement; import org.eclipse.hawkbit.repository.model.TenantConfigurationValue; import org.eclipse.hawkbit.security.DmfTenantSecurityToken.FileResource; import org.eclipse.hawkbit.tenancy.configuration.TenantConfigurationProperties.TenantConfigurationKey; -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.Mock; -import org.mockito.junit.MockitoJUnitRunner; import io.qameta.allure.Description; import io.qameta.allure.Feature; import io.qameta.allure.Story; +import org.mockito.junit.jupiter.MockitoExtension; @Feature("Unit Tests - Security") @Story("Issuer hash based authentication") -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class ControllerPreAuthenticatedSecurityHeaderFilterTest { private ControllerPreAuthenticatedSecurityHeaderFilter underTest; @@ -62,7 +61,7 @@ public class ControllerPreAuthenticatedSecurityHeaderFilterTest { private static final TenantConfigurationValue CONFIG_VALUE_MULTI_HASH = TenantConfigurationValue . builder().value(MULTI_HASH).build(); - @Before + @BeforeEach public void before() { underTest = new ControllerPreAuthenticatedSecurityHeaderFilter(CA_COMMON_NAME, "X-Ssl-Issuer-Hash-%d", tenantConfigurationManagementMock, tenantAware, new SystemSecurityContext(tenantAware)); @@ -126,8 +125,8 @@ public class ControllerPreAuthenticatedSecurityHeaderFilterTest { assertThat(credentials1.contains(expected1)).isTrue(); assertThat(credentials2.contains(expected2)).isTrue(); - assertEquals("hash1 expected in principal!", expected1, principal1); - assertEquals("hash2 expected in principal!", expected2, principal2); + assertThat(expected1).as("hash1 expected in principal!").isEqualTo(principal1); + assertThat(expected2).as("hash2 expected in principal!").isEqualTo(principal2); } diff --git a/hawkbit-ui/src/test/java/org/eclipse/hawkbit/ui/artifacts/state/ArtifactUploadStateTest.java b/hawkbit-ui/src/test/java/org/eclipse/hawkbit/ui/artifacts/state/ArtifactUploadStateTest.java index 386a5cf82..383c2cbf4 100644 --- a/hawkbit-ui/src/test/java/org/eclipse/hawkbit/ui/artifacts/state/ArtifactUploadStateTest.java +++ b/hawkbit-ui/src/test/java/org/eclipse/hawkbit/ui/artifacts/state/ArtifactUploadStateTest.java @@ -14,18 +14,18 @@ import org.eclipse.hawkbit.ui.artifacts.ArtifactUploadState; import org.eclipse.hawkbit.ui.artifacts.upload.FileUploadId; import org.eclipse.hawkbit.ui.artifacts.upload.FileUploadProgress; import org.eclipse.hawkbit.ui.artifacts.upload.FileUploadProgress.FileUploadStatus; -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.Mock; -import org.mockito.junit.MockitoJUnitRunner; import io.qameta.allure.Feature; import io.qameta.allure.Story; +import org.mockito.junit.jupiter.MockitoExtension; @Feature("Unit Tests - Management UI") @Story("Upload UI state") -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class ArtifactUploadStateTest { @Mock @@ -43,7 +43,7 @@ public class ArtifactUploadStateTest { private ArtifactUploadState stateUnderTest; - @Before + @BeforeEach public void setupTest() { stateUnderTest = new ArtifactUploadState(); } diff --git a/hawkbit-ui/src/test/java/org/eclipse/hawkbit/ui/utils/HawkbitCommonUtilTest.java b/hawkbit-ui/src/test/java/org/eclipse/hawkbit/ui/utils/HawkbitCommonUtilTest.java index ecec9257a..df73d9fd1 100644 --- a/hawkbit-ui/src/test/java/org/eclipse/hawkbit/ui/utils/HawkbitCommonUtilTest.java +++ b/hawkbit-ui/src/test/java/org/eclipse/hawkbit/ui/utils/HawkbitCommonUtilTest.java @@ -8,14 +8,14 @@ */ package org.eclipse.hawkbit.ui.utils; -import static org.junit.Assert.assertEquals; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.doReturn; import java.util.Arrays; import java.util.Locale; import org.eclipse.hawkbit.ui.UiProperties; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.mockito.Mockito; import com.vaadin.ui.UI; @@ -38,7 +38,7 @@ public class HawkbitCommonUtilTest { // WHEN final Locale currentLocale = HawkbitCommonUtil.getCurrentLocale(); // THEN - assertEquals(Locale.getDefault(), currentLocale); + assertThat(Locale.getDefault()).isEqualTo(currentLocale); // GIVEN UI.setCurrent(ui); @@ -46,7 +46,7 @@ public class HawkbitCommonUtilTest { // WHEN final Locale currentLocale2 = HawkbitCommonUtil.getCurrentLocale(); // THEN - assertEquals(Locale.GERMAN, currentLocale2); + assertThat(Locale.GERMAN).isEqualTo(currentLocale2); } @Test @@ -59,7 +59,7 @@ public class HawkbitCommonUtilTest { // WHEN final Locale localeToBeUsed = HawkbitCommonUtil.getLocaleToBeUsed(localizationProperties, Locale.CHINESE); // THEN - assertEquals(Locale.GERMAN, localeToBeUsed); + assertThat(Locale.GERMAN).isEqualTo(localeToBeUsed); } @Test @@ -74,7 +74,7 @@ public class HawkbitCommonUtilTest { // WHEN final Locale localeToBeUsed = HawkbitCommonUtil.getLocaleToBeUsed(localizationProperties, Locale.GERMAN); // THEN - assertEquals(Locale.GERMAN, localeToBeUsed); + assertThat(Locale.GERMAN).isEqualTo(localeToBeUsed); } } diff --git a/hawkbit-ui/src/test/java/org/eclipse/hawkbit/ui/utils/SPUIComponentProviderTest.java b/hawkbit-ui/src/test/java/org/eclipse/hawkbit/ui/utils/SPUIComponentProviderTest.java index 2c2fc3ac1..f1f1e10fc 100644 --- a/hawkbit-ui/src/test/java/org/eclipse/hawkbit/ui/utils/SPUIComponentProviderTest.java +++ b/hawkbit-ui/src/test/java/org/eclipse/hawkbit/ui/utils/SPUIComponentProviderTest.java @@ -13,12 +13,12 @@ import static org.assertj.core.api.Assertions.assertThat; import org.eclipse.hawkbit.ui.components.SPUIButton; import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmall; -import org.junit.Test; import com.vaadin.ui.Button; import io.qameta.allure.Feature; import io.qameta.allure.Story; +import org.junit.jupiter.api.Test; /** * Unit Test block for UI Component provider. Dynamic Factory Testing. diff --git a/pom.xml b/pom.xml index cfd37a094..193fd73ba 100644 --- a/pom.xml +++ b/pom.xml @@ -729,6 +729,19 @@ + + org.springframework.boot + spring-boot-starter-test + ${spring.boot.version} + + + + + org.junit.vintage + junit-vintage-engine + + + org.eclipse.persistence org.eclipse.persistence.jpa