Skip to content

Commit 3ad77d2

Browse files
Merge branch 'main' into constructor-tests-for-TopicSubmitMessageRequest
2 parents 772b4f8 + 8d1b87d commit 3ad77d2

File tree

4 files changed

+40
-6
lines changed

4 files changed

+40
-6
lines changed

hedera-base/pom.xml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,12 @@
2222
<dependency>
2323
<groupId>com.hedera.hashgraph</groupId>
2424
<artifactId>sdk</artifactId>
25+
</dependency>
26+
<dependency>
27+
<groupId>io.github.cdimascio</groupId>
28+
<artifactId>dotenv-java</artifactId>
29+
<version>2.3.2</version>
30+
<scope>test</scope>
2531
</dependency>
2632
<dependency>
2733
<groupId>org.slf4j</groupId>
@@ -47,11 +53,6 @@
4753
<artifactId>grpc-inprocess</artifactId>
4854
<scope>test</scope>
4955
</dependency>
50-
<dependency>
51-
<groupId>io.github.cdimascio</groupId>
52-
<artifactId>dotenv-java</artifactId>
53-
<scope>test</scope>
54-
</dependency>
5556
<dependency>
5657
<groupId>org.slf4j</groupId>
5758
<artifactId>slf4j-simple</artifactId>

hedera-base/src/main/java/com/openelements/hedera/base/implementation/ProtocolLayerClientImpl.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,8 @@ public AccountDeleteResult executeAccountDeleteTransaction(@NonNull final Accoun
310310
public TopicCreateResult executeTopicCreateTransaction(@NonNull final TopicCreateRequest request)
311311
throws HederaException {
312312
Objects.requireNonNull(request, "request must not be null");
313+
Objects.requireNonNull(request.maxTransactionFee(), "maxTransactionFee must not be null");
314+
Objects.requireNonNull(request.transactionValidDuration(), "transactionValidDuration must not be null");
313315
try {
314316
final TopicCreateTransaction transaction = new TopicCreateTransaction()
315317
.setMaxTransactionFee(request.maxTransactionFee())

hedera-base/src/main/java/com/openelements/hedera/base/protocol/TopicCreateRequest.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,12 @@ public record TopicCreateRequest(@NonNull Hbar maxTransactionFee,
99
@NonNull Duration transactionValidDuration) implements TransactionRequest {
1010

1111
public TopicCreateRequest {
12-
12+
if (maxTransactionFee == null) {
13+
throw new NullPointerException("maxTransactionFee cannot be null");
14+
}
15+
if (transactionValidDuration == null) {
16+
throw new NullPointerException("transactionValidDuration cannot be null");
17+
}
1318
}
1419

1520
public static TopicCreateRequest of() {

hedera-base/src/test/java/com/openelements/hedera/base/test/ProtocolLayerDataCreationTests.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import com.openelements.hedera.base.protocol.ContractDeleteResult;
2929
import com.openelements.hedera.base.protocol.FileAppendRequest;
3030
import com.openelements.hedera.base.protocol.TokenTransferResult;
31+
import com.openelements.hedera.base.protocol.TopicCreateResult;
3132
import com.openelements.hedera.base.protocol.TokenMintResult;
3233
import com.openelements.hedera.base.protocol.TokenCreateResult;
3334
import com.openelements.hedera.base.protocol.TokenBurnResult;
@@ -50,6 +51,7 @@
5051
import com.openelements.hedera.base.protocol.FileCreateRequest;
5152
import com.openelements.hedera.base.protocol.TopicSubmitMessageResult;
5253
import com.openelements.hedera.base.protocol.TopicSubmitMessageRequest;
54+
import com.openelements.hedera.base.protocol.TopicCreateRequest;
5355

5456
import java.lang.reflect.Constructor;
5557
import java.nio.charset.StandardCharsets;
@@ -177,6 +179,17 @@ void testAccountDeleteResultCreation() {
177179
Assertions.assertThrows(NullPointerException.class, () -> new AccountDeleteResult(transactionId, status, null, consensusTimestamp, transactionFee));
178180
}
179181

182+
@Test
183+
void testTopicCreateRequestCreation() {
184+
//given
185+
final Hbar validMaxTransactionFee = Hbar.fromTinybars(1000);
186+
final Duration validTransactionDuration = Duration.ofSeconds(120);
187+
188+
Assertions.assertDoesNotThrow(() -> new TopicCreateRequest(validMaxTransactionFee, validTransactionDuration));
189+
Assertions.assertThrows(NullPointerException.class, () -> new TopicCreateRequest(null, validTransactionDuration));
190+
Assertions.assertThrows(NullPointerException.class, () -> new TopicCreateRequest(validMaxTransactionFee, null));
191+
}
192+
180193
@Test
181194
void testContractCallRequestCreation() {
182195
//given
@@ -751,4 +764,17 @@ void testTopicSubmitMessageRequestCreation() {
751764
Assertions.assertThrows(NullPointerException.class, () -> new TopicSubmitMessageRequest(validMaxTransactionFee, validTransactionValidDuration, validTopicId, null));
752765
}
753766

767+
@Test
768+
void testTopicCreateResultCreation() {
769+
//given
770+
final TransactionId validTransactionId = TransactionId.fromString("[email protected]");
771+
final Status validStatus =Status.SUCCESS;
772+
final TopicId validTopicId = TopicId.fromString("0.0.12345");
773+
774+
//then
775+
Assertions.assertDoesNotThrow(() -> new TopicCreateResult(validTransactionId,validStatus,validTopicId));
776+
Assertions.assertThrows(NullPointerException.class, () -> new TopicCreateResult(null, validStatus, validTopicId));
777+
Assertions.assertThrows(NullPointerException.class, () -> new TopicCreateResult(validTransactionId, null, validTopicId));
778+
Assertions.assertThrows(NullPointerException.class, () -> new TopicCreateResult(validTransactionId, validStatus, null));
779+
}
754780
}

0 commit comments

Comments
 (0)