Do not remove mock from history after max uses
This commit is contained in:
parent
769199f5d4
commit
fe9ef89970
4 changed files with 9 additions and 12 deletions
|
@ -97,17 +97,15 @@ class ContextExecutor {
|
|||
private synchronized void handleMaxUses(Mock mock) {
|
||||
if (mock.hasLimitedUses()) {
|
||||
mock.decrementUses()
|
||||
removeAndResetIfNeeded(mock)
|
||||
resetIfNeeded(mock)
|
||||
log.debug("Uses left ${mock.usesLeft} of ${mock.maxUses} (is cyclic: ${mock.cyclic})")
|
||||
}
|
||||
}
|
||||
|
||||
private void removeAndResetIfNeeded(Mock mock) {
|
||||
if (mock.shouldBeRemoved()) {
|
||||
mocks.remove(mock)
|
||||
}
|
||||
private void resetIfNeeded(Mock mock) {
|
||||
if (mock.shouldUsesBeReset()) {
|
||||
mock.resetUses()
|
||||
mocks.remove(mock)
|
||||
mocks.add(mock)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -59,7 +59,8 @@ class Mock implements Comparable<Mock> {
|
|||
}
|
||||
|
||||
boolean match(Method method, MockRequest request) {
|
||||
return this.method == method && predicate(request)
|
||||
boolean usesCondition = hasLimitedUses() ? usesLeft > 0 : true
|
||||
return usesCondition && this.method == method && predicate(request)
|
||||
}
|
||||
|
||||
MockResponse apply(MockRequest request) {
|
||||
|
@ -188,12 +189,8 @@ class Mock implements Comparable<Mock> {
|
|||
usesLeft--
|
||||
}
|
||||
|
||||
boolean shouldBeRemoved() {
|
||||
return hasLimitedUses() && usesLeft <= 0
|
||||
}
|
||||
|
||||
boolean shouldUsesBeReset() {
|
||||
return shouldBeRemoved() && cyclic
|
||||
return hasLimitedUses() && usesLeft <= 0 && cyclic
|
||||
}
|
||||
|
||||
void resetUses() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue