Skip to content

Commit 9c14f9d

Browse files
Merge branch 'main' into add-constructor-tests-TopicDeleteRequest
2 parents 9105933 + 8d1b87d commit 9c14f9d

File tree

4 files changed

+42
-6
lines changed

4 files changed

+42
-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: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import com.hedera.hashgraph.sdk.proto.ContractFunctionResultOrBuilder;
1313
import com.hedera.hashgraph.sdk.TokenId;
1414
import com.hedera.hashgraph.sdk.TokenType;
15+
import com.hedera.hashgraph.sdk.TopicId;
1516
import com.openelements.hedera.base.Account;
1617
import com.openelements.hedera.base.ContractParam;
1718
import com.openelements.hedera.base.protocol.AccountBalanceRequest;
@@ -28,6 +29,7 @@
2829
import com.openelements.hedera.base.protocol.ContractDeleteResult;
2930
import com.openelements.hedera.base.protocol.FileAppendRequest;
3031
import com.openelements.hedera.base.protocol.TokenTransferResult;
32+
import com.openelements.hedera.base.protocol.TopicCreateResult;
3133
import com.openelements.hedera.base.protocol.TokenMintResult;
3234
import com.openelements.hedera.base.protocol.TokenCreateResult;
3335
import com.openelements.hedera.base.protocol.TokenBurnResult;
@@ -50,6 +52,7 @@
5052
import com.openelements.hedera.base.protocol.FileCreateRequest;
5153
import com.openelements.hedera.base.protocol.TopicSubmitMessageResult;
5254
import com.openelements.hedera.base.protocol.TopicDeleteRequest;
55+
import com.openelements.hedera.base.protocol.TopicCreateRequest;
5356

5457
import java.lang.reflect.Constructor;
5558
import java.nio.charset.StandardCharsets;
@@ -177,6 +180,17 @@ void testAccountDeleteResultCreation() {
177180
Assertions.assertThrows(NullPointerException.class, () -> new AccountDeleteResult(transactionId, status, null, consensusTimestamp, transactionFee));
178181
}
179182

183+
@Test
184+
void testTopicCreateRequestCreation() {
185+
//given
186+
final Hbar validMaxTransactionFee = Hbar.fromTinybars(1000);
187+
final Duration validTransactionDuration = Duration.ofSeconds(120);
188+
189+
Assertions.assertDoesNotThrow(() -> new TopicCreateRequest(validMaxTransactionFee, validTransactionDuration));
190+
Assertions.assertThrows(NullPointerException.class, () -> new TopicCreateRequest(null, validTransactionDuration));
191+
Assertions.assertThrows(NullPointerException.class, () -> new TopicCreateRequest(validMaxTransactionFee, null));
192+
}
193+
180194
@Test
181195
void testContractCallRequestCreation() {
182196
//given
@@ -750,4 +764,18 @@ void testTopicDeleteRequestCreation() {
750764
Assertions.assertThrows(NullPointerException.class, () -> new TopicDeleteRequest(maxTransactionFee, null, null));
751765
Assertions.assertThrows(NullPointerException.class, () -> new TopicDeleteRequest(null, null, null));
752766
}
767+
768+
@Test
769+
void testTopicCreateResultCreation() {
770+
//given
771+
final TransactionId validTransactionId = TransactionId.fromString("[email protected]");
772+
final Status validStatus =Status.SUCCESS;
773+
final TopicId validTopicId = TopicId.fromString("0.0.12345");
774+
775+
//then
776+
Assertions.assertDoesNotThrow(() -> new TopicCreateResult(validTransactionId,validStatus,validTopicId));
777+
Assertions.assertThrows(NullPointerException.class, () -> new TopicCreateResult(null, validStatus, validTopicId));
778+
Assertions.assertThrows(NullPointerException.class, () -> new TopicCreateResult(validTransactionId, null, validTopicId));
779+
Assertions.assertThrows(NullPointerException.class, () -> new TopicCreateResult(validTransactionId, validStatus, null));
780+
}
753781
}

0 commit comments

Comments
 (0)