TargetManagement over RepositoryManagement (#2599)

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
This commit is contained in:
Avgustin Marinov
2025-08-07 17:20:22 +03:00
committed by GitHub
parent 08ff739bbe
commit c038c507a9
62 changed files with 692 additions and 1563 deletions

View File

@@ -17,6 +17,8 @@ import java.util.Map;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.eclipse.hawkbit.repository.TargetManagement;
import org.eclipse.hawkbit.repository.TargetManagement.Create;
import org.eclipse.hawkbit.repository.model.RolloutGroup;
import org.eclipse.hawkbit.repository.model.RolloutGroupConditionBuilder;
import org.eclipse.hawkbit.repository.model.RolloutGroupConditions;
@@ -33,22 +35,22 @@ import org.springframework.util.CollectionUtils;
@Slf4j
class JsonBuilder {
static String targets(final List<Target> targets, final boolean withToken) throws JSONException {
static String targets(final List<Create> creates, final boolean withToken) throws JSONException {
final StringBuilder builder = new StringBuilder();
builder.append("[");
int i = 0;
for (final Target target : targets) {
final String address = target.getAddress() != null ? target.getAddress().toString() : null;
final String targetType = target.getTargetType() != null ? target.getTargetType().getId().toString() : null;
final String token = withToken ? target.getSecurityToken() : null;
for (final Create create : creates) {
final String address = create.getAddress() != null ? create.getAddress() : null;
final String targetType = create.getTargetType() != null ? create.getTargetType().getId().toString() : null;
final String token = withToken ? create.getSecurityToken() : null;
builder.append(new JSONObject().put("controllerId", target.getControllerId())
.put("description", target.getDescription()).put("name", target.getName()).put("createdAt", "0")
builder.append(new JSONObject().put("controllerId", create.getControllerId())
.put("description", create.getDescription()).put("name", create.getName()).put("createdAt", "0")
.put("updatedAt", "0").put("createdBy", "systemtest").put("updatedBy", "systemtest")
.put("address", address).put("securityToken", token).put("targetType", targetType).toString());
if (++i < targets.size()) {
if (++i < creates.size()) {
builder.append(",");
}
}
@@ -58,21 +60,21 @@ class JsonBuilder {
return builder.toString();
}
static String targets(final List<Target> targets, final boolean withToken, final long targetTypeId) throws JSONException {
static String targets(final List<Create> creates, final boolean withToken, final long targetTypeId) throws JSONException {
final StringBuilder builder = new StringBuilder();
builder.append("[");
int i = 0;
for (final Target target : targets) {
final String address = target.getAddress() != null ? target.getAddress().toString() : null;
final String token = withToken ? target.getSecurityToken() : null;
for (final Create create : creates) {
final String address = create.getAddress() != null ? create.getAddress() : null;
final String token = withToken ? create.getSecurityToken() : null;
builder.append(new JSONObject().put("controllerId", target.getControllerId())
.put("description", target.getDescription()).put("name", target.getName()).put("createdAt", "0")
builder.append(new JSONObject().put("controllerId", create.getControllerId())
.put("description", create.getDescription()).put("name", create.getName()).put("createdAt", "0")
.put("updatedAt", "0").put("createdBy", "fghdfkjghdfkjh").put("updatedBy", "fghdfkjghdfkjh")
.put("address", address).put("securityToken", token).put("targetType", targetTypeId).toString());
if (++i < targets.size()) {
if (++i < creates.size()) {
builder.append(",");
}
}

View File

@@ -46,6 +46,7 @@ import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants;
import org.eclipse.hawkbit.mgmt.rest.resource.util.ResourceUtility;
import org.eclipse.hawkbit.repository.DistributionSetManagement;
import org.eclipse.hawkbit.repository.TargetFilterQueryManagement.Create;
import org.eclipse.hawkbit.repository.TargetManagement;
import org.eclipse.hawkbit.repository.exception.AssignmentQuotaExceededException;
import org.eclipse.hawkbit.repository.exception.EntityNotFoundException;
import org.eclipse.hawkbit.repository.jpa.repository.ActionRepository;
@@ -1374,8 +1375,7 @@ class MgmtDistributionSetResourceTest extends AbstractManagementApiIntegrationTe
// prepare targets
final Collection<String> knownTargetIds = Arrays.asList("1", "2", "3", "4", "5");
knownTargetIds.forEach(
controllerId -> targetManagement.create(entityFactory.target().create().controllerId(controllerId)));
knownTargetIds.forEach(controllerId -> targetManagement.create(TargetManagement.Create.builder().controllerId(controllerId).build()));
// assign already one target to DS
assignDistributionSet(createdDs.getId(), knownTargetIds.iterator().next());

View File

@@ -18,6 +18,7 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import static org.eclipse.hawkbit.repository.TargetManagement.Create.*;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put;
@@ -32,9 +33,9 @@ public class MgmtTargetGroupResourceTest extends AbstractManagementApiIntegratio
void shouldRetrieveDistinctTargetGroups() throws Exception {
final List<String> expectedGroups = List.of("Europe", "Asia");
targetManagement.create(entityFactory.target().create().controllerId("target1").group("Europe"));
targetManagement.create(entityFactory.target().create().controllerId("target2").group("Asia"));
targetManagement.create(entityFactory.target().create().controllerId("target3").group("Europe"));
targetManagement.create(builder().controllerId("target1").group("Europe").build());
targetManagement.create(builder().controllerId("target2").group("Asia").build());
targetManagement.create(builder().controllerId("target3").group("Europe").build());
mvc.perform(get(MgmtRestConstants.TARGET_GROUP_V1_REQUEST_MAPPING)
.contentType(MediaType.APPLICATION_JSON))
@@ -45,9 +46,9 @@ public class MgmtTargetGroupResourceTest extends AbstractManagementApiIntegratio
@Test
void shouldRetrieveTargetsFilteredByGroupAndParentGroupCorrectly() throws Exception {
targetManagement.create(entityFactory.target().create().controllerId("target1").group("Europe/West"));
targetManagement.create(entityFactory.target().create().controllerId("target2").group("Europe/East"));
targetManagement.create(entityFactory.target().create().controllerId("target3").group("Europe"));
targetManagement.create(builder().controllerId("target1").group("Europe/West").build());
targetManagement.create(builder().controllerId("target2").group("Europe/East").build());
targetManagement.create(builder().controllerId("target3").group("Europe").build());
mvc.perform(get(MgmtRestConstants.TARGET_GROUP_V1_REQUEST_MAPPING + "/assigned")
.param("group", "Europe/East")
@@ -69,9 +70,9 @@ public class MgmtTargetGroupResourceTest extends AbstractManagementApiIntegratio
@Test
void shouldGetAssignedTargetsToSpecificGroup() throws Exception {
targetManagement.create(entityFactory.target().create().controllerId("target1").group("Europe"));
targetManagement.create(entityFactory.target().create().controllerId("target2").group("US"));
targetManagement.create(entityFactory.target().create().controllerId("target3").group("Europe"));
targetManagement.create(builder().controllerId("target1").group("Europe").build());
targetManagement.create(builder().controllerId("target2").group("US").build());
targetManagement.create(builder().controllerId("target3").group("Europe").build());
mvc.perform(get(MgmtRestConstants.TARGET_GROUP_V1_REQUEST_MAPPING + "/Europe/assigned")
.param(MgmtRestConstants.REQUEST_PARAMETER_SORTING, "ID:ASC"))
@@ -83,9 +84,9 @@ public class MgmtTargetGroupResourceTest extends AbstractManagementApiIntegratio
@Test
void shouldAssignListOfTargetsToASpecificGroup() throws Exception {
targetManagement.create(entityFactory.target().create().controllerId("target1").group("Europe"));
targetManagement.create(entityFactory.target().create().controllerId("target2"));
targetManagement.create(entityFactory.target().create().controllerId("target3").group("Europe"));
targetManagement.create(builder().controllerId("target1").group("Europe").build());
targetManagement.create(builder().controllerId("target2").build());
targetManagement.create(builder().controllerId("target3").group("Europe").build());
mvc.perform(put(MgmtRestConstants.TARGET_GROUP_V1_REQUEST_MAPPING + "/newGroup/assigned")
.contentType(MediaType.APPLICATION_JSON)
@@ -113,9 +114,9 @@ public class MgmtTargetGroupResourceTest extends AbstractManagementApiIntegratio
@Test
void shouldAssignListOfTargetsToProvidedGroupWithSubgroup() throws Exception {
targetManagement.create(entityFactory.target().create().controllerId("target1").group("Europe"));
targetManagement.create(entityFactory.target().create().controllerId("target2"));
targetManagement.create(entityFactory.target().create().controllerId("target3").group("US"));
targetManagement.create(builder().controllerId("target1").group("Europe").build());
targetManagement.create(builder().controllerId("target2").build());
targetManagement.create(builder().controllerId("target3").group("US").build());
mvc.perform(put(MgmtRestConstants.TARGET_GROUP_V1_REQUEST_MAPPING + "/assigned")
.contentType(MediaType.APPLICATION_JSON)
@@ -143,9 +144,9 @@ public class MgmtTargetGroupResourceTest extends AbstractManagementApiIntegratio
@Test
void shouldAssignTargetsToProvidedGroupByRsql() throws Exception {
targetManagement.create(entityFactory.target().create().controllerId("target1").group("A"));
targetManagement.create(entityFactory.target().create().controllerId("target2"));
targetManagement.create(entityFactory.target().create().controllerId("shouldNotAssign").group("B"));
targetManagement.create(builder().controllerId("target1").group("A").build());
targetManagement.create(builder().controllerId("target2").build());
targetManagement.create(builder().controllerId("shouldNotAssign").group("B").build());
mvc.perform(put(MgmtRestConstants.TARGET_GROUP_V1_REQUEST_MAPPING + "/C")
.contentType(MediaType.APPLICATION_JSON)
@@ -164,8 +165,8 @@ public class MgmtTargetGroupResourceTest extends AbstractManagementApiIntegratio
@Test
void shouldUnassignTargetsFromGroup() throws Exception {
targetManagement.create(entityFactory.target().create().controllerId("target1").group("Europe"));
targetManagement.create(entityFactory.target().create().controllerId("target2").group("Europe"));
targetManagement.create(builder().controllerId("target1").group("Europe").build());
targetManagement.create(builder().controllerId("target2").group("Europe").build());
mvc.perform(delete(MgmtRestConstants.TARGET_GROUP_V1_REQUEST_MAPPING + "/assigned")
.contentType(MediaType.APPLICATION_JSON)
@@ -188,9 +189,9 @@ public class MgmtTargetGroupResourceTest extends AbstractManagementApiIntegratio
@Test
void shouldUnassignTargetsFromGroupByRsqlFilter() throws Exception {
targetManagement.create(entityFactory.target().create().controllerId("target1").group("Europe"));
targetManagement.create(entityFactory.target().create().controllerId("target2").group("Europe"));
targetManagement.create(entityFactory.target().create().controllerId("nonMatchingTarget").group("Europe"));
targetManagement.create(builder().controllerId("target1").group("Europe").build());
targetManagement.create(builder().controllerId("target2").group("Europe").build());
targetManagement.create(builder().controllerId("nonMatchingTarget").group("Europe").build());
mvc.perform(delete(MgmtRestConstants.TARGET_GROUP_V1_REQUEST_MAPPING)
.contentType(MediaType.APPLICATION_JSON)
@@ -208,11 +209,11 @@ public class MgmtTargetGroupResourceTest extends AbstractManagementApiIntegratio
@Test
void shouldUpdateTargetGroupsOfTargetsMatchingTheRsqlFilter() throws Exception {
targetManagement.create(entityFactory.target().create().controllerId("target1").group("Europe"));
targetManagement.create(entityFactory.target().create().controllerId("target2").group("Europe"));
targetManagement.create(entityFactory.target().create().controllerId("target3").group("Europe"));
targetManagement.create(entityFactory.target().create().controllerId("shouldNotBeUpdated1").group("Europe"));
targetManagement.create(entityFactory.target().create().controllerId("shouldNotBeUpdated2").group("Europe"));
targetManagement.create(builder().controllerId("target1").group("Europe").build());
targetManagement.create(builder().controllerId("target2").group("Europe").build());
targetManagement.create(builder().controllerId("target3").group("Europe").build());
targetManagement.create(builder().controllerId("shouldNotBeUpdated1").group("Europe").build());
targetManagement.create(builder().controllerId("shouldNotBeUpdated2").group("Europe").build());
mvc.perform(put(MgmtRestConstants.TARGET_GROUP_V1_REQUEST_MAPPING)
.contentType(MediaType.APPLICATION_JSON)

View File

@@ -31,7 +31,6 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
@@ -55,7 +54,8 @@ import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants;
import org.eclipse.hawkbit.mgmt.rest.resource.util.ResourceUtility;
import org.eclipse.hawkbit.repository.ActionFields;
import org.eclipse.hawkbit.repository.Identifiable;
import org.eclipse.hawkbit.repository.TargetTypeManagement.Create;
import org.eclipse.hawkbit.repository.TargetManagement.Create;
import org.eclipse.hawkbit.repository.TargetTypeManagement;
import org.eclipse.hawkbit.repository.builder.ActionStatusCreate;
import org.eclipse.hawkbit.repository.exception.EntityAlreadyExistsException;
import org.eclipse.hawkbit.repository.jpa.model.JpaAction;
@@ -89,6 +89,7 @@ import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.orm.jpa.JpaProperties;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Slice;
import org.springframework.data.domain.Sort.Direction;
@@ -153,13 +154,14 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
final String knownNameNotModify = "controllerName";
final Long unassignTargetTypeValue = -1L;
final TargetType targetType = targetTypeManagement.create(Create.builder().name("targettype1").description("targettypedes1").build());
final TargetType targetType = targetTypeManagement.create(
TargetTypeManagement.Create.builder().name("targettype1").description("targettypedes1").build());
final String body = new JSONObject().put("targetType", unassignTargetTypeValue).toString();
// create a target with the created TargetType
targetManagement.create(entityFactory.target().create().controllerId(knownControllerId).name(knownNameNotModify)
.address(knownNewAddress).targetType(targetType.getId()));
targetManagement.create(Create.builder().controllerId(knownControllerId).name(knownNameNotModify)
.address(knownNewAddress).targetType(targetType).build());
mvc.perform(get(MgmtRestConstants.TARGET_V1_REQUEST_MAPPING + "/" + knownControllerId)
.contentType(MediaType.APPLICATION_JSON))
@@ -192,15 +194,16 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
final Long unassignTargetTypeValue = -1L;
final String controllerNewName = "controllerNewName";
final TargetType targetType = targetTypeManagement.create(Create.builder().name("targettype1").description("targettypedes1").build());
final TargetType targetType = targetTypeManagement.create(
TargetTypeManagement.Create.builder().name("targettype1").description("targettypedes1").build());
final String body = new JSONObject()
.put("targetType", unassignTargetTypeValue).put("name", "controllerNewName")
.toString();
// create a target with the created TargetType
targetManagement.create(entityFactory.target().create().controllerId(knownControllerId).name(knownNameNotModify)
.address(knownNewAddress).targetType(targetType.getId()));
targetManagement.create(Create.builder().controllerId(knownControllerId).name(knownNameNotModify)
.address(knownNewAddress).targetType(targetType).build());
mvc.perform(get(MgmtRestConstants.TARGET_V1_REQUEST_MAPPING + "/" + knownControllerId)
.contentType(MediaType.APPLICATION_JSON))
@@ -616,7 +619,7 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
mvc.perform(delete(MgmtRestConstants.TARGET_V1_REQUEST_MAPPING + "/" + knownControllerId))
.andExpect(status().isOk());
assertThat(targetManagement.getByControllerID(knownControllerId)).isNotPresent();
assertThat(targetManagement.getByControllerId(knownControllerId)).isNotPresent();
}
/**
@@ -653,8 +656,8 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
final String body = new JSONObject().put("description", knownNewDescription).toString();
// prepare
targetManagement.create(entityFactory.target().create().controllerId(knownControllerId).name(knownNameNotModify)
.description("old description"));
targetManagement.create(
Create.builder().controllerId(knownControllerId).name(knownNameNotModify).description("old description").build());
mvc.perform(put(MgmtRestConstants.TARGET_V1_REQUEST_MAPPING + "/" + knownControllerId).content(body)
.contentType(MediaType.APPLICATION_JSON))
@@ -664,7 +667,7 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
.andExpect(jsonPath("$.description", equalTo(knownNewDescription)))
.andExpect(jsonPath("$.name", equalTo(knownNameNotModify)));
final Target findTargetByControllerID = targetManagement.getByControllerID(knownControllerId).get();
final Target findTargetByControllerID = targetManagement.getByControllerId(knownControllerId).get();
assertThat(findTargetByControllerID.getDescription()).isEqualTo(knownNewDescription);
assertThat(findTargetByControllerID.getName()).isEqualTo(knownNameNotModify);
}
@@ -680,15 +683,15 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
final String body = new JSONObject().put("description", knownNewDescription).toString();
// prepare
targetManagement.create(entityFactory.target().create().controllerId(knownControllerId).name(knownNameNotModify)
.description("old description"));
targetManagement.create(
Create.builder().controllerId(knownControllerId).name(knownNameNotModify).description("old description").build());
mvc.perform(put(MgmtRestConstants.TARGET_V1_REQUEST_MAPPING + "/" + knownControllerId).content(body)
.contentType(MediaType.APPLICATION_JSON))
.andDo(MockMvcResultPrinter.print())
.andExpect(status().isBadRequest());
final Target findTargetByControllerID = targetManagement.getByControllerID(knownControllerId).get();
final Target findTargetByControllerID = targetManagement.getByControllerId(knownControllerId).get();
assertThat(findTargetByControllerID.getDescription()).isEqualTo("old description");
}
@@ -703,8 +706,7 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
final String body = new JSONObject().put("securityToken", knownNewToken).toString();
// prepare
targetManagement
.create(entityFactory.target().create().controllerId(knownControllerId).name(knownNameNotModify));
targetManagement.create(Create.builder().controllerId(knownControllerId).name(knownNameNotModify).build());
mvc.perform(put(MgmtRestConstants.TARGET_V1_REQUEST_MAPPING + "/" + knownControllerId).content(body)
.contentType(MediaType.APPLICATION_JSON))
@@ -714,7 +716,7 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
.andExpect(jsonPath("$.securityToken", equalTo(knownNewToken)))
.andExpect(jsonPath("$.name", equalTo(knownNameNotModify)));
final Target findTargetByControllerID = targetManagement.getByControllerID(knownControllerId).get();
final Target findTargetByControllerID = targetManagement.getByControllerId(knownControllerId).get();
assertThat(findTargetByControllerID.getSecurityToken()).isEqualTo(knownNewToken);
assertThat(findTargetByControllerID.getName()).isEqualTo(knownNameNotModify);
}
@@ -730,8 +732,7 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
final String body = new JSONObject().put("address", knownNewAddress).toString();
// prepare
targetManagement.create(entityFactory.target().create().controllerId(knownControllerId).name(knownNameNotModify)
.address(knownNewAddress));
targetManagement.create(Create.builder().controllerId(knownControllerId).name(knownNameNotModify).address(knownNewAddress).build());
mvc.perform(put(MgmtRestConstants.TARGET_V1_REQUEST_MAPPING + "/" + knownControllerId).content(body)
.contentType(MediaType.APPLICATION_JSON))
@@ -741,7 +742,7 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
.andExpect(jsonPath("$.address", equalTo(knownNewAddress)))
.andExpect(jsonPath("$.name", equalTo(knownNameNotModify)));
final Target findTargetByControllerID = targetManagement.getByControllerID(knownControllerId).get();
final Target findTargetByControllerID = targetManagement.getByControllerId(knownControllerId).get();
assertThat(findTargetByControllerID.getAddress()).hasToString(knownNewAddress);
assertThat(findTargetByControllerID.getName()).isEqualTo(knownNameNotModify);
}
@@ -1014,7 +1015,7 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
void createTargetWithEmptyNameAndLongControllerId() throws Exception {
final String randomString = randomString(JpaTarget.CONTROLLER_ID_MAX_SIZE);
final Target target = entityFactory.target().create().controllerId(randomString).build();
final Create target = Create.builder().controllerId(randomString).build();
final String targetList = JsonBuilder.targets(List.of(target), false);
@@ -1026,7 +1027,7 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
.andExpect(jsonPath("[0].controllerId", equalTo(randomString)))
.andExpect(jsonPath("[0].name", equalTo(expectedTargetName)));
assertThat(targetManagement.getByControllerID(randomString).get().getName()).isEqualTo(expectedTargetName);
assertThat(targetManagement.getByControllerId(randomString).get().getName()).isEqualTo(expectedTargetName);
}
/**
@@ -1099,12 +1100,11 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
*/
@Test
void createTargetWithInvalidPropertyBadRequest() throws Exception {
final Target test1 = entityFactory.target().create().controllerId("id1")
.name(randomString(NamedEntity.NAME_MAX_SIZE + 1)).build();
final Create test1 = Create.builder().controllerId("id1").name(randomString(NamedEntity.NAME_MAX_SIZE + 1)).build();
final MvcResult mvcResult = mvc
.perform(post(MgmtRestConstants.TARGET_V1_REQUEST_MAPPING)
.content(JsonBuilder.targets(Collections.singletonList(test1), true))
.content(JsonBuilder.targets(List.of(test1), true))
.contentType(MediaType.APPLICATION_JSON))
.andDo(MockMvcResultPrinter.print())
.andExpect(status().isBadRequest())
@@ -1124,14 +1124,14 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
*/
@Test
void createTargetsListReturnsSuccessful() throws Exception {
final Target test1 = entityFactory.target().create().controllerId("id1").name("testname1")
final Create test1 = Create.builder().controllerId("id1").name("testname1")
.securityToken("token").address("amqp://test123/foobar").description("testid1").build();
final Target test2 = entityFactory.target().create().controllerId("id2").name("testname2")
final Create test2 = Create.builder().controllerId("id2").name("testname2")
.description("testid2").build();
final Target test3 = entityFactory.target().create().controllerId("id3").name("testname3")
final Create test3 = Create.builder().controllerId("id3").name("testname3")
.description("testid3").build();
final List<Target> targets = Arrays.asList(test1, test2, test3);
final List<Create> targets = List.of(test1, test2, test3);
final MvcResult mvcResult = mvc
.perform(post("/rest/v1/targets").content(JsonBuilder.targets(targets, true))
@@ -1189,7 +1189,7 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
.andDo(MockMvcResultPrinter.print())
.andExpect(status().is2xxSuccessful());
final Slice<Target> findTargetsAll = targetManagement.findAll(PageRequest.of(0, 100));
final Page<? extends Target> findTargetsAll = targetManagement.findAll(PageRequest.of(0, 100));
final Target target = findTargetsAll.getContent().get(0);
assertThat(targetManagement.count()).isEqualTo(1);
assertThat(target.getControllerId()).isEqualTo(knownControllerId);
@@ -1639,7 +1639,7 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
implicitLock(set);
assertThat(deploymentManagement.getAssignedDistributionSet(target.getControllerId()).get()).isEqualTo(set);
target = targetManagement.getByControllerID(target.getControllerId()).get();
target = targetManagement.getByControllerId(target.getControllerId()).get();
// repeating DS assignment leads again to OK
mvc.perform(post(MgmtRestConstants.TARGET_V1_REQUEST_MAPPING + "/" + target.getControllerId() + "/assignedDS")
@@ -1651,7 +1651,7 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
.andExpect(jsonPath("total", equalTo(1)));
// ...but does not change the target
assertThat(targetManagement.getByControllerID(target.getControllerId()).get()).isEqualTo(target);
assertThat(targetManagement.getByControllerId(target.getControllerId()).get()).isEqualTo(target);
}
/**
@@ -1743,7 +1743,7 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
assertThat(deploymentManagement.getAssignedDistributionSet(target.getControllerId()).get()).isEqualTo(set);
assertThat(deploymentManagement.getInstalledDistributionSet(target.getControllerId()).get()).isEqualTo(set);
target = targetManagement.getByControllerID(target.getControllerId()).get();
target = targetManagement.getByControllerId(target.getControllerId()).get();
assertThat(target.getUpdateStatus()).isEqualTo(TargetUpdateStatus.IN_SYNC);
// repeating DS assignment leads again to OK
@@ -1757,7 +1757,7 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
.andExpect(jsonPath("total", equalTo(1)));
// ...but does not change the target
assertThat(targetManagement.getByControllerID(target.getControllerId()).get()).isEqualTo(target);
assertThat(targetManagement.getByControllerId(target.getControllerId()).get()).isEqualTo(target);
}
@Test
@@ -2460,15 +2460,15 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
final TargetType type1 = testdataFactory.createTargetType("typeWithDs", Set.of(standardDsType));
final TargetType type2 = testdataFactory.createTargetType("typeWithOutDs", Set.of(standardDsType));
final Target test1 = entityFactory.target().create().controllerId("id1").name("targetWithoutType")
final Create test1 = Create.builder().controllerId("id1").name("targetWithoutType")
.securityToken("token").address("amqp://test123/foobar").description("testid1").build();
final Target test2 = entityFactory.target().create().controllerId("id2").name("targetOfType1")
.targetType(type1.getId()).description("testid2").build();
final Target test3 = entityFactory.target().create().controllerId("id3").name("targetOfType2")
.targetType(type2.getId()).description("testid3").build();
final Create test2 = Create.builder().controllerId("id2").name("targetOfType1")
.targetType(type1).description("testid2").build();
final Create test3 = Create.builder().controllerId("id3").name("targetOfType2")
.targetType(type2).description("testid3").build();
final String hrefType1 = "http://localhost/rest/v1/targettypes/" + type1.getId();
final List<Target> targets = Arrays.asList(test1, test2, test3);
final List<Create> targets = List.of(test1, test2, test3);
mvc
.perform(post("/rest/v1/targets").content(JsonBuilder.targets(targets, true))
@@ -2530,10 +2530,9 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
final List<? extends TargetType> targetTypes = testdataFactory.createTargetTypes("targettype", 1);
assertThat(targetTypes).hasSize(1);
final Target target = entityFactory.target().create().controllerId("targetcontroller").name("testtarget")
.targetType(targetTypes.get(0).getId()).build();
final Create target = Create.builder().controllerId("targetcontroller").name("testtarget").targetType(targetTypes.get(0)).build();
final String targetList = JsonBuilder.targets(Collections.singletonList(target), false);
final String targetList = JsonBuilder.targets(List.of(target), false);
// test query target over rest resource
mvc.perform(post(MgmtRestConstants.TARGET_V1_REQUEST_MAPPING).content(targetList)
@@ -2542,7 +2541,7 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
.andExpect(jsonPath("[0].controllerId", equalTo("targetcontroller")))
.andExpect(jsonPath("[0].targetType", equalTo(targetTypes.get(0).getId().intValue())));
assertThat(targetManagement.getByControllerID("targetcontroller").get().getTargetType().getId())
assertThat(targetManagement.getByControllerId("targetcontroller").get().getTargetType().getId())
.isEqualTo(targetTypes.get(0).getId());
}
@@ -2556,7 +2555,7 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
assertThat(targetTypes).hasSize(2);
final String controllerId = "targetcontroller";
final Target target = testdataFactory.createTarget(controllerId, "testtarget", targetTypes.get(0).getId());
final Target target = testdataFactory.createTarget(controllerId, "testtarget", targetTypes.get(0));
assertThat(target).isNotNull();
assertThat(target.getTargetType().getId()).isEqualTo(targetTypes.get(0).getId());
@@ -2583,13 +2582,12 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
assertThat(targetType).isNotPresent();
final String controllerId = "targetcontroller";
final Target target = entityFactory.target().create().controllerId(controllerId).name("testtarget").build();
final Create target = Create.builder().controllerId(controllerId).name("testtarget").build();
final String targetList = JsonBuilder.targets(Collections.singletonList(target), false, unknownTargetTypeId);
final String targetList = JsonBuilder.targets(List.of(target), false, unknownTargetTypeId);
// post target over rest resource
mvc.perform(post(MgmtRestConstants.TARGET_V1_REQUEST_MAPPING).content(targetList)
.contentType(MediaType.APPLICATION_JSON))
mvc.perform(post(MgmtRestConstants.TARGET_V1_REQUEST_MAPPING).content(targetList).contentType(MediaType.APPLICATION_JSON))
.andExpect(status().isNotFound())
.andExpect(jsonPath("message", Matchers.containsString(errorMsg)));
}
@@ -2614,7 +2612,7 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
.andDo(MockMvcResultPrinter.print())
.andExpect(status().isOk());
assertThat(targetManagement.getByControllerID(targetControllerId).get().getTargetType().getId())
assertThat(targetManagement.getByControllerId(targetControllerId).get().getTargetType().getId())
.isEqualTo(targetType.getId());
}
@@ -2663,8 +2661,7 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
assertThat(targetTypes).hasSize(1);
final String targetControllerId = "targetcontroller";
final Target target = testdataFactory.createTarget(targetControllerId, "testtarget",
targetTypes.get(0).getId());
final Target target = testdataFactory.createTarget(targetControllerId, "testtarget", targetTypes.get(0));
assertThat(target).isNotNull();
assertThat(target.getTargetType().getId()).isEqualTo(targetTypes.get(0).getId());
@@ -2674,7 +2671,7 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
.contentType(MediaType.APPLICATION_JSON))
.andExpect(status().isOk());
assertThat(targetManagement.getByControllerID(targetControllerId).get().getTargetType()).isNull();
assertThat(targetManagement.getByControllerId(targetControllerId).get().getTargetType()).isNull();
}
@Test
@@ -2874,12 +2871,11 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
}
private void createTarget(final String controllerId) {
targetManagement.create(entityFactory.target().create().controllerId(controllerId)
.address(IpUtil.createHttpUri("127.0.0.1").toString()));
targetManagement.create(Create.builder().controllerId(controllerId).address(IpUtil.createHttpUri("127.0.0.1").toString()).build());
}
private Target assertTarget(final String controllerId, final String name, final String description) {
final Optional<Target> target1 = targetManagement.getByControllerID(controllerId);
final Optional<Target> target1 = targetManagement.getByControllerId(controllerId);
assertThat(target1).isPresent();
final Target t = target1.get();
assertThat(t.getName()).isEqualTo(name);
@@ -3020,7 +3016,7 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
}
private Target createSingleTarget(final String controllerId, final String name) {
targetManagement.create(entityFactory.target().create().controllerId(controllerId).name(name).description(TARGET_DESCRIPTION_TEST));
targetManagement.create(Create.builder().controllerId(controllerId).name(name).description(TARGET_DESCRIPTION_TEST).build());
return controllerManagement.findOrRegisterTargetIfItDoesNotExist(controllerId, LOCALHOST);
}
@@ -3034,7 +3030,7 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
char character = 'a';
for (int index = 0; index < amount; index++) {
final String str = String.valueOf(character);
targetManagement.create(entityFactory.target().create().controllerId(str).name(str).description(str));
targetManagement.create(Create.builder().controllerId(str).name(str).description(str).build());
controllerManagement.findOrRegisterTargetIfItDoesNotExist(str, LOCALHOST);
character++;
}
@@ -3054,7 +3050,7 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest {
// verify active action
final Slice<Action> actionsByTarget = deploymentManagement.findActionsByTarget(tA.getControllerId(), PAGE);
assertThat(actionsByTarget.getContent()).hasSize(1);
return targetManagement.getByControllerID(tA.getControllerId()).get();
return targetManagement.getByControllerId(tA.getControllerId()).get();
}
private void setupTargetWithMetadata(final String knownControllerId, final String knownKey, final String knownValue) {

View File

@@ -34,6 +34,7 @@ import org.eclipse.hawkbit.exception.SpServerError;
import org.eclipse.hawkbit.im.authentication.SpPermission;
import org.eclipse.hawkbit.mgmt.json.model.MgmtId;
import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants;
import org.eclipse.hawkbit.repository.TargetManagement;
import org.eclipse.hawkbit.repository.TargetTypeManagement.Create;
import org.eclipse.hawkbit.repository.TargetTypeManagement.Update;
import org.eclipse.hawkbit.repository.exception.AssignmentQuotaExceededException;
@@ -458,8 +459,8 @@ class MgmtTargetTypeResourceTest extends AbstractManagementApiIntegrationTest {
String typeName = "TestTypeUsedDelete";
final TargetType testType = createTestTargetTypeInDB(typeName);
targetManagement.create(entityFactory.target().create().controllerId("target").name("TargetOfTestType")
.description("target description").targetType(testType.getId()));
targetManagement.create(TargetManagement.Create.builder()
.controllerId("target").name("TargetOfTestType").description("target description").targetType(testType).build());
assertThat(targetTypeManagement.count()).isEqualTo(1);
assertThat(targetManagement.count()).isEqualTo(1);