@Test public void testSimple() throws Exception { TestKafkaAvroJobMonitor monitor = new TestKafkaAvroJobMonitor(GobblinTrackingEvent.SCHEMA$, new NoopSchemaVersionWriter()); monitor.buildMetricsContextAndMetrics(); AvroSerializer<GobblinTrackingEvent> serializer = new AvroBinarySerializer<>(GobblinTrackingEvent.SCHEMA$, new NoopSchemaVersionWriter()); GobblinTrackingEvent event = new GobblinTrackingEvent(0L, "namespace", "event", Maps.<String, String>newHashMap()); Collection<Either<JobSpec, URI>> results = monitor.parseJobSpec(serializer.serializeRecord(event)); Assert.assertEquals(results.size(), 1); Assert.assertEquals(monitor.events.size(), 1); Assert.assertEquals(monitor.events.get(0), event); monitor.shutdownMetrics(); }
@Test public void testUsingSchemaVersion() throws Exception { TestKafkaAvroJobMonitor monitor = new TestKafkaAvroJobMonitor(GobblinTrackingEvent.SCHEMA$, new FixedSchemaVersionWriter()); monitor.buildMetricsContextAndMetrics(); AvroSerializer<GobblinTrackingEvent> serializer = new AvroBinarySerializer<>(GobblinTrackingEvent.SCHEMA$, new FixedSchemaVersionWriter()); GobblinTrackingEvent event = new GobblinTrackingEvent(0L, "namespace", "event", Maps.<String, String>newHashMap()); Collection<Either<JobSpec, URI>> results = monitor.parseJobSpec(serializer.serializeRecord(event)); Assert.assertEquals(results.size(), 1); Assert.assertEquals(monitor.events.size(), 1); Assert.assertEquals(monitor.events.get(0), event); monitor.shutdownMetrics(); }
@Test public void testWrongSchema() throws Exception { TestKafkaAvroJobMonitor monitor = new TestKafkaAvroJobMonitor(GobblinTrackingEvent.SCHEMA$, new NoopSchemaVersionWriter()); monitor.buildMetricsContextAndMetrics(); AvroSerializer<MetricReport> serializer = new AvroBinarySerializer<>(MetricReport.SCHEMA$, new NoopSchemaVersionWriter()); MetricReport event = new MetricReport(Maps.<String, String>newHashMap(), 0L, Lists.<Metric>newArrayList()); Collection<Either<JobSpec, URI>> results = monitor.parseJobSpec(serializer.serializeRecord(event)); Assert.assertEquals(results.size(), 0); Assert.assertEquals(monitor.events.size(), 0); Assert.assertEquals(monitor.getMessageParseFailures().getCount(), 1); monitor.shutdownMetrics(); }
@Test public void testWrongSchemaVersionWriter() throws Exception { TestKafkaAvroJobMonitor monitor = new TestKafkaAvroJobMonitor(GobblinTrackingEvent.SCHEMA$, new NoopSchemaVersionWriter()); monitor.buildMetricsContextAndMetrics(); AvroSerializer<GobblinTrackingEvent> serializer = new AvroBinarySerializer<>(GobblinTrackingEvent.SCHEMA$, new FixedSchemaVersionWriter()); GobblinTrackingEvent event = new GobblinTrackingEvent(0L, "namespace", "event", Maps.<String, String>newHashMap()); Collection<Either<JobSpec, URI>> results = monitor.parseJobSpec(serializer.serializeRecord(event)); Assert.assertEquals(results.size(), 0); Assert.assertEquals(monitor.events.size(), 0); Assert.assertEquals(monitor.getMessageParseFailures().getCount(), 1); monitor.shutdownMetrics(); }