Skip to content

Commit b34d852

Browse files
author
Rosie Ellis
committed
unit test
1 parent 7806c73 commit b34d852

3 files changed

Lines changed: 32 additions & 15 deletions

File tree

SingularityService/src/main/java/com/hubspot/singularity/config/SingularityConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2136,7 +2136,7 @@ public boolean allowEmptyRequestInstances() {
21362136
return allowEmptyRequestInstances;
21372137
}
21382138

2139-
public void setallowEmptyRequestInstances(boolean allowEmptyRequestInstances) {
2139+
public void setAllowEmptyRequestInstances(boolean allowEmptyRequestInstances) {
21402140
this.allowEmptyRequestInstances = allowEmptyRequestInstances;
21412141
}
21422142
}

SingularityService/src/main/java/com/hubspot/singularity/data/SingularityValidator.java

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -231,16 +231,12 @@ public SingularityRequest checkSingularityRequest(
231231
request.getId()
232232
);
233233

234-
if (singularityConfiguration.allowEmptyRequestInstances()) {
235-
checkBadRequest(
236-
(
237-
!existingRequest.flatMap(SingularityRequest::getInstances).isPresent() &&
238-
!request.getInstances().isPresent()
239-
) ||
240-
request.getInstances().get() > 0,
241-
"Instances must be greater than 0"
242-
);
234+
checkBadRequest(
235+
!request.getInstances().isPresent() || request.getInstances().get() > 0,
236+
"Instances must be greater than 0"
237+
);
243238

239+
if (singularityConfiguration.allowEmptyRequestInstances()) {
244240
if (
245241
(
246242
request.getRequestType().equals(RequestType.SERVICE) ||
@@ -252,11 +248,6 @@ public SingularityRequest checkSingularityRequest(
252248
request =
253249
request.toBuilder().setInstances(existingRequest.get().getInstances()).build();
254250
}
255-
} else {
256-
checkBadRequest(
257-
!request.getInstances().isPresent() || request.getInstances().get() > 0,
258-
"Instances must be greater than 0"
259-
);
260251
}
261252

262253
checkBadRequest(

SingularityService/src/test/java/com/hubspot/singularity/data/ValidatorTest.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -562,4 +562,30 @@ public void itDoesNotAllowOtherRequestTypesToChange() {
562562
)
563563
);
564564
}
565+
566+
@Test
567+
public void itKeepPreviousInstancesCountWhenEmpty() {
568+
singularityConfiguration.setAllowEmptyRequestInstances(true);
569+
SingularityRequest request = new SingularityRequestBuilder("test", RequestType.WORKER)
570+
.setInstances(Optional.of(5))
571+
.build();
572+
SingularityRequest newRequest = new SingularityRequestBuilder(
573+
"test",
574+
RequestType.WORKER
575+
)
576+
.build();
577+
578+
SingularityRequest returnedRequest = validator.checkSingularityRequest(
579+
newRequest,
580+
Optional.of(request),
581+
Optional.empty(),
582+
Optional.empty()
583+
);
584+
585+
Assertions.assertTrue(returnedRequest.getInstances().isPresent());
586+
Assertions.assertSame(
587+
returnedRequest.getInstances().get(),
588+
request.getInstances().get()
589+
);
590+
}
565591
}

0 commit comments

Comments
 (0)