@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); }
@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); }