package org.infinispan.server.websocket; import static org.infinispan.assertions.JsonPayloadAssertion.assertThat; import static org.testng.Assert.fail; import org.infinispan.server.websocket.json.JsonObject; import org.testng.annotations.Test; /** * Tests Channel Utils class. * * @author Sebastian Laskawiec */ @Test(testName = "websocket.ChannelUtilsTest", groups = "unit") public class ChannelUtilsTest { public void shouldReturnJsonObjectOnStringValue() throws Exception { //given String value = "new val"; //when JsonObject jsonObject = ChannelUtils.toJSON("key", value, "cacheName"); //then assertThat(jsonObject).hasValue("new val"); } public void shouldReturnJsonObjectOnNumberValue() throws Exception { //given Integer value = 1; //when JsonObject jsonObject = ChannelUtils.toJSON("key", value, "cacheName"); //then assertThat(jsonObject).hasValue(1); } public void shouldReturnJsonObjectOnCharacterValue() throws Exception { //given Character value = 'a'; //when JsonObject jsonObject = ChannelUtils.toJSON("key", value, "cacheName"); //then assertThat(jsonObject).hasValue('a'); } public void shouldReturnJsonObjectOnCustomClassValue() throws Exception { //given class CustomValue { String field1; public String getField1() { return field1; } public void setField1(String field1) { this.field1 = field1; } } CustomValue value = new CustomValue(); value.field1 = "value"; //when JsonObject jsonObject = ChannelUtils.toJSON("key", value, "cacheName"); //then assertThat(jsonObject).hasValue("{\"field1\":\"value\"}"); } public void shouldFailOnSerializingCustomClassWithoutGetters() throws Exception { //given class CustomValue { String field1; } CustomValue value = new CustomValue(); value.field1 = "value"; //when //then try { ChannelUtils.toJSON("key", value, "cacheName"); fail(); } catch (IllegalStateException e) { } } }