From 7ffd64c6da21009ac650b49fcacfc82ac89406b0 Mon Sep 17 00:00:00 2001 From: Avgustin Marinov Date: Fri, 11 Jul 2025 12:45:05 +0300 Subject: [PATCH] Fix tenant in TestdataFactory#rolloutHandleAll (#2543) Signed-off-by: Avgustin Marinov --- .../hawkbit/repository/test/TestConfiguration.java | 4 ++-- .../repository/test/util/TestdataFactory.java | 13 +++++++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/TestConfiguration.java b/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/TestConfiguration.java index dc8026b2d..cd553b0c9 100644 --- a/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/TestConfiguration.java +++ b/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/TestConfiguration.java @@ -169,11 +169,11 @@ public class TestConfiguration implements AsyncConfigurer { final DeploymentManagement deploymentManagement, final DistributionSetTagManagement distributionSetTagManagement, final RolloutManagement rolloutManagement, final RolloutHandler rolloutHandler, final QuotaManagement quotaManagement, - final EntityFactory entityFactory) { + final EntityFactory entityFactory, final TenantAware tenantAware) { return new TestdataFactory(controllerManagement, artifactManagement, softwareModuleManagement, softwareModuleTypeManagement, distributionSetManagement, distributionSetInvalidationManagement, distributionSetTypeManagement, targetManagement, targetFilterQueryManagement, targetTypeManagement, targetTagManagement, deploymentManagement, - distributionSetTagManagement, rolloutManagement, rolloutHandler, quotaManagement, entityFactory); + distributionSetTagManagement, rolloutManagement, rolloutHandler, quotaManagement, entityFactory, tenantAware); } @Bean diff --git a/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/TestdataFactory.java b/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/TestdataFactory.java index 00c398643..804e3efd5 100644 --- a/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/TestdataFactory.java +++ b/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/TestdataFactory.java @@ -11,6 +11,8 @@ package org.eclipse.hawkbit.repository.test.util; import static org.assertj.core.api.Assertions.assertThat; import static org.eclipse.hawkbit.im.authentication.SpPermission.SpringEvalExpressions.SYSTEM_ROLE; +import static org.eclipse.hawkbit.repository.test.util.SecurityContextSwitch.runAs; +import static org.eclipse.hawkbit.repository.test.util.SecurityContextSwitch.withUserAndTenant; import java.io.ByteArrayInputStream; import java.io.InputStream; @@ -78,6 +80,7 @@ import org.eclipse.hawkbit.repository.model.TargetFilterQuery; import org.eclipse.hawkbit.repository.model.TargetTag; import org.eclipse.hawkbit.repository.model.TargetType; import org.eclipse.hawkbit.repository.model.TargetUpdateStatus; +import org.eclipse.hawkbit.tenancy.TenantAware; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.util.ObjectUtils; @@ -156,6 +159,7 @@ public class TestdataFactory { private final RolloutHandler rolloutHandler; private final QuotaManagement quotaManagement; private final EntityFactory entityFactory; + private final TenantAware tenantAware; public TestdataFactory( final ControllerManagement controllerManagement, final ArtifactManagement artifactManagement, @@ -168,7 +172,7 @@ public class TestdataFactory { final DeploymentManagement deploymentManagement, final DistributionSetTagManagement distributionSetTagManagement, final RolloutManagement rolloutManagement, final RolloutHandler rolloutHandler, final QuotaManagement quotaManagement, - final EntityFactory entityFactory) { + final EntityFactory entityFactory, final TenantAware tenantAware) { this.controllerManagement = controllerManagement; this.softwareModuleManagement = softwareModuleManagement; this.softwareModuleTypeManagement = softwareModuleTypeManagement; @@ -186,6 +190,7 @@ public class TestdataFactory { this.rolloutManagement = rolloutManagement; this.rolloutHandler = rolloutHandler; this.quotaManagement = quotaManagement; + this.tenantAware = tenantAware; } public static String randomString(final int len) { @@ -1259,7 +1264,11 @@ public class TestdataFactory { } private void rolloutHandleAll() { - SecurityContextSwitch.runAs(SecurityContextSwitch.withUser("system", SYSTEM_ROLE), rolloutHandler::handleAll); + final String tenant = tenantAware.getCurrentTenant(); + if (tenant == null) { + throw new IllegalStateException("Tenant is null"); + } + runAs(withUserAndTenant("system", tenant, false, false, false, SYSTEM_ROLE), rolloutHandler::handleAll); } private Rollout reloadRollout(final Rollout rollout) {