introduced open actionIds in MgmtTargetAssignmentResponseBody (#864)
* introduced open actionIds in MgmtTargetAssignmentResponseBody Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com> * fixed SonarQube issues Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com> * removed unused method parameter Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com> * updated documentation tests Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com> * added limit to the alreadyAssignedActions in the AssignmentResult Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com> * moved alreadyAssignedActions limitation to MgmtDistributionSetMapper Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com> * fixed review findings Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com> * removed alreadyAssignedActions Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com> * fixed sonarQube issues Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com> * fixed compilation error Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com> * fixed PR review findings Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com> * fixed PR review findings Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com> * Renamed AssignmentResult to AbstractAssignmentResult Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com> * fixed review findings Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com> * fixed formatting Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com> * reverted method visibility Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>
This commit is contained in:
committed by
Dominic Schabel
parent
973f1952c7
commit
d40b11d2ab
@@ -137,9 +137,8 @@ public class RootControllerDocumentationTest extends AbstractApiRestDocumentatio
|
||||
});
|
||||
|
||||
final Target target = targetManagement.create(entityFactory.target().create().controllerId(CONTROLLER_ID));
|
||||
final Long actionId = deploymentManagement
|
||||
.assignDistributionSet(set.getId(), Arrays.asList(target.getTargetWithActionType())).getActionIds()
|
||||
.get(0);
|
||||
final Long actionId = getFirstAssignedActionId(deploymentManagement.assignDistributionSet(set.getId(),
|
||||
Arrays.asList(target.getTargetWithActionType())));
|
||||
final Action cancelAction = deploymentManagement.cancelAction(actionId);
|
||||
|
||||
mockMvc.perform(
|
||||
@@ -170,9 +169,8 @@ public class RootControllerDocumentationTest extends AbstractApiRestDocumentatio
|
||||
final DistributionSet set = testdataFactory.createDistributionSet("one");
|
||||
|
||||
final Target target = targetManagement.create(entityFactory.target().create().controllerId(CONTROLLER_ID));
|
||||
final Long actionId = deploymentManagement
|
||||
.assignDistributionSet(set.getId(), Arrays.asList(target.getTargetWithActionType())).getActionIds()
|
||||
.get(0);
|
||||
final Long actionId = getFirstAssignedActionId(deploymentManagement.assignDistributionSet(set.getId(),
|
||||
Arrays.asList(target.getTargetWithActionType())));
|
||||
final Action cancelAction = deploymentManagement.cancelAction(actionId);
|
||||
|
||||
mockMvc.perform(post(
|
||||
@@ -264,8 +262,8 @@ public class RootControllerDocumentationTest extends AbstractApiRestDocumentatio
|
||||
.key("aMetadataKey").value("Metadata value as defined in software module").targetVisible(true));
|
||||
|
||||
final Target target = targetManagement.create(entityFactory.target().create().controllerId(CONTROLLER_ID));
|
||||
final Long actionId = assignDistributionSetWithMaintenanceWindow(set.getId(), target.getControllerId(),
|
||||
getTestSchedule(-5), getTestDuration(10), getTestTimeZone()).getActionIds().get(0);
|
||||
final Long actionId = getFirstAssignedActionId(assignDistributionSetWithMaintenanceWindow(set.getId(),
|
||||
target.getControllerId(), getTestSchedule(-5), getTestDuration(10), getTestTimeZone()));
|
||||
|
||||
controllerManagement.addInformationalActionStatus(
|
||||
entityFactory.actionStatus().create(actionId).message("Started download").status(Status.DOWNLOAD));
|
||||
@@ -348,8 +346,8 @@ public class RootControllerDocumentationTest extends AbstractApiRestDocumentatio
|
||||
final DistributionSet set = testdataFactory.createDistributionSet("one");
|
||||
|
||||
final Target target = targetManagement.create(entityFactory.target().create().controllerId(CONTROLLER_ID));
|
||||
final Long actionId = assignDistributionSetWithMaintenanceWindow(set.getId(), target.getControllerId(),
|
||||
getTestSchedule(2), getTestDuration(1), getTestTimeZone()).getActionIds().get(0);
|
||||
final Long actionId = getFirstAssignedActionId(assignDistributionSetWithMaintenanceWindow(set.getId(),
|
||||
target.getControllerId(), getTestSchedule(2), getTestDuration(1), getTestTimeZone()));
|
||||
|
||||
mockMvc.perform(get(
|
||||
DdiRestConstants.BASE_V1_REQUEST_MAPPING + "/{controllerId}/" + DdiRestConstants.DEPLOYMENT_BASE_ACTION
|
||||
@@ -389,9 +387,8 @@ public class RootControllerDocumentationTest extends AbstractApiRestDocumentatio
|
||||
final DistributionSet set = testdataFactory.createDistributionSet("one");
|
||||
|
||||
final Target target = targetManagement.create(entityFactory.target().create().controllerId(CONTROLLER_ID));
|
||||
final Long actionId = deploymentManagement
|
||||
.assignDistributionSet(set.getId(), Arrays.asList(target.getTargetWithActionType())).getActionIds()
|
||||
.get(0);
|
||||
final Long actionId = getFirstAssignedActionId(deploymentManagement.assignDistributionSet(set.getId(),
|
||||
Arrays.asList(target.getTargetWithActionType())));
|
||||
|
||||
mockMvc.perform(post(DdiRestConstants.BASE_V1_REQUEST_MAPPING + "/{controllerId}/"
|
||||
+ DdiRestConstants.DEPLOYMENT_BASE_ACTION + "/{actionId}/feedback", tenantAware.getCurrentTenant(),
|
||||
|
||||
@@ -20,6 +20,7 @@ import static org.springframework.restdocs.snippet.Attributes.key;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.apache.commons.lang3.RandomStringUtils;
|
||||
import org.eclipse.hawkbit.ddi.rest.resource.DdiApiConfiguration;
|
||||
@@ -167,20 +168,23 @@ public abstract class AbstractApiRestDocumentation extends AbstractRestIntegrati
|
||||
|
||||
private List<Target> assignWithoutMaintenanceWindow(final DistributionSet distributionSet, final Target savedTarget,
|
||||
final boolean timeforced) {
|
||||
return timeforced ? assignDistributionSetTimeForced(distributionSet, savedTarget).getAssignedEntity()
|
||||
final List<Action> actions = timeforced
|
||||
? assignDistributionSetTimeForced(distributionSet, savedTarget).getAssignedEntity()
|
||||
: assignDistributionSet(distributionSet, savedTarget).getAssignedEntity();
|
||||
return actions.stream().map(Action::getTarget).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
private List<Target> assignWithMaintenanceWindow(final DistributionSet distributionSet, final Target savedTarget,
|
||||
final boolean timeforced, final String maintenanceWindowSchedule, final String maintenanceWindowDuration,
|
||||
final String maintenanceWindowTimeZone) {
|
||||
return timeforced
|
||||
final List<Action> actions = timeforced
|
||||
? assignDistributionSetWithMaintenanceWindowTimeForced(distributionSet.getId(),
|
||||
savedTarget.getControllerId(), maintenanceWindowSchedule, maintenanceWindowDuration,
|
||||
maintenanceWindowTimeZone).getAssignedEntity()
|
||||
: assignDistributionSetWithMaintenanceWindow(distributionSet.getId(), savedTarget.getControllerId(),
|
||||
maintenanceWindowSchedule, maintenanceWindowDuration, maintenanceWindowTimeZone)
|
||||
.getAssignedEntity();
|
||||
return actions.stream().map(Action::getTarget).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
protected DistributionSet createDistributionSet() {
|
||||
|
||||
@@ -211,4 +211,5 @@ public final class MgmtApiModelProperties {
|
||||
public static final String CONFIG_GLOBAL = "true - if the current value is the global configuration value, false - if there is a tenant specific value configured.";
|
||||
public static final String CONFIG_PARAM = "The name of the configuration parameter.";
|
||||
|
||||
public static final String DS_NEW_ASSIGNED_ACTIONS = "The newly created actions as a result of this assignment";
|
||||
}
|
||||
|
||||
@@ -23,9 +23,11 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.eclipse.hawkbit.im.authentication.SpPermission;
|
||||
import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants;
|
||||
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.SoftwareModule;
|
||||
@@ -306,7 +308,8 @@ public class DistributionSetsDocumentationTest extends AbstractApiRestDocumentat
|
||||
final DistributionSet set = testdataFactory.createUpdatedDistributionSet();
|
||||
|
||||
final List<Target> targets = assignDistributionSet(set,
|
||||
testdataFactory.createTargets(5, "targetMisc", "Test targets for query")).getAssignedEntity();
|
||||
testdataFactory.createTargets(5, "targetMisc", "Test targets for query")).getAssignedEntity().stream()
|
||||
.map(Action::getTarget).collect(Collectors.toList());
|
||||
testdataFactory.sendUpdateActionStatusToTargets(targets, Status.FINISHED, "some message");
|
||||
|
||||
mockMvc.perform(
|
||||
@@ -396,6 +399,12 @@ public class DistributionSetsDocumentationTest extends AbstractApiRestDocumentat
|
||||
fieldWithPath("assigned").description(MgmtApiModelProperties.DS_NEW_ASSIGNED_TARGETS),
|
||||
fieldWithPath("alreadyAssigned").type(JsonFieldType.NUMBER)
|
||||
.description(MgmtApiModelProperties.DS_ALREADY_ASSIGNED_TARGETS),
|
||||
fieldWithPath("assignedActions").type(JsonFieldType.ARRAY)
|
||||
.description(MgmtApiModelProperties.DS_NEW_ASSIGNED_ACTIONS),
|
||||
fieldWithPath("assignedActions.[].id").type(JsonFieldType.NUMBER)
|
||||
.description(MgmtApiModelProperties.ACTION_ID),
|
||||
fieldWithPath("assignedActions.[]._links.self").type(JsonFieldType.OBJECT)
|
||||
.description(MgmtApiModelProperties.LINK_TO_ACTION),
|
||||
fieldWithPath("total").type(JsonFieldType.NUMBER)
|
||||
.description(MgmtApiModelProperties.DS_TOTAL_ASSIGNED_TARGETS))));
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -395,9 +395,8 @@ public class TargetResourceDocumentationTest extends AbstractApiRestDocumentatio
|
||||
public void switchActionToForced() throws Exception {
|
||||
final Target target = testdataFactory.createTarget(targetId);
|
||||
final DistributionSet set = testdataFactory.createDistributionSet();
|
||||
final Long actionId = deploymentManagement
|
||||
.assignDistributionSet(set.getId(), ActionType.SOFT, 0, Arrays.asList(target.getControllerId()))
|
||||
.getActionIds().get(0);
|
||||
final Long actionId = getFirstAssignedActionId(deploymentManagement.assignDistributionSet(set.getId(),
|
||||
ActionType.SOFT, 0, Collections.singletonList(target.getControllerId())));
|
||||
assertThat(deploymentManagement.findAction(actionId).get().getActionType()).isEqualTo(ActionType.SOFT);
|
||||
|
||||
final Map<String, Object> body = new HashMap<>();
|
||||
@@ -490,8 +489,12 @@ public class TargetResourceDocumentationTest extends AbstractApiRestDocumentatio
|
||||
@Test
|
||||
@Description("Handles the POST request for assigning a distribution set to a specific target. Required Permission: READ_REPOSITORY and UPDATE_TARGET.")
|
||||
public void postAssignDistributionSetToTarget() throws Exception {
|
||||
testdataFactory.createTarget(targetId);
|
||||
// create target and ds, and assign ds
|
||||
testdataFactory.createTarget(targetId + "-old");
|
||||
final DistributionSet set = testdataFactory.createDistributionSet("one");
|
||||
assignDistributionSet(set.getId(), targetId + "-old");
|
||||
|
||||
testdataFactory.createTarget(targetId);
|
||||
|
||||
final long forceTime = System.currentTimeMillis();
|
||||
final String body = new JSONObject().put("id", set.getId()).put("type", "timeforced")
|
||||
@@ -502,7 +505,7 @@ public class TargetResourceDocumentationTest extends AbstractApiRestDocumentatio
|
||||
|
||||
mockMvc.perform(post(MgmtRestConstants.TARGET_V1_REQUEST_MAPPING + "/{targetId}/"
|
||||
+ MgmtRestConstants.TARGET_V1_ASSIGNED_DISTRIBUTION_SET, targetId).content(body)
|
||||
.contentType(MediaType.APPLICATION_JSON_UTF8))
|
||||
.contentType(MediaType.APPLICATION_JSON_UTF8))
|
||||
.andDo(MockMvcResultPrinter.print()).andExpect(status().isOk())
|
||||
.andDo(this.document.document(
|
||||
pathParameters(parameterWithName("targetId").description(ApiModelPropertiesGeneric.ITEM_ID)),
|
||||
@@ -524,6 +527,12 @@ public class TargetResourceDocumentationTest extends AbstractApiRestDocumentatio
|
||||
fieldWithPath("assigned").description(MgmtApiModelProperties.DS_NEW_ASSIGNED_TARGETS),
|
||||
fieldWithPath("alreadyAssigned").type(JsonFieldType.NUMBER)
|
||||
.description(MgmtApiModelProperties.DS_ALREADY_ASSIGNED_TARGETS),
|
||||
fieldWithPath("assignedActions").type(JsonFieldType.ARRAY)
|
||||
.description(MgmtApiModelProperties.DS_NEW_ASSIGNED_ACTIONS),
|
||||
fieldWithPath("assignedActions.[].id").type(JsonFieldType.NUMBER)
|
||||
.description(MgmtApiModelProperties.ACTION_ID),
|
||||
fieldWithPath("assignedActions.[]._links.self").type(JsonFieldType.OBJECT)
|
||||
.description(MgmtApiModelProperties.LINK_TO_ACTION),
|
||||
fieldWithPath("total").type(JsonFieldType.NUMBER)
|
||||
.description(MgmtApiModelProperties.DS_TOTAL_ASSIGNED_TARGETS))));
|
||||
}
|
||||
@@ -630,7 +639,7 @@ public class TargetResourceDocumentationTest extends AbstractApiRestDocumentatio
|
||||
final String knownValue = "knownValue";
|
||||
final Target testTarget = testdataFactory.createTarget(targetId);
|
||||
targetManagement.createMetaData(testTarget.getControllerId(),
|
||||
Arrays.asList(entityFactory.generateTargetMetadata(knownKey, knownValue)));
|
||||
Collections.singletonList(entityFactory.generateTargetMetadata(knownKey, knownValue)));
|
||||
|
||||
mockMvc.perform(get(MgmtRestConstants.TARGET_V1_REQUEST_MAPPING + "/{targetId}/metadata/{metadatakey}",
|
||||
testTarget.getControllerId(), knownKey)).andDo(MockMvcResultPrinter.print()).andExpect(status().isOk())
|
||||
@@ -652,7 +661,7 @@ public class TargetResourceDocumentationTest extends AbstractApiRestDocumentatio
|
||||
|
||||
final Target testTarget = testdataFactory.createTarget(targetId);
|
||||
targetManagement.createMetaData(testTarget.getControllerId(),
|
||||
Arrays.asList(entityFactory.generateTargetMetadata(knownKey, knownValue)));
|
||||
Collections.singletonList(entityFactory.generateTargetMetadata(knownKey, knownValue)));
|
||||
|
||||
final JSONObject jsonObject = new JSONObject().put("key", knownKey).put("value", updateValue);
|
||||
|
||||
@@ -679,7 +688,7 @@ public class TargetResourceDocumentationTest extends AbstractApiRestDocumentatio
|
||||
|
||||
final Target testTarget = testdataFactory.createTarget(targetId);
|
||||
targetManagement.createMetaData(testTarget.getControllerId(),
|
||||
Arrays.asList(entityFactory.generateTargetMetadata(knownKey, knownValue)));
|
||||
Collections.singletonList(entityFactory.generateTargetMetadata(knownKey, knownValue)));
|
||||
|
||||
mockMvc.perform(delete(MgmtRestConstants.TARGET_V1_REQUEST_MAPPING + "/{targetId}/metadata/{key}",
|
||||
testTarget.getControllerId(), knownKey)).andDo(MockMvcResultPrinter.print()).andExpect(status().isOk())
|
||||
|
||||
Reference in New Issue
Block a user