/* * Copyright 2014-2016 CyberVision, 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. */ package org.kaaproject.kaa.server.operations.pojo; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import org.junit.Test; import org.kaaproject.kaa.server.sync.ConfigurationServerSync; import org.kaaproject.kaa.server.sync.EndpointAttachResponse; import org.kaaproject.kaa.server.sync.EndpointDetachResponse; import org.kaaproject.kaa.server.sync.Event; import org.kaaproject.kaa.server.sync.EventListenersResponse; import org.kaaproject.kaa.server.sync.EventServerSync; import org.kaaproject.kaa.server.sync.LogServerSync; import org.kaaproject.kaa.server.sync.NotificationServerSync; import org.kaaproject.kaa.server.sync.ProfileServerSync; import org.kaaproject.kaa.server.sync.ServerSync; import org.kaaproject.kaa.server.sync.SyncResponseStatus; import org.kaaproject.kaa.server.sync.UserAttachResponse; import org.kaaproject.kaa.server.sync.UserServerSync; import java.util.ArrayList; public class SyncResponseHolderTest { @Test public void requireReplyTestForProfile() { ServerSync response = new ServerSync(); response.setProfileSync(new ProfileServerSync()); response.getProfileSync().setResponseStatus(SyncResponseStatus.NO_DELTA); assertFalse(new SyncContext(response).requireImmediateReply()); response.getProfileSync().setResponseStatus(SyncResponseStatus.DELTA); assertTrue(new SyncContext(response).requireImmediateReply()); } @Test public void requireReplyTestForConfig() { ServerSync response = new ServerSync(); response.setConfigurationSync(new ConfigurationServerSync()); response.getConfigurationSync().setResponseStatus(SyncResponseStatus.NO_DELTA); assertFalse(new SyncContext(response).requireImmediateReply()); response.getConfigurationSync().setResponseStatus(SyncResponseStatus.DELTA); assertTrue(new SyncContext(response).requireImmediateReply()); } @Test public void requireReplyTestForNotification() { ServerSync response = new ServerSync(); response.setNotificationSync(new NotificationServerSync()); response.getNotificationSync().setResponseStatus(SyncResponseStatus.NO_DELTA); assertFalse(new SyncContext(response).requireImmediateReply()); response.getNotificationSync().setResponseStatus(SyncResponseStatus.DELTA); assertTrue(new SyncContext(response).requireImmediateReply()); } @Test public void requireReplyTestForEvents() { ServerSync response = new ServerSync(); response.setEventSync(new EventServerSync()); assertFalse(new SyncContext(response).requireImmediateReply()); response.getEventSync().setEvents(new ArrayList<Event>()); assertFalse(new SyncContext(response).requireImmediateReply()); response.getEventSync().getEvents().add(new Event()); assertTrue(new SyncContext(response).requireImmediateReply()); } @Test public void requireReplyTestForEventListeners() { ServerSync response = new ServerSync(); response.setEventSync(new EventServerSync()); assertFalse(new SyncContext(response).requireImmediateReply()); response.getEventSync().setEventListenersResponses(new ArrayList<EventListenersResponse>()); assertFalse(new SyncContext(response).requireImmediateReply()); response.getEventSync().getEventListenersResponses().add(new EventListenersResponse()); assertTrue(new SyncContext(response).requireImmediateReply()); } @Test public void requireReplyTestForUserAttach() { ServerSync response = new ServerSync(); response.setUserSync(new UserServerSync()); assertFalse(new SyncContext(response).requireImmediateReply()); response.getUserSync().setUserAttachResponse(new UserAttachResponse()); assertTrue(new SyncContext(response).requireImmediateReply()); } @Test public void requireReplyTestForEndpointAttach() { ServerSync response = new ServerSync(); response.setUserSync(new UserServerSync()); assertFalse(new SyncContext(response).requireImmediateReply()); response.getUserSync().setEndpointAttachResponses(new ArrayList<EndpointAttachResponse>()); assertFalse(new SyncContext(response).requireImmediateReply()); response.getUserSync().getEndpointAttachResponses().add(new EndpointAttachResponse()); assertTrue(new SyncContext(response).requireImmediateReply()); } @Test public void requireReplyTestForEndpointDetach() { ServerSync response = new ServerSync(); response.setUserSync(new UserServerSync()); assertFalse(new SyncContext(response).requireImmediateReply()); response.getUserSync().setEndpointDetachResponses(new ArrayList<EndpointDetachResponse>()); assertFalse(new SyncContext(response).requireImmediateReply()); response.getUserSync().getEndpointDetachResponses().add(new EndpointDetachResponse()); assertTrue(new SyncContext(response).requireImmediateReply()); } @Test public void requireReplyTestForLogs() { ServerSync response = new ServerSync(); response.setLogSync(new LogServerSync()); assertTrue(new SyncContext(response).requireImmediateReply()); } }