/* * #%L * carewebframework * %% * Copyright (C) 2008 - 2016 Regenstrief Institute, Inc. * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * This Source Code Form is also subject to the terms of the Health-Related * Additional Disclaimer of Warranty and Limitation of Liability available at * * http://www.carewebframework.org/licensing/disclaimer. * * #L% */ package org.carewebframework.api; import static org.junit.Assert.assertEquals; import java.util.ArrayList; import java.util.List; import org.carewebframework.api.event.PingFilter; import org.carewebframework.api.event.PingFilter.PingFilterType; import org.carewebframework.api.event.PingRequest; import org.carewebframework.api.messaging.Message; import org.carewebframework.api.messaging.PublisherInfo; import org.carewebframework.api.messaging.Recipient; import org.carewebframework.api.messaging.Recipient.RecipientType; import org.carewebframework.common.JSONUtil; import org.junit.Test; public class SerializationTest { @Test public void testSerialization() { List<PingFilter> filters = new ArrayList<>(); filters.add(new PingFilter(PingFilterType.APP_NAME, "testApp")); filters.add(new PingFilter(PingFilterType.SENTINEL_EVENT, "testEvent")); Recipient requestor = new Recipient(RecipientType.CONSUMER, "testRequestor"); PingRequest pingRequest = new PingRequest("TEST.RESPONSE", filters, requestor); String data = JSONUtil.serialize(pingRequest); pingRequest = (PingRequest) JSONUtil.deserialize(data); assertEquals("TEST.RESPONSE", pingRequest.responseEvent); assertEquals(filters, pingRequest.filters); assertEquals(requestor, pingRequest.requestor); PublisherInfo publisherInfo = new PublisherInfo(); publisherInfo.setAppName("appName"); publisherInfo.setConsumerId("consumerId"); publisherInfo.setProducerId("producerId"); publisherInfo.setSessionId("sessionId"); publisherInfo.setUserId("userId"); publisherInfo.setUserName("userName"); data = JSONUtil.serialize(publisherInfo); publisherInfo = (PublisherInfo) JSONUtil.deserialize(data); assertEquals("appName", publisherInfo.getAppName()); assertEquals("consumerId", publisherInfo.getConsumerId()); assertEquals("producerId", publisherInfo.getProducerId()); assertEquals("sessionId", publisherInfo.getSessionId()); assertEquals("userId", publisherInfo.getUserId()); assertEquals("userName", publisherInfo.getUserName()); Message message = new Message("messageType", "payload"); message.setMetadata("test1", requestor); data = JSONUtil.serialize(message); Message message2 = (Message) JSONUtil.deserialize(data); assertEquals(message.getType(), message2.getType()); } }