Search in sources :

Example 1 with AtlasKafkaMessage

use of org.apache.atlas.kafka.AtlasKafkaMessage in project atlas by apache.

the class AbstractNotificationConsumerTest method testReceive.

@Test
public void testReceive() throws Exception {
    Logger logger = mock(Logger.class);
    TestMessage testMessage1 = new TestMessage("sValue1", 99);
    TestMessage testMessage2 = new TestMessage("sValue2", 98);
    TestMessage testMessage3 = new TestMessage("sValue3", 97);
    TestMessage testMessage4 = new TestMessage("sValue4", 96);
    List jsonList = new LinkedList<>();
    jsonList.add(AtlasType.toV1Json(new AtlasNotificationMessage<>(new MessageVersion("1.0.0"), testMessage1)));
    jsonList.add(AtlasType.toV1Json(new AtlasNotificationMessage<>(new MessageVersion("1.0.0"), testMessage2)));
    jsonList.add(AtlasType.toV1Json(new AtlasNotificationMessage<>(new MessageVersion("1.0.0"), testMessage3)));
    jsonList.add(AtlasType.toV1Json(new AtlasNotificationMessage<>(new MessageVersion("1.0.0"), testMessage4)));
    NotificationConsumer<TestMessage> consumer = new TestNotificationConsumer(jsonList, logger);
    List<AtlasKafkaMessage<TestMessage>> messageList = consumer.receive();
    assertFalse(messageList.isEmpty());
    assertEquals(messageList.get(0).getMessage(), testMessage1);
    assertEquals(messageList.get(1).getMessage(), testMessage2);
    assertEquals(messageList.get(2).getMessage(), testMessage3);
    assertEquals(messageList.get(3).getMessage(), testMessage4);
}
Also used : MessageVersion(org.apache.atlas.model.notification.MessageVersion) AtlasNotificationMessage(org.apache.atlas.model.notification.AtlasNotificationMessage) ArrayList(java.util.ArrayList) List(java.util.List) LinkedList(java.util.LinkedList) AtlasKafkaMessage(org.apache.atlas.kafka.AtlasKafkaMessage) Logger(org.slf4j.Logger) LinkedList(java.util.LinkedList) Test(org.testng.annotations.Test)

Example 2 with AtlasKafkaMessage

use of org.apache.atlas.kafka.AtlasKafkaMessage in project atlas by apache.

the class AbstractNotificationConsumerTest method testNextForwardVersion.

@Test
public void testNextForwardVersion() throws Exception {
    Logger logger = mock(Logger.class);
    TestMessage testMessage1 = new TestMessage("sValue1", 99);
    TestMessage testMessage2 = new TestMessage("sValue2", 98);
    List jsonList = new LinkedList<>();
    String json1 = AtlasType.toV1Json(new AtlasNotificationMessage<>(new MessageVersion("1.0.0"), testMessage1));
    String json2 = AtlasType.toV1Json(new AtlasNotificationMessage<>(new MessageVersion("2.0.0"), testMessage2));
    jsonList.add(json1);
    jsonList.add(json2);
    NotificationConsumer<TestMessage> consumer = new TestNotificationConsumer(jsonList, logger);
    try {
        List<AtlasKafkaMessage<TestMessage>> messageList = consumer.receive();
        messageList.get(1).getMessage();
        fail("Expected VersionMismatchException!");
    } catch (IncompatibleVersionException e) {
    }
}
Also used : MessageVersion(org.apache.atlas.model.notification.MessageVersion) ArrayList(java.util.ArrayList) List(java.util.List) LinkedList(java.util.LinkedList) AtlasKafkaMessage(org.apache.atlas.kafka.AtlasKafkaMessage) Logger(org.slf4j.Logger) LinkedList(java.util.LinkedList) Test(org.testng.annotations.Test)

Example 3 with AtlasKafkaMessage

use of org.apache.atlas.kafka.AtlasKafkaMessage in project atlas by apache.

the class AbstractNotificationConsumerTest method testNextBackVersion.

@Test
public void testNextBackVersion() throws Exception {
    Logger logger = mock(Logger.class);
    TestMessage testMessage1 = new TestMessage("sValue1", 99);
    TestMessage testMessage2 = new TestMessage("sValue2", 98);
    TestMessage testMessage3 = new TestMessage("sValue3", 97);
    TestMessage testMessage4 = new TestMessage("sValue4", 96);
    List jsonList = new LinkedList<>();
    String json1 = AtlasType.toV1Json(new AtlasNotificationMessage<>(new MessageVersion("1.0.0"), testMessage1));
    String json2 = AtlasType.toV1Json(new AtlasNotificationMessage<>(new MessageVersion("0.0.5"), testMessage2));
    String json3 = AtlasType.toV1Json(new AtlasNotificationMessage<>(new MessageVersion("0.5.0"), testMessage3));
    String json4 = AtlasType.toV1Json(testMessage4);
    jsonList.add(json1);
    jsonList.add(json2);
    jsonList.add(json3);
    jsonList.add(json4);
    NotificationConsumer<TestMessage> consumer = new TestNotificationConsumer(jsonList, logger);
    List<AtlasKafkaMessage<TestMessage>> messageList = consumer.receive();
    assertEquals(new TestMessage("sValue1", 99), messageList.get(0).getMessage());
    assertEquals(new TestMessage("sValue2", 98), messageList.get(1).getMessage());
    assertEquals(new TestMessage("sValue3", 97), messageList.get(2).getMessage());
    assertEquals(new TestMessage("sValue4", 96), messageList.get(3).getMessage());
}
Also used : MessageVersion(org.apache.atlas.model.notification.MessageVersion) ArrayList(java.util.ArrayList) List(java.util.List) LinkedList(java.util.LinkedList) AtlasKafkaMessage(org.apache.atlas.kafka.AtlasKafkaMessage) Logger(org.slf4j.Logger) LinkedList(java.util.LinkedList) Test(org.testng.annotations.Test)

Example 4 with AtlasKafkaMessage

use of org.apache.atlas.kafka.AtlasKafkaMessage in project incubator-atlas by apache.

the class AbstractNotificationConsumerTest method testNextBackVersion.

@Test
public void testNextBackVersion() throws Exception {
    Logger logger = mock(Logger.class);
    TestMessage testMessage1 = new TestMessage("sValue1", 99);
    TestMessage testMessage2 = new TestMessage("sValue2", 98);
    TestMessage testMessage3 = new TestMessage("sValue3", 97);
    TestMessage testMessage4 = new TestMessage("sValue4", 96);
    List jsonList = new LinkedList<>();
    String json1 = GSON.toJson(new VersionedMessage<>(new MessageVersion("1.0.0"), testMessage1));
    String json2 = GSON.toJson(new VersionedMessage<>(new MessageVersion("0.0.5"), testMessage2));
    String json3 = GSON.toJson(new VersionedMessage<>(new MessageVersion("0.5.0"), testMessage3));
    String json4 = GSON.toJson(testMessage4);
    jsonList.add(json1);
    jsonList.add(json2);
    jsonList.add(json3);
    jsonList.add(json4);
    Type versionedMessageType = new TypeToken<VersionedMessage<TestMessage>>() {
    }.getType();
    NotificationConsumer<TestMessage> consumer = new TestNotificationConsumer<>(versionedMessageType, jsonList, logger);
    List<AtlasKafkaMessage<TestMessage>> messageList = consumer.receive();
    assertEquals(new TestMessage("sValue1", 99), messageList.get(0).getMessage());
    assertEquals(new TestMessage("sValue2", 98), messageList.get(1).getMessage());
    assertEquals(new TestMessage("sValue3", 97), messageList.get(2).getMessage());
    assertEquals(new TestMessage("sValue4", 96), messageList.get(3).getMessage());
}
Also used : Logger(org.slf4j.Logger) LinkedList(java.util.LinkedList) Type(java.lang.reflect.Type) ArrayList(java.util.ArrayList) List(java.util.List) LinkedList(java.util.LinkedList) AtlasKafkaMessage(org.apache.atlas.kafka.AtlasKafkaMessage) Test(org.testng.annotations.Test)

Example 5 with AtlasKafkaMessage

use of org.apache.atlas.kafka.AtlasKafkaMessage in project incubator-atlas by apache.

the class AbstractNotificationConsumerTest method testNextForwardVersion.

@Test
public void testNextForwardVersion() throws Exception {
    Logger logger = mock(Logger.class);
    TestMessage testMessage1 = new TestMessage("sValue1", 99);
    TestMessage testMessage2 = new TestMessage("sValue2", 98);
    List jsonList = new LinkedList<>();
    String json1 = GSON.toJson(new VersionedMessage<>(new MessageVersion("1.0.0"), testMessage1));
    String json2 = GSON.toJson(new VersionedMessage<>(new MessageVersion("2.0.0"), testMessage2));
    jsonList.add(json1);
    jsonList.add(json2);
    Type versionedMessageType = new TypeToken<VersionedMessage<TestMessage>>() {
    }.getType();
    NotificationConsumer<TestMessage> consumer = new TestNotificationConsumer<>(versionedMessageType, jsonList, logger);
    try {
        List<AtlasKafkaMessage<TestMessage>> messageList = consumer.receive();
        messageList.get(1).getMessage();
        fail("Expected VersionMismatchException!");
    } catch (IncompatibleVersionException e) {
    }
}
Also used : Logger(org.slf4j.Logger) LinkedList(java.util.LinkedList) Type(java.lang.reflect.Type) ArrayList(java.util.ArrayList) List(java.util.List) LinkedList(java.util.LinkedList) AtlasKafkaMessage(org.apache.atlas.kafka.AtlasKafkaMessage) Test(org.testng.annotations.Test)

Aggregations

AtlasKafkaMessage (org.apache.atlas.kafka.AtlasKafkaMessage)10 Test (org.testng.annotations.Test)10 ArrayList (java.util.ArrayList)6 LinkedList (java.util.LinkedList)6 List (java.util.List)6 Logger (org.slf4j.Logger)6 Type (java.lang.reflect.Type)3 MessageVersion (org.apache.atlas.model.notification.MessageVersion)3 HookNotification (org.apache.atlas.notification.hook.HookNotification)2 EntityStream (org.apache.atlas.repository.store.graph.v1.EntityStream)2 Referenceable (org.apache.atlas.typesystem.Referenceable)2 EntityCreateRequest (org.apache.atlas.v1.model.notification.HookNotificationV1.EntityCreateRequest)2 TopicPartition (org.apache.kafka.common.TopicPartition)2 AtlasNotificationMessage (org.apache.atlas.model.notification.AtlasNotificationMessage)1 Referenceable (org.apache.atlas.v1.model.instance.Referenceable)1