private static LogSyncResponse convert(LogServerSync source) { if (source == null) { return null; } LogSyncResponse sync = new LogSyncResponse(); List<org.kaaproject.kaa.common.endpoint.gen.LogDeliveryStatus> statuses = new ArrayList<>(); for (LogDeliveryStatus status : source.getDeliveryStatuses()) { statuses.add(convert(status)); } sync.setDeliveryStatuses(statuses); return sync; }
@Override public LogSyncResponse build() { try { LogSyncResponse record = new LogSyncResponse(); record.deliveryStatuses = fieldSetFlags()[0] ? this.deliveryStatuses : (java.util.List<org.kaaproject.kaa.common.endpoint.gen.LogDeliveryStatus>) defaultValue(fields()[0]); return record; } catch (Exception e) { throw new org.apache.avro.AvroRuntimeException(e); } } }
@Test public void onEventResponse() throws Exception { LogProcessor processor = Mockito.mock(LogProcessor.class); LogTransport transport = new DefaultLogTransport(); LogSyncResponse response = new LogSyncResponse(); transport.onLogResponse(response); transport.setLogProcessor(processor); transport.onLogResponse(response); Mockito.verify(processor, Mockito.times(1)).onLogResponse(response); }
LogSyncResponse response = new LogSyncResponse(statuses); logCollector.onLogResponse(response);
private void testMaxParallelUploadHelper(int maxParallelUpload) throws Exception { KaaChannelManager channelManager = Mockito.mock(KaaChannelManager.class); FailoverManager failoverManager = Mockito.mock(FailoverManager.class); LogTransport transport = Mockito.mock(LogTransport.class); AbstractLogCollector logCollector = new DefaultLogCollector(transport, executorContext, channelManager, failoverManager); DefaultLogUploadStrategy strategy = Mockito.spy(new DefaultLogUploadStrategy()); strategy.setMaxParallelUploads(maxParallelUpload); logCollector.setStrategy(strategy); LogSyncRequest request = Mockito.spy(new LogSyncRequest()); List<LogDeliveryStatus> statuses = new ArrayList<>(); for (int i = 0; i < maxParallelUpload; i++) { logCollector.addLogRecord(new Log()); logCollector.fillSyncRequest(request); statuses.add(new LogDeliveryStatus(request.getRequestId(), SyncResponseResultType.SUCCESS, null)); } logCollector.addLogRecord(new Log()); logCollector.fillSyncRequest(request); Mockito.verify(request, Mockito.times(maxParallelUpload)).setRequestId(Mockito.any(Integer.class)); if (statuses.isEmpty() && maxParallelUpload == 0) { return; } LogSyncResponse response = new LogSyncResponse(statuses); logCollector.onLogResponse(response); Mockito.reset(request); logCollector.fillSyncRequest(request); Mockito.verify(request, Mockito.times(1)).setRequestId(Mockito.any(Integer.class)); }
response.setLogSyncResponse(new LogSyncResponse(Collections.singletonList(status)));
LogSyncResponse response = new LogSyncResponse(); List<LogDeliveryStatus> statuses = new ArrayList<>(); LogDeliveryStatus status = new LogDeliveryStatus(defaultId, SyncResponseResultType.SUCCESS, null);
LogSyncResponse uploadResponse = new LogSyncResponse(); LogDeliveryStatus status = new LogDeliveryStatus(request1.getRequestId(), SyncResponseResultType.FAILURE, LogDeliveryErrorCode.NO_APPENDERS_CONFIGURED);
LogSyncResponse uploadResponse = new LogSyncResponse(); LogDeliveryStatus status = new LogDeliveryStatus(request1.getRequestId(), SyncResponseResultType.SUCCESS, null); uploadResponse.setDeliveryStatuses(Collections.singletonList(status));
@Test public void testResponseWithNullTransports() throws Exception { KaaClientState state = Mockito.mock(KaaClientState.class); DefaultOperationDataProcessor operationsDataProcessor = new DefaultOperationDataProcessor(state); SyncResponse response = new SyncResponse(); response.setStatus(SyncResponseResultType.SUCCESS); response.setConfigurationSyncResponse(new ConfigurationSyncResponse(SyncResponseStatus.DELTA, null, null)); response.setEventSyncResponse(new EventSyncResponse()); response.setNotificationSyncResponse(new NotificationSyncResponse(SyncResponseStatus.DELTA, null, null)); response.setProfileSyncResponse(new ProfileSyncResponse(SyncResponseStatus.DELTA)); response.setRedirectSyncResponse(new RedirectSyncResponse(1)); response.setUserSyncResponse(new UserSyncResponse()); LogDeliveryStatus status = new LogDeliveryStatus(REQUEST_ID, SyncResponseResultType.SUCCESS, null); response.setLogSyncResponse(new LogSyncResponse(Collections.singletonList(status))); AvroByteArrayConverter<SyncResponse> converter = new AvroByteArrayConverter<>(SyncResponse.class); operationsDataProcessor.processResponse(converter.toByteArray(response)); }