fix tests by setting the SystemSecurityContext to prevent NPE in tests
Signed-off-by: Michael Hirsch <michael.hirsch@bosch-si.com>
This commit is contained in:
committed by
Nonnenmacher Fabian
parent
2be4922615
commit
4ca1bdf9ef
@@ -153,4 +153,7 @@ public class AmqpControllerAuthentfication {
|
|||||||
this.tenantAware = tenantAware;
|
this.tenantAware = tenantAware;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setSystemSecurityContext(final SystemSecurityContext systemSecurityContext) {
|
||||||
|
this.systemSecurityContext = systemSecurityContext;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import org.eclipse.hawkbit.repository.TenantConfigurationManagement;
|
|||||||
import org.eclipse.hawkbit.repository.model.TenantConfigurationValue;
|
import org.eclipse.hawkbit.repository.model.TenantConfigurationValue;
|
||||||
import org.eclipse.hawkbit.security.SecurityContextTenantAware;
|
import org.eclipse.hawkbit.security.SecurityContextTenantAware;
|
||||||
import org.eclipse.hawkbit.security.SecurityProperties;
|
import org.eclipse.hawkbit.security.SecurityProperties;
|
||||||
|
import org.eclipse.hawkbit.security.SystemSecurityContext;
|
||||||
import org.eclipse.hawkbit.tenancy.configuration.TenantConfigurationKey;
|
import org.eclipse.hawkbit.tenancy.configuration.TenantConfigurationKey;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -81,7 +82,8 @@ public class AmqpControllerAuthentficationTest {
|
|||||||
tenantConfigurationManagement = mock(TenantConfigurationManagement.class);
|
tenantConfigurationManagement = mock(TenantConfigurationManagement.class);
|
||||||
authenticationManager.setTenantConfigurationManagement(tenantConfigurationManagement);
|
authenticationManager.setTenantConfigurationManagement(tenantConfigurationManagement);
|
||||||
|
|
||||||
when(tenantConfigurationManagement.getConfigurationValue(any(), eq(Boolean.class))).thenReturn(CONFIG_VALUE_FALSE);
|
when(tenantConfigurationManagement.getConfigurationValue(any(), eq(Boolean.class)))
|
||||||
|
.thenReturn(CONFIG_VALUE_FALSE);
|
||||||
|
|
||||||
final ControllerManagement controllerManagement = mock(ControllerManagement.class);
|
final ControllerManagement controllerManagement = mock(ControllerManagement.class);
|
||||||
when(controllerManagement.getSecurityTokenByControllerId(anyString())).thenReturn(CONTROLLLER_ID);
|
when(controllerManagement.getSecurityTokenByControllerId(anyString())).thenReturn(CONTROLLLER_ID);
|
||||||
@@ -89,7 +91,10 @@ public class AmqpControllerAuthentficationTest {
|
|||||||
|
|
||||||
amqpMessageHandlerService.setArtifactManagement(mock(ArtifactManagement.class));
|
amqpMessageHandlerService.setArtifactManagement(mock(ArtifactManagement.class));
|
||||||
|
|
||||||
authenticationManager.setTenantAware(new SecurityContextTenantAware());
|
final SecurityContextTenantAware tenantAware = new SecurityContextTenantAware();
|
||||||
|
authenticationManager.setTenantAware(tenantAware);
|
||||||
|
final SystemSecurityContext systemSecurityContext = new SystemSecurityContext(tenantAware);
|
||||||
|
authenticationManager.setSystemSecurityContext(systemSecurityContext);
|
||||||
authenticationManager.postConstruct();
|
authenticationManager.postConstruct();
|
||||||
amqpMessageHandlerService.setAuthenticationManager(authenticationManager);
|
amqpMessageHandlerService.setAuthenticationManager(authenticationManager);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,8 +38,18 @@ public class SystemSecurityContext {
|
|||||||
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger(SystemSecurityContext.class);
|
private static final Logger logger = LoggerFactory.getLogger(SystemSecurityContext.class);
|
||||||
|
|
||||||
|
private final TenantAware tenantAware;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Autowired constructor.
|
||||||
|
*
|
||||||
|
* @param tenantAware
|
||||||
|
* the tenant aware bean to retrieve the current tenant
|
||||||
|
*/
|
||||||
@Autowired
|
@Autowired
|
||||||
private TenantAware tenantAware;
|
public SystemSecurityContext(final TenantAware tenantAware) {
|
||||||
|
this.tenantAware = tenantAware;
|
||||||
|
}
|
||||||
|
|
||||||
public <T> T runAsSystem(final Callable<T> callable) {
|
public <T> T runAsSystem(final Callable<T> callable) {
|
||||||
final SecurityContext oldContext = SecurityContextHolder.getContext();
|
final SecurityContext oldContext = SecurityContextHolder.getContext();
|
||||||
|
|||||||
Reference in New Issue
Block a user