Skip to content

Commit 32aaae3

Browse files
author
Daniil Zulin
committed
Add test for alter topic
Add equals implementations for topic description classes
1 parent 913ba29 commit 32aaae3

15 files changed

+255
-12
lines changed

tests/common/src/main/java/tech/ydb/test/integration/YdbEnvironment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* @author Aleksandr Gorshenin
1010
*/
1111
public class YdbEnvironment {
12-
private static final String YDB_DEFAULT_IMAGE = "ydbplatform/local-ydb:latest";
12+
private static final String YDB_DEFAULT_IMAGE = "ydbplatform/local-ydb:25.1";
1313

1414
private final Supplier<String> ydbEndpoint = createParam("YDB_ENDPOINT", null);
1515
private final Supplier<String> ydbDatabase = createParam("YDB_DATABASE", null);

topic/src/main/java/tech/ydb/topic/description/Consumer.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import java.util.HashMap;
66
import java.util.List;
77
import java.util.Map;
8+
import java.util.Objects;
89
import java.util.stream.Collectors;
910

1011
import javax.annotation.Nonnull;
@@ -140,4 +141,21 @@ public Consumer build() {
140141
return new Consumer(this);
141142
}
142143
}
144+
145+
@Override
146+
public boolean equals(Object o) {
147+
if (o == null || getClass() != o.getClass()) return false;
148+
Consumer consumer = (Consumer) o;
149+
return important == consumer.important &&
150+
Objects.equals(name, consumer.name) &&
151+
Objects.equals(readFrom, consumer.readFrom) &&
152+
Objects.equals(supportedCodecs, consumer.supportedCodecs) &&
153+
Objects.equals(attributes, consumer.attributes) &&
154+
Objects.equals(stats, consumer.stats);
155+
}
156+
157+
@Override
158+
public int hashCode() {
159+
return Objects.hash(name, important, readFrom, supportedCodecs, attributes, stats);
160+
}
143161
}

topic/src/main/java/tech/ydb/topic/description/ConsumerDescription.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33

44
import java.util.List;
5+
import java.util.Objects;
56
import java.util.stream.Collectors;
67

78
import tech.ydb.proto.topic.YdbTopic;
@@ -29,4 +30,15 @@ public List<ConsumerPartitionInfo> getPartitions() {
2930
return partitions;
3031
}
3132

33+
@Override
34+
public boolean equals(Object o) {
35+
if (o == null || getClass() != o.getClass()) return false;
36+
ConsumerDescription that = (ConsumerDescription) o;
37+
return Objects.equals(consumer, that.consumer) && Objects.equals(partitions, that.partitions);
38+
}
39+
40+
@Override
41+
public int hashCode() {
42+
return Objects.hash(consumer, partitions);
43+
}
3244
}

topic/src/main/java/tech/ydb/topic/description/ConsumerPartitionInfo.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.time.Duration;
44
import java.time.Instant;
55
import java.util.List;
6+
import java.util.Objects;
67

78
import tech.ydb.core.utils.ProtobufUtils;
89
import tech.ydb.proto.topic.YdbTopic;
@@ -178,4 +179,22 @@ public int getConnectionNodeId() {
178179
return connectionNodeId;
179180
}
180181
}
182+
183+
@Override
184+
public boolean equals(Object o) {
185+
if (o == null || getClass() != o.getClass()) return false;
186+
ConsumerPartitionInfo that = (ConsumerPartitionInfo) o;
187+
return partitionId == that.partitionId &&
188+
active == that.active &&
189+
Objects.equals(childPartitionIds, that.childPartitionIds) &&
190+
Objects.equals(parentPartitionIds, that.parentPartitionIds) &&
191+
Objects.equals(partitionStats, that.partitionStats) &&
192+
Objects.equals(consumerStats, that.consumerStats) &&
193+
Objects.equals(location, that.location);
194+
}
195+
196+
@Override
197+
public int hashCode() {
198+
return Objects.hash(partitionId, active, childPartitionIds, parentPartitionIds, partitionStats, consumerStats, location);
199+
}
181200
}

topic/src/main/java/tech/ydb/topic/description/MultipleWindowsStat.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import tech.ydb.proto.topic.YdbTopic;
44

5+
import java.util.Objects;
6+
57
/**
68
* @author Nikolay Perfilov
79
*/
@@ -33,4 +35,16 @@ public long getPerHour() {
3335
public long getPerDay() {
3436
return perDay;
3537
}
38+
39+
@Override
40+
public boolean equals(Object o) {
41+
if (o == null || getClass() != o.getClass()) return false;
42+
MultipleWindowsStat that = (MultipleWindowsStat) o;
43+
return perMinute == that.perMinute && perHour == that.perHour && perDay == that.perDay;
44+
}
45+
46+
@Override
47+
public int hashCode() {
48+
return Objects.hash(perMinute, perHour, perDay);
49+
}
3650
}

topic/src/main/java/tech/ydb/topic/description/PartitionInfo.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.util.ArrayList;
44
import java.util.List;
5+
import java.util.Objects;
56

67
import com.google.common.collect.ImmutableList;
78

@@ -86,4 +87,20 @@ public PartitionInfo build() {
8687
return new PartitionInfo(this);
8788
}
8889
}
90+
91+
@Override
92+
public boolean equals(Object o) {
93+
if (o == null || getClass() != o.getClass()) return false;
94+
PartitionInfo that = (PartitionInfo) o;
95+
return partitionId == that.partitionId &&
96+
active == that.active &&
97+
Objects.equals(childPartitionIds, that.childPartitionIds) &&
98+
Objects.equals(parentPartitionIds, that.parentPartitionIds) &&
99+
Objects.equals(partitionStats, that.partitionStats);
100+
}
101+
102+
@Override
103+
public int hashCode() {
104+
return Objects.hash(partitionId, active, childPartitionIds, parentPartitionIds, partitionStats);
105+
}
89106
}

topic/src/main/java/tech/ydb/topic/description/PartitionStats.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.time.Duration;
44
import java.time.Instant;
5+
import java.util.Objects;
56

67
import javax.annotation.Nullable;
78

@@ -126,4 +127,21 @@ public PartitionStats build() {
126127
return new PartitionStats(this);
127128
}
128129
}
130+
131+
@Override
132+
public boolean equals(Object o) {
133+
if (o == null || getClass() != o.getClass()) return false;
134+
PartitionStats that = (PartitionStats) o;
135+
return storeSizeBytes == that.storeSizeBytes &&
136+
partitionNodeId == that.partitionNodeId &&
137+
Objects.equals(partitionOffsets, that.partitionOffsets) &&
138+
Objects.equals(lastWriteTime, that.lastWriteTime) &&
139+
Objects.equals(maxWriteTimeLag, that.maxWriteTimeLag) &&
140+
Objects.equals(bytesWritten, that.bytesWritten);
141+
}
142+
143+
@Override
144+
public int hashCode() {
145+
return Objects.hash(partitionOffsets, storeSizeBytes, lastWriteTime, maxWriteTimeLag, bytesWritten, partitionNodeId);
146+
}
129147
}

topic/src/main/java/tech/ydb/topic/description/SupportedCodecs.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.util.ArrayList;
44
import java.util.List;
5+
import java.util.Objects;
56

67
import com.google.common.collect.ImmutableList;
78

@@ -47,4 +48,16 @@ public SupportedCodecs build() {
4748
return new SupportedCodecs(this);
4849
}
4950
}
51+
52+
@Override
53+
public boolean equals(Object o) {
54+
if (o == null || getClass() != o.getClass()) return false;
55+
SupportedCodecs that = (SupportedCodecs) o;
56+
return Objects.equals(codecs, that.codecs);
57+
}
58+
59+
@Override
60+
public int hashCode() {
61+
return Objects.hashCode(codecs);
62+
}
5063
}

topic/src/main/java/tech/ydb/topic/description/TopicDescription.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.util.ArrayList;
55
import java.util.List;
66
import java.util.Map;
7+
import java.util.Objects;
78

89
import javax.annotation.Nonnull;
910
import javax.annotation.Nullable;
@@ -180,4 +181,25 @@ public TopicDescription build() {
180181
}
181182
}
182183

184+
@Override
185+
public boolean equals(Object o) {
186+
if (o == null || getClass() != o.getClass()) return false;
187+
TopicDescription that = (TopicDescription) o;
188+
return retentionStorageMb == that.retentionStorageMb &&
189+
partitionWriteSpeedBytesPerSecond == that.partitionWriteSpeedBytesPerSecond &&
190+
partitionWriteBurstBytes == that.partitionWriteBurstBytes &&
191+
Objects.equals(partitioningSettings, that.partitioningSettings) &&
192+
Objects.equals(partitions, that.partitions) &&
193+
Objects.equals(retentionPeriod, that.retentionPeriod) &&
194+
Objects.equals(supportedCodecs, that.supportedCodecs) &&
195+
Objects.equals(attributes, that.attributes) &&
196+
Objects.equals(consumers, that.consumers) &&
197+
meteringMode == that.meteringMode &&
198+
Objects.equals(topicStats, that.topicStats);
199+
}
200+
201+
@Override
202+
public int hashCode() {
203+
return Objects.hash(partitioningSettings, partitions, retentionPeriod, retentionStorageMb, supportedCodecs, partitionWriteSpeedBytesPerSecond, partitionWriteBurstBytes, attributes, consumers, meteringMode, topicStats);
204+
}
183205
}

topic/src/main/java/tech/ydb/topic/description/TopicStats.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.time.Duration;
44
import java.time.Instant;
5+
import java.util.Objects;
56

67
import javax.annotation.Nullable;
78

@@ -76,4 +77,19 @@ public TopicStats build() {
7677
return new TopicStats(this);
7778
}
7879
}
80+
81+
@Override
82+
public boolean equals(Object o) {
83+
if (o == null || getClass() != o.getClass()) return false;
84+
TopicStats that = (TopicStats) o;
85+
return storeSizeBytes == that.storeSizeBytes &&
86+
Objects.equals(minLastWriteTime, that.minLastWriteTime) &&
87+
Objects.equals(maxWriteTimeLag, that.maxWriteTimeLag) &&
88+
Objects.equals(bytesWritten, that.bytesWritten);
89+
}
90+
91+
@Override
92+
public int hashCode() {
93+
return Objects.hash(storeSizeBytes, minLastWriteTime, maxWriteTimeLag, bytesWritten);
94+
}
7995
}

0 commit comments

Comments
 (0)