Add support for native query for multiple JPA vendors (#2129)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
This commit is contained in:
@@ -246,7 +246,7 @@ public abstract class AbstractJpaIntegrationTest extends AbstractIntegrationTest
|
||||
|
||||
// version is 1, 2 ... based
|
||||
protected int version(final int version) {
|
||||
return switch (JpaConstants.JPA_VENDOR) {
|
||||
return switch (Jpa.JPA_VENDOR) {
|
||||
case ECLIPSELINK -> version;
|
||||
case HIBERNATE -> version - 1;
|
||||
};
|
||||
|
||||
@@ -33,15 +33,14 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
*/
|
||||
@Feature("Component Tests - Repository")
|
||||
@Story("Action cleanup handler")
|
||||
public class AutoActionCleanupTest extends AbstractJpaIntegrationTest {
|
||||
class AutoActionCleanupTest extends AbstractJpaIntegrationTest {
|
||||
|
||||
@Autowired
|
||||
private AutoActionCleanup autoActionCleanup;
|
||||
|
||||
@Test
|
||||
@Description("Verifies that running actions are not cleaned up.")
|
||||
public void runningActionsAreNotCleanedUp() {
|
||||
|
||||
void runningActionsAreNotCleanedUp() {
|
||||
// cleanup config for this test case
|
||||
setupCleanupConfiguration(true, 0, Action.Status.CANCELED, Action.Status.ERROR);
|
||||
|
||||
@@ -60,13 +59,11 @@ public class AutoActionCleanupTest extends AbstractJpaIntegrationTest {
|
||||
autoActionCleanup.run();
|
||||
|
||||
assertThat(actionRepository.count()).isEqualTo(2);
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
@Description("Verifies that nothing is cleaned up if the cleanup is disabled.")
|
||||
public void cleanupDisabled() {
|
||||
|
||||
void cleanupDisabled() {
|
||||
// cleanup config for this test case
|
||||
setupCleanupConfiguration(false, 0, Action.Status.CANCELED);
|
||||
|
||||
@@ -87,13 +84,11 @@ public class AutoActionCleanupTest extends AbstractJpaIntegrationTest {
|
||||
autoActionCleanup.run();
|
||||
|
||||
assertThat(actionRepository.count()).isEqualTo(2);
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
@Description("Verifies that canceled and failed actions are cleaned up.")
|
||||
public void canceledAndFailedActionsAreCleanedUp() {
|
||||
|
||||
void canceledAndFailedActionsAreCleanedUp() {
|
||||
// cleanup config for this test case
|
||||
setupCleanupConfiguration(true, 0, Action.Status.CANCELED, Action.Status.ERROR);
|
||||
|
||||
@@ -120,13 +115,11 @@ public class AutoActionCleanupTest extends AbstractJpaIntegrationTest {
|
||||
|
||||
assertThat(actionRepository.count()).isEqualTo(1);
|
||||
assertThat(actionRepository.findWithDetailsById(action3)).isPresent();
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
@Description("Verifies that canceled actions are cleaned up.")
|
||||
public void canceledActionsAreCleanedUp() {
|
||||
|
||||
void canceledActionsAreCleanedUp() {
|
||||
// cleanup config for this test case
|
||||
setupCleanupConfiguration(true, 0, Action.Status.CANCELED);
|
||||
|
||||
@@ -154,14 +147,12 @@ public class AutoActionCleanupTest extends AbstractJpaIntegrationTest {
|
||||
assertThat(actionRepository.count()).isEqualTo(2);
|
||||
assertThat(actionRepository.findWithDetailsById(action2)).isPresent();
|
||||
assertThat(actionRepository.findWithDetailsById(action3)).isPresent();
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
@Description("Verifies that canceled and failed actions are cleaned up once they expired.")
|
||||
@SuppressWarnings("squid:S2925")
|
||||
public void canceledAndFailedActionsAreCleanedUpWhenExpired() throws InterruptedException {
|
||||
|
||||
void canceledAndFailedActionsAreCleanedUpWhenExpired() throws InterruptedException {
|
||||
// cleanup config for this test case
|
||||
setupCleanupConfiguration(true, 500, Action.Status.CANCELED, Action.Status.ERROR);
|
||||
|
||||
@@ -194,7 +185,6 @@ public class AutoActionCleanupTest extends AbstractJpaIntegrationTest {
|
||||
|
||||
assertThat(actionRepository.count()).isEqualTo(1);
|
||||
assertThat(actionRepository.findWithDetailsById(action3)).isPresent();
|
||||
|
||||
}
|
||||
|
||||
private void setActionToCanceled(final Long id) {
|
||||
@@ -209,7 +199,8 @@ public class AutoActionCleanupTest extends AbstractJpaIntegrationTest {
|
||||
private void setupCleanupConfiguration(final boolean cleanupEnabled, final long expiry, final Status... status) {
|
||||
tenantConfigurationManagement.addOrUpdateConfiguration(ACTION_CLEANUP_ENABLED, cleanupEnabled);
|
||||
tenantConfigurationManagement.addOrUpdateConfiguration(ACTION_CLEANUP_ACTION_EXPIRY, expiry);
|
||||
tenantConfigurationManagement.addOrUpdateConfiguration(ACTION_CLEANUP_ACTION_STATUS,
|
||||
tenantConfigurationManagement.addOrUpdateConfiguration(
|
||||
ACTION_CLEANUP_ACTION_STATUS,
|
||||
Arrays.stream(status).map(Status::toString).collect(Collectors.joining(",")));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -160,8 +160,7 @@ class RolloutGroupManagementTest extends AbstractJpaIntegrationTest {
|
||||
@Description("Verifies that Rollouts in different states are handled correctly.")
|
||||
void findAllTargetsOfRolloutGroupWithActionStatus() {
|
||||
final Rollout rollout = testdataFactory.createRollout();
|
||||
final List<RolloutGroup> rolloutGroups = rolloutGroupManagement.findByRollout(PAGE, rollout.getId())
|
||||
.getContent();
|
||||
final List<RolloutGroup> rolloutGroups = rolloutGroupManagement.findByRollout(PAGE, rollout.getId()).getContent();
|
||||
rolloutHandler.handleAll();
|
||||
|
||||
// check query when no actions exist
|
||||
@@ -170,8 +169,7 @@ class RolloutGroupManagementTest extends AbstractJpaIntegrationTest {
|
||||
PageRequest.of(0, 500, Sort.by(Direction.DESC, "lastActionStatusCode")),
|
||||
rolloutGroups.get(0).getId())
|
||||
.getContent();
|
||||
assertThat(targetsWithActionStatus)
|
||||
.hasSize((int) rolloutGroupManagement.countTargetsOfRolloutsGroup(rolloutGroups.get(0).getId()));
|
||||
assertThat(targetsWithActionStatus).hasSize((int) rolloutGroupManagement.countTargetsOfRolloutsGroup(rolloutGroups.get(0).getId()));
|
||||
assertTargetNotNullAndActionStatusNullAndActionStatusCode(targetsWithActionStatus, null);
|
||||
|
||||
rolloutManagement.start(rollout.getId());
|
||||
|
||||
@@ -1805,19 +1805,19 @@ class RolloutManagementTest extends AbstractJpaIntegrationTest {
|
||||
@Test
|
||||
@ExpectEvents({
|
||||
@Expect(type = SoftwareModuleCreatedEvent.class, count = 3),
|
||||
@Expect(type = RolloutGroupUpdatedEvent.class, count = 10),
|
||||
@Expect(type = RolloutUpdatedEvent.class, count = 6),
|
||||
@Expect(type = DistributionSetCreatedEvent.class, count = 1),
|
||||
@Expect(type = DistributionSetUpdatedEvent.class, count = 1), // implicit lock
|
||||
@Expect(type = SoftwareModuleUpdatedEvent.class, count = 3), // implicit lock
|
||||
@Expect(type = DistributionSetUpdatedEvent.class, count = 1), // implicit lock
|
||||
@Expect(type = TargetCreatedEvent.class, count = 25),
|
||||
@Expect(type = TargetUpdatedEvent.class, count = 2),
|
||||
@Expect(type = TargetAssignDistributionSetEvent.class, count = 1),
|
||||
@Expect(type = RolloutGroupCreatedEvent.class, count = 5),
|
||||
@Expect(type = ActionCreatedEvent.class, count = 10),
|
||||
@Expect(type = ActionUpdatedEvent.class, count = 2),
|
||||
@Expect(type = RolloutCreatedEvent.class, count = 1),
|
||||
@Expect(type = RolloutUpdatedEvent.class, count = 6),
|
||||
@Expect(type = RolloutDeletedEvent.class, count = 1),
|
||||
@Expect(type = RolloutCreatedEvent.class, count = 1) })
|
||||
@Expect(type = RolloutGroupUpdatedEvent.class, count = 10),
|
||||
@Expect(type = RolloutGroupCreatedEvent.class, count = 5) })
|
||||
void deleteRolloutWhichHasBeenStartedBeforeIsSoftDeleted() {
|
||||
final int amountTargetsForRollout = 10;
|
||||
final int amountOtherTargets = 15;
|
||||
@@ -1825,17 +1825,15 @@ class RolloutManagementTest extends AbstractJpaIntegrationTest {
|
||||
final String successCondition = "50";
|
||||
final String errorCondition = "80";
|
||||
final Rollout createdRollout = testdataFactory.createSimpleTestRolloutWithTargetsAndDistributionSet(
|
||||
amountTargetsForRollout,
|
||||
amountOtherTargets, amountGroups, successCondition, errorCondition);
|
||||
amountTargetsForRollout, amountOtherTargets, amountGroups, successCondition, errorCondition);
|
||||
|
||||
// start the rollout, so it has active running actions and a group which
|
||||
// has been started
|
||||
// start the rollout, so it has active running actions and a group which has been started
|
||||
rolloutManagement.start(createdRollout.getId());
|
||||
rolloutHandler.handleAll();
|
||||
|
||||
// verify we have running actions
|
||||
assertThat(actionRepository.findByRolloutIdAndStatus(PAGE, createdRollout.getId(), Status.RUNNING)
|
||||
.getNumberOfElements()).isEqualTo(2);
|
||||
assertThat(actionRepository.findByRolloutIdAndStatus(PAGE, createdRollout.getId(), Status.RUNNING).getNumberOfElements())
|
||||
.isEqualTo(2);
|
||||
|
||||
// test
|
||||
rolloutManagement.delete(createdRollout.getId());
|
||||
|
||||
Reference in New Issue
Block a user