This is an automated email from the ASF dual-hosted git repository.
jshao pushed a commit to branch branch-0.6
in repository https://gitbox.apache.org/repos/asf/gravitino.git
The following commit(s) were added to refs/heads/branch-0.6 by this push:
new 383508868 [#1903] feat(clients): add equals for `GravitinoMetalake`.
(#4492)
383508868 is described below
commit 383508868324770b4d877e3019b7bf620a900a82
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Mon Aug 12 20:45:42 2024 +0800
[#1903] feat(clients): add equals for `GravitinoMetalake`. (#4492)
### What changes were proposed in this pull request?
Add `equals()` and unit tests for `GravitinoMetalake`.
### Why are the changes needed?
As issue mentioned, `GravitinoMetalake` class should have an equals
method.
Fix: #1903
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
Unit test cases has been added.
Co-authored-by: Edward Xu <[email protected]>
---
.../apache/gravitino/client/GravitinoMetalake.java | 14 +++++++++++
.../gravitino/client/TestGravitinoMetalake.java | 27 +++++++++++++++++++++-
2 files changed, 40 insertions(+), 1 deletion(-)
diff --git
a/clients/client-java/src/main/java/org/apache/gravitino/client/GravitinoMetalake.java
b/clients/client-java/src/main/java/org/apache/gravitino/client/GravitinoMetalake.java
index b7fd5d943..08685e1a2 100644
---
a/clients/client-java/src/main/java/org/apache/gravitino/client/GravitinoMetalake.java
+++
b/clients/client-java/src/main/java/org/apache/gravitino/client/GravitinoMetalake.java
@@ -843,6 +843,20 @@ public class GravitinoMetalake extends MetalakeDTO
implements SupportsCatalogs,
}
}
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+
+ if (!(o instanceof GravitinoMetalake)) {
+ return false;
+ }
+
+ GravitinoMetalake that = (GravitinoMetalake) o;
+ return super.equals(that);
+ }
+
/** @return the builder for creating a new instance of GravitinoMetaLake. */
public static Builder builder() {
return new Builder();
diff --git
a/clients/client-java/src/test/java/org/apache/gravitino/client/TestGravitinoMetalake.java
b/clients/client-java/src/test/java/org/apache/gravitino/client/TestGravitinoMetalake.java
index 48ade28d1..78280d2a3 100644
---
a/clients/client-java/src/test/java/org/apache/gravitino/client/TestGravitinoMetalake.java
+++
b/clients/client-java/src/test/java/org/apache/gravitino/client/TestGravitinoMetalake.java
@@ -69,6 +69,8 @@ public class TestGravitinoMetalake extends TestBase {
private static final String provider = "test";
+ private static final Instant testStartTime = Instant.now();
+
protected static GravitinoClient gravitinoClient;
@BeforeAll
@@ -701,14 +703,37 @@ public class TestGravitinoMetalake extends TestBase {
Assertions.assertTrue(ex1.getMessage().contains("mock error"));
}
+ @Test
+ public void testEquals() throws JsonProcessingException {
+ GravitinoMetalake metalake1 = createMetalake(client, "test", true);
+ GravitinoMetalake metalake2 = createMetalake(client, "test", true);
+ GravitinoMetalake metalake3 = createMetalake(client, "another-test", true);
+ GravitinoMetalake metalake4 = createMetalake(client, "test");
+ Assertions.assertEquals(metalake1, metalake1);
+ Assertions.assertEquals(metalake1, metalake2);
+ Assertions.assertNotEquals(metalake1, metalake3);
+ Assertions.assertNotEquals(metalake1, metalake4);
+ Assertions.assertNotEquals(metalake1, null);
+ Assertions.assertNotEquals(metalake1, new Object());
+ }
+
static GravitinoMetalake createMetalake(GravitinoAdminClient client, String
metalakeName)
throws JsonProcessingException {
+ return createMetalake(client, metalakeName, false);
+ }
+
+ static GravitinoMetalake createMetalake(
+ GravitinoAdminClient client, String metalakeName, boolean fixedAudit)
+ throws JsonProcessingException {
MetalakeDTO mockMetalake =
MetalakeDTO.builder()
.withName(metalakeName)
.withComment("comment")
.withAudit(
-
AuditDTO.builder().withCreator("creator").withCreateTime(Instant.now()).build())
+ AuditDTO.builder()
+ .withCreator("creator")
+ .withCreateTime(fixedAudit ? testStartTime : Instant.now())
+ .build())
.build();
MetalakeCreateRequest req =
new MetalakeCreateRequest(metalakeName, "comment",
Collections.emptyMap());