Test check complete of distribution set (#859)
* fix the logic that marks distributionSet as complete * DistributionSets without SoftwareModules shall not be marked as complete, when no Software Module is assigned Signed-off-by: Ravindranath Sandeep (INST-IOT/ESW-Imb) <Sandeep.Ravindranath@bosch-si.com> * test to verify that the distributionSet is complete or not * change test description Signed-off-by: Nazife Basbaz <nazife.basbaz@bosch-si.com>
This commit is contained in:
committed by
Stefan Behl
parent
effb1e24ad
commit
2e37f85c2f
@@ -210,8 +210,8 @@ public class JpaDistributionSetType extends AbstractJpaNamedEntity implements Di
|
||||
|
||||
@Override
|
||||
public boolean checkComplete(final DistributionSet distributionSet) {
|
||||
List<SoftwareModuleType> smTypes = distributionSet.getModules().stream().map(SoftwareModule::getType)
|
||||
.collect(Collectors.toList());
|
||||
final List<SoftwareModuleType> smTypes = distributionSet.getModules().stream().map(SoftwareModule::getType)
|
||||
.distinct().collect(Collectors.toList());
|
||||
if (smTypes.isEmpty()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@@ -33,6 +34,7 @@ import org.eclipse.hawkbit.repository.model.DistributionSet;
|
||||
import org.eclipse.hawkbit.repository.model.DistributionSetType;
|
||||
import org.eclipse.hawkbit.repository.model.NamedEntity;
|
||||
import org.eclipse.hawkbit.repository.model.NamedVersionedEntity;
|
||||
import org.eclipse.hawkbit.repository.model.SoftwareModule;
|
||||
import org.eclipse.hawkbit.repository.test.matcher.Expect;
|
||||
import org.eclipse.hawkbit.repository.test.matcher.ExpectEvents;
|
||||
import org.junit.Test;
|
||||
@@ -347,4 +349,18 @@ public class DistributionSetTypeManagementTest extends AbstractJpaIntegrationTes
|
||||
assertThat(distributionSetTypeManagement.getByKey("softdeleted").get().isDeleted()).isEqualTo(true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Description("Verifies that when no SoftwareModules are assigned to a Distribution then the DistributionSet is not complete.")
|
||||
public void shouldFailWhenDistributionSetHasNoSoftwareModulesAssigned() {
|
||||
|
||||
final JpaDistributionSetType jpaDistributionSetType = (JpaDistributionSetType) distributionSetTypeManagement
|
||||
.create(entityFactory.distributionSetType().create().key("newType").name("new Type"));
|
||||
|
||||
final List<SoftwareModule> softwareModules = new ArrayList<>();
|
||||
|
||||
final DistributionSet distributionSet = testdataFactory.createDistributionSet("DistributionOne", "3.1.2",
|
||||
jpaDistributionSetType, softwareModules);
|
||||
|
||||
assertThat(jpaDistributionSetType.checkComplete(distributionSet)).isFalse();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user