diff options
Diffstat (limited to 'clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/matchers/NodeEventForBucketSpace.java')
-rw-r--r-- | clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/matchers/NodeEventForBucketSpace.java | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/matchers/NodeEventForBucketSpace.java b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/matchers/NodeEventForBucketSpace.java new file mode 100644 index 00000000000..e767c871793 --- /dev/null +++ b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/matchers/NodeEventForBucketSpace.java @@ -0,0 +1,45 @@ +package com.yahoo.vespa.clustercontroller.core.matchers; + +import com.yahoo.vespa.clustercontroller.core.NodeEvent; +import org.hamcrest.Description; +import org.hamcrest.Factory; +import org.mockito.ArgumentMatcher; + +import java.util.Optional; + +public class NodeEventForBucketSpace extends ArgumentMatcher<NodeEvent> { + private final Optional<String> bucketSpace; + + public NodeEventForBucketSpace(Optional<String> bucketSpace) { + this.bucketSpace = bucketSpace; + } + + @Override + public boolean matches(Object o) { + if (!(o instanceof NodeEvent)) { + return false; + } + return bucketSpace.equals(((NodeEvent) o).getBucketSpace()); + } + + @Override + public void describeTo(Description description) { + description.appendText(String.format("NodeEvent for bucket space '%s'", bucketSpace.orElse("null"))); + } + + @Override + public void describeMismatch(Object item, Description description) { + NodeEvent other = (NodeEvent)item; + description.appendText(String.format("got bucket space '%s'", other.getBucketSpace().orElse("null"))); + } + + @Factory + public static NodeEventForBucketSpace nodeEventForBucketSpace(String bucketSpace) { + return new NodeEventForBucketSpace(Optional.of(bucketSpace)); + } + + @Factory + public static NodeEventForBucketSpace nodeEventForBaseline() { + return new NodeEventForBucketSpace(Optional.empty()); + } +} |