/** * Copyright 2015 StreamSets Inc. * * Licensed under the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you 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 com.streamsets.datacollector.runner; import com.fasterxml.jackson.core.JsonFactory; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.ObjectMapper; import com.streamsets.datacollector.json.ObjectMapperFactory; import org.junit.Assert; import org.junit.Test; import java.io.ByteArrayOutputStream; import java.io.IOException; public class TestRuntimeStats { @Test public void testSerialize() throws IOException { long startTime = System.currentTimeMillis(); ByteArrayOutputStream bOut = new ByteArrayOutputStream(); JsonGenerator jsonGenerator = new JsonFactory().createGenerator(bOut); RuntimeStats runtimeStats = new RuntimeStats(); runtimeStats.setBatchCount(1); runtimeStats.setBatchStartTime(startTime); runtimeStats.setCurrentBatchAge(1); runtimeStats.setCurrentSourceOffset("1::0"); runtimeStats.setTimeInCurrentStage(100); runtimeStats.setTimeOfLastReceivedRecord(startTime); runtimeStats.serialize(jsonGenerator); jsonGenerator.close(); String ser = new String(bOut.toByteArray()); ObjectMapper m = ObjectMapperFactory.get(); RuntimeStats runtimeStats1 = m.readValue(ser, RuntimeStats.class); Assert.assertEquals(runtimeStats.getBatchCount(), runtimeStats1.getBatchCount()); Assert.assertEquals(runtimeStats.getBatchStartTime(), runtimeStats1.getBatchStartTime()); Assert.assertEquals(runtimeStats.getCurrentBatchAge(), runtimeStats1.getCurrentBatchAge()); Assert.assertEquals(runtimeStats.getCurrentSourceOffset(), runtimeStats1.getCurrentSourceOffset()); Assert.assertEquals(runtimeStats.getCurrentStage(), runtimeStats1.getCurrentStage()); Assert.assertEquals(runtimeStats.getTimeInCurrentStage(), runtimeStats1.getTimeInCurrentStage()); Assert.assertEquals(runtimeStats.getTimeOfLastReceivedRecord(), runtimeStats1.getTimeOfLastReceivedRecord()); } }