Skip to content

Commit 1d087c0

Browse files
authored
fix(microprofile): return configured chainId and relayUrl in HieroConfigImpl (#91)
* fix(microprofile): return chainId and relayUrl from HieroConfigImpl (#90) Signed-off-by: Aman <amkr6207@gmail.com> * test(microprofile): add custom network empty chainId/relayUrl coverage Signed-off-by: Aman <amkr6207@gmail.com> --------- Signed-off-by: Aman <amkr6207@gmail.com>
1 parent c6d2f45 commit 1d087c0

2 files changed

Lines changed: 105 additions & 2 deletions

File tree

hiero-enterprise-microprofile/src/main/java/org/hiero/microprofile/implementation/HieroConfigImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,11 +93,11 @@ public Optional<Duration> getRequestTimeout() {
9393

9494
@Override
9595
public @NonNull Optional<Long> chainId() {
96-
return Optional.empty();
96+
return Optional.ofNullable(chainId);
9797
}
9898

9999
@Override
100100
public @NonNull Optional<String> relayUrl() {
101-
return Optional.empty();
101+
return Optional.ofNullable(relayUrl);
102102
}
103103
}
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
package org.hiero.microprofile.test;
2+
3+
import static org.junit.jupiter.api.Assertions.assertEquals;
4+
5+
import com.hedera.hashgraph.sdk.PrivateKey;
6+
import java.util.Optional;
7+
import java.util.Set;
8+
import org.hiero.base.config.ConsensusNode;
9+
import org.hiero.microprofile.HieroNetworkConfiguration;
10+
import org.hiero.microprofile.HieroOperatorConfiguration;
11+
import org.hiero.microprofile.implementation.HieroConfigImpl;
12+
import org.junit.jupiter.api.Test;
13+
14+
class HieroConfigImplTest {
15+
16+
@Test
17+
void shouldExposeChainIdAndRelayUrlFromKnownNetworkSettings() {
18+
final HieroOperatorConfiguration operatorConfiguration =
19+
new HieroOperatorConfiguration() {
20+
@Override
21+
public String getAccountId() {
22+
return "0.0.1001";
23+
}
24+
25+
@Override
26+
public String getPrivateKey() {
27+
return PrivateKey.generateED25519().toString();
28+
}
29+
};
30+
31+
final HieroNetworkConfiguration networkConfiguration =
32+
new HieroNetworkConfiguration() {
33+
@Override
34+
public Optional<String> getName() {
35+
return Optional.of("hedera-testnet");
36+
}
37+
38+
@Override
39+
public Optional<String> getMirrornode() {
40+
return Optional.empty();
41+
}
42+
43+
@Override
44+
public Optional<Long> getRequestTimeoutInMs() {
45+
return Optional.empty();
46+
}
47+
48+
@Override
49+
public Set<ConsensusNode> getNodes() {
50+
return Set.of();
51+
}
52+
};
53+
54+
final HieroConfigImpl config = new HieroConfigImpl(operatorConfiguration, networkConfiguration);
55+
56+
assertEquals(Optional.of(296L), config.chainId());
57+
assertEquals(Optional.of("https://testnet.hashio.io/api"), config.relayUrl());
58+
}
59+
60+
@Test
61+
void shouldReturnEmptyChainIdAndRelayUrlForCustomNetwork() {
62+
final HieroOperatorConfiguration operatorConfiguration =
63+
new HieroOperatorConfiguration() {
64+
@Override
65+
public String getAccountId() {
66+
return "0.0.1001";
67+
}
68+
69+
@Override
70+
public String getPrivateKey() {
71+
return PrivateKey.generateED25519().toString();
72+
}
73+
};
74+
75+
final HieroNetworkConfiguration networkConfiguration =
76+
new HieroNetworkConfiguration() {
77+
@Override
78+
public Optional<String> getName() {
79+
return Optional.of("custom-network");
80+
}
81+
82+
@Override
83+
public Optional<String> getMirrornode() {
84+
return Optional.empty();
85+
}
86+
87+
@Override
88+
public Optional<Long> getRequestTimeoutInMs() {
89+
return Optional.empty();
90+
}
91+
92+
@Override
93+
public Set<ConsensusNode> getNodes() {
94+
return Set.of();
95+
}
96+
};
97+
98+
final HieroConfigImpl config = new HieroConfigImpl(operatorConfiguration, networkConfiguration);
99+
100+
assertEquals(Optional.empty(), config.chainId());
101+
assertEquals(Optional.empty(), config.relayUrl());
102+
}
103+
}

0 commit comments

Comments
 (0)