package org.infinispan.assertions; import static org.testng.Assert.assertTrue; import static org.testng.AssertJUnit.assertEquals; import org.infinispan.server.websocket.OpHandler; import org.infinispan.server.websocket.json.JsonObject; /** * Custom assertion for easier testing OpHandlers * * @author Sebastian Laskawiec */ public class JsonPayloadAssertion { private JsonObject assertedNode; public JsonPayloadAssertion(JsonObject assertedNode) { this.assertedNode = assertedNode; } public static JsonPayloadAssertion assertThat(JsonObject assertedNode) { return new JsonPayloadAssertion(assertedNode); } public JsonPayloadAssertion hasCacheName(String cacheName) { assertEquals(cacheName, assertedNode.get(OpHandler.CACHE_NAME)); return this; } public JsonPayloadAssertion hasKey(String key) { assertEquals(key, assertedNode.get(OpHandler.KEY)); return this; } public JsonPayloadAssertion hasValue(Object value) { assertEquals(value, assertedNode.get(OpHandler.VALUE)); return this; } public JsonPayloadAssertion hasMimeType(String mimeType) { assertEquals(mimeType, assertedNode.get(OpHandler.MIME)); return this; } public JsonPayloadAssertion hasFields(String key, String value) { assertTrue(assertedNode.containsKey(key)); assertEquals(value, assertedNode.get(key)); return this; } }