Пример #1
0
  @Test
  public void testEquals() {
    PhysicalPartition db1_1 = new PhysicalPartition(1, "db1");
    DatabusSubscription sub1 =
        new DatabusSubscription(
            new PhysicalSource("uri1"),
            db1_1,
            new LogicalSourceId(new LogicalSource(101, "source1"), (short) 2));
    Assert.assertTrue(!sub1.equals(null));
    Assert.assertTrue(!sub1.equals(db1_1));

    DatabusSubscription sub2 =
        new DatabusSubscription(
            new PhysicalSource("uri1"),
            db1_1,
            new LogicalSourceId(new LogicalSource(101, "source1"), (short) 2));

    Assert.assertEquals(sub1, sub2);

    DatabusSubscription sub3 =
        new DatabusSubscription(
            new PhysicalSource("uri1"),
            db1_1,
            new LogicalSourceId(new LogicalSource(101, "source1"), (short) 3));
    Assert.assertTrue(!sub1.equals(sub3));

    // LogicalSource wildcard
    DatabusSubscription sub4 =
        new DatabusSubscription(
            new PhysicalSource("uri1"),
            db1_1,
            new LogicalSourceId(LogicalSource.createAllSourcesWildcard(), (short) 2));
    Assert.assertEquals(sub4, sub1);

    // different logical partitions
    DatabusSubscription sub5 =
        new DatabusSubscription(
            new PhysicalSource("uri1"),
            db1_1,
            new LogicalSourceId(LogicalSource.createAllSourcesWildcard(), (short) 1));
    Assert.assertNotEquals(sub5, sub1);

    // same logical partition number but different logical source
    DatabusSubscription sub6 =
        new DatabusSubscription(
            new PhysicalSource("uri1"),
            db1_1,
            new LogicalSourceId(new LogicalSource(102, "source2"), (short) 2));
    Assert.assertNotEquals(sub6, sub1);

    // logical source with unknown logical source id
    DatabusSubscription sub7 =
        new DatabusSubscription(
            new PhysicalSource("uri1"),
            db1_1,
            new LogicalSourceId(new LogicalSource("source1"), (short) 2));
    Assert.assertEquals(sub7, sub1);

    // logical partition wildcard
    DatabusSubscription sub8 =
        new DatabusSubscription(
            new PhysicalSource("uri1"),
            db1_1,
            LogicalSourceId.createAllPartitionsWildcard(new LogicalSource("source1")));
    Assert.assertEquals(sub8, sub1);

    // logical partition wildcard but different logical source
    DatabusSubscription sub9 =
        new DatabusSubscription(
            new PhysicalSource("uri1"),
            db1_1,
            LogicalSourceId.createAllPartitionsWildcard(new LogicalSource("source2")));
    Assert.assertNotEquals(sub9, sub1);

    // logical partition wildcard and logical soruce wildcard
    DatabusSubscription sub10 =
        new DatabusSubscription(
            new PhysicalSource("uri1"),
            db1_1,
            LogicalSourceId.createAllPartitionsWildcard(LogicalSource.createAllSourcesWildcard()));
    Assert.assertEquals(sub10, sub1);
  }
Пример #2
0
  @Test
  public void testLogicalSourceIdJsonSerDeser() throws Exception {
    LogicalSourceId lsourceId1 =
        new LogicalSourceId(new LogicalSource(1234, "mytest.source"), (short) 10);
    Assert.assertEquals(lsourceId1.getSource().getId().intValue(), 1234);
    Assert.assertEquals(lsourceId1.getSource().getName(), "mytest.source");
    Assert.assertEquals(lsourceId1.getId().shortValue(), (short) 10);

    String lsourceId1Json = lsourceId1.toJsonString();
    LogicalSourceId lsourceId1_new = LogicalSourceId.createFromJsonString(lsourceId1Json);
    Assert.assertEquals(lsourceId1, lsourceId1_new);

    String lsourceId2Json = "{\"source\":{\"name\":\"mysource2\"}}";
    LogicalSourceId lsourceId2_new = LogicalSourceId.createFromJsonString(lsourceId2Json);
    Assert.assertEquals(lsourceId2_new.getSource().getName(), "mysource2");
    Assert.assertEquals(
        lsourceId2_new.getSource().getId(), LogicalSource.UNKNOWN_LOGICAL_SOURCE_ID);
    Assert.assertEquals(lsourceId2_new.getId(), LogicalSourceId.ALL_LOGICAL_PARTITIONS_ID);

    String lsourceId3Json = "{\"source\":{\"name\":\"mysource3\",\"id\":666},\"id\":999}";
    LogicalSourceId lsourceId3_new = LogicalSourceId.createFromJsonString(lsourceId3Json);
    Assert.assertEquals(lsourceId3_new.getSource().getName(), "mysource3");
    Assert.assertEquals(lsourceId3_new.getSource().getId().intValue(), 666);
    Assert.assertEquals(lsourceId3_new.getId().intValue(), 999);
  }