Merge remote-tracking branch 'origin/fix_resend_dmf_with_null_target_sec_token' into fix_executor_and_exchange
This commit is contained in:
@@ -47,6 +47,7 @@ import org.eclipse.hawkbit.repository.model.DistributionSet;
|
|||||||
import org.eclipse.hawkbit.repository.model.LocalArtifact;
|
import org.eclipse.hawkbit.repository.model.LocalArtifact;
|
||||||
import org.eclipse.hawkbit.repository.model.SoftwareModule;
|
import org.eclipse.hawkbit.repository.model.SoftwareModule;
|
||||||
import org.eclipse.hawkbit.repository.model.Target;
|
import org.eclipse.hawkbit.repository.model.Target;
|
||||||
|
import org.eclipse.hawkbit.security.SystemSecurityContext;
|
||||||
import org.eclipse.hawkbit.util.IpUtil;
|
import org.eclipse.hawkbit.util.IpUtil;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
@@ -105,6 +106,9 @@ public class AmqpMessageHandlerService extends BaseAmqpService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private EntityFactory entityFactory;
|
private EntityFactory entityFactory;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SystemSecurityContext systemSecurityContext;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor.
|
* Constructor.
|
||||||
*
|
*
|
||||||
@@ -332,9 +336,10 @@ public class AmqpMessageHandlerService extends BaseAmqpService {
|
|||||||
final DistributionSet distributionSet = action.getDistributionSet();
|
final DistributionSet distributionSet = action.getDistributionSet();
|
||||||
final List<SoftwareModule> softwareModuleList = controllerManagement
|
final List<SoftwareModule> softwareModuleList = controllerManagement
|
||||||
.findSoftwareModulesByDistributionSet(distributionSet);
|
.findSoftwareModulesByDistributionSet(distributionSet);
|
||||||
|
final String targetSecurityToken = systemSecurityContext.runAsSystem(() -> target.getSecurityToken());
|
||||||
eventBus.post(new TargetAssignDistributionSetEvent(target.getOptLockRevision(), target.getTenant(),
|
eventBus.post(new TargetAssignDistributionSetEvent(target.getOptLockRevision(), target.getTenant(),
|
||||||
target.getControllerId(), action.getId(), softwareModuleList, target.getTargetInfo().getAddress(),
|
target.getControllerId(), action.getId(), softwareModuleList, target.getTargetInfo().getAddress(),
|
||||||
target.getSecurityToken()));
|
targetSecurityToken));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -492,4 +497,7 @@ public class AmqpMessageHandlerService extends BaseAmqpService {
|
|||||||
this.entityFactory = entityFactory;
|
this.entityFactory = entityFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setSystemSecurityContext(final SystemSecurityContext systemSecurityContext) {
|
||||||
|
this.systemSecurityContext = systemSecurityContext;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ import org.eclipse.hawkbit.repository.model.LocalArtifact;
|
|||||||
import org.eclipse.hawkbit.repository.model.SoftwareModule;
|
import org.eclipse.hawkbit.repository.model.SoftwareModule;
|
||||||
import org.eclipse.hawkbit.repository.model.TargetInfo;
|
import org.eclipse.hawkbit.repository.model.TargetInfo;
|
||||||
import org.eclipse.hawkbit.security.SecurityTokenGenerator;
|
import org.eclipse.hawkbit.security.SecurityTokenGenerator;
|
||||||
|
import org.eclipse.hawkbit.security.SystemSecurityContext;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
@@ -112,6 +113,9 @@ public class AmqpMessageHandlerServiceTest {
|
|||||||
@Mock
|
@Mock
|
||||||
private RabbitTemplate rabbitTemplate;
|
private RabbitTemplate rabbitTemplate;
|
||||||
|
|
||||||
|
@Mock
|
||||||
|
private SystemSecurityContext systemSecurityContextMock;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void before() throws Exception {
|
public void before() throws Exception {
|
||||||
messageConverter = new Jackson2JsonMessageConverter();
|
messageConverter = new Jackson2JsonMessageConverter();
|
||||||
@@ -124,6 +128,7 @@ public class AmqpMessageHandlerServiceTest {
|
|||||||
amqpMessageHandlerService.setHostnameResolver(hostnameResolverMock);
|
amqpMessageHandlerService.setHostnameResolver(hostnameResolverMock);
|
||||||
amqpMessageHandlerService.setEventBus(eventBus);
|
amqpMessageHandlerService.setEventBus(eventBus);
|
||||||
amqpMessageHandlerService.setEntityFactory(entityFactoryMock);
|
amqpMessageHandlerService.setEntityFactory(entityFactoryMock);
|
||||||
|
amqpMessageHandlerService.setSystemSecurityContext(systemSecurityContextMock);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -364,6 +369,8 @@ public class AmqpMessageHandlerServiceTest {
|
|||||||
when(controllerManagementMock.findSoftwareModulesByDistributionSet(Matchers.any()))
|
when(controllerManagementMock.findSoftwareModulesByDistributionSet(Matchers.any()))
|
||||||
.thenReturn(softwareModuleList);
|
.thenReturn(softwareModuleList);
|
||||||
|
|
||||||
|
when(systemSecurityContextMock.runAsSystem(anyObject())).thenReturn("securityToken");
|
||||||
|
|
||||||
final MessageProperties messageProperties = createMessageProperties(MessageType.EVENT);
|
final MessageProperties messageProperties = createMessageProperties(MessageType.EVENT);
|
||||||
messageProperties.setHeader(MessageHeaderKey.TOPIC, EventTopic.UPDATE_ACTION_STATUS.name());
|
messageProperties.setHeader(MessageHeaderKey.TOPIC, EventTopic.UPDATE_ACTION_STATUS.name());
|
||||||
final ActionUpdateStatus actionUpdateStatus = createActionUpdateStatus(ActionStatus.FINISHED, 23L);
|
final ActionUpdateStatus actionUpdateStatus = createActionUpdateStatus(ActionStatus.FINISHED, 23L);
|
||||||
|
|||||||
Reference in New Issue
Block a user