Skip to content

Commit bf05e00

Browse files
committed
fix for running microprofile tests in GitHub Action
1 parent 4c227d4 commit bf05e00

File tree

2 files changed

+26
-12
lines changed

2 files changed

+26
-12
lines changed

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

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
package com.openelements.hedera.base.implementation;
22

3+
import java.util.Objects;
4+
import java.util.Optional;
5+
import java.util.stream.Stream;
6+
37
public enum HederaNetwork {
48

59
PREVIEWNET("previewnet", 297, "https://previewnet.mirrornode.hedera.com/", "https://previewnet.hashio.io/api"),
@@ -48,4 +52,11 @@ public String getName() {
4852
public String getMirrornodeEndpoint() {
4953
return mirrornodeEndpoint;
5054
}
55+
56+
public static Optional<HederaNetwork> findByName(final String name) {
57+
Objects.requireNonNull(name, "name must not be null");
58+
return Stream.of(HederaNetwork.values())
59+
.filter(v -> Objects.equals(v.name.toLowerCase(), name.toLowerCase()))
60+
.findAny();
61+
}
5162
}

hedera-microprofile/src/main/java/com/openelements/hedera/microprofile/ClientProvider.java

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@
1818
import jakarta.enterprise.context.ApplicationScoped;
1919
import jakarta.enterprise.inject.Produces;
2020
import jakarta.inject.Inject;
21-
import java.util.Arrays;
22-
import java.util.Objects;
2321
import org.eclipse.microprofile.config.inject.ConfigProperty;
2422
import org.jspecify.annotations.NonNull;
2523

@@ -38,31 +36,36 @@ public class ClientProvider {
3836
private String network;
3937

4038
private AccountId getAccountId() {
39+
if (network == null) {
40+
throw new IllegalStateException("accountId value is null");
41+
}
4142
try {
4243
return AccountId.fromString(accountIdAsString);
4344
} catch (Exception e) {
44-
throw new IllegalArgumentException("Can not parse 'hedera.newAccountId' property", e);
45+
throw new IllegalArgumentException(
46+
"Can not parse 'hedera.newAccountId' property: '" + accountIdAsString + "'", e);
4547
}
4648
}
4749

4850
private PrivateKey getPrivateKey() {
51+
if (network == null) {
52+
throw new IllegalStateException("privateKey value is null");
53+
}
4954
try {
5055
return PrivateKey.fromString(privateKeyAsString);
5156
} catch (Exception e) {
52-
throw new IllegalArgumentException("Can not parse 'hedera.privateKey' property", e);
57+
throw new IllegalArgumentException(
58+
"Can not parse 'hedera.privateKey' property: '" + privateKeyAsString + "'", e);
5359
}
5460
}
5561

5662
private HederaNetwork getHederaNetwork() {
57-
if (Arrays.stream(HederaNetwork.values()).anyMatch(v -> Objects.equals(v.getName(), network))) {
58-
try {
59-
return HederaNetwork.valueOf(network.toUpperCase());
60-
} catch (Exception e) {
61-
throw new IllegalArgumentException("Can not parse 'hedera.network' property", e);
62-
}
63-
} else {
64-
throw new IllegalArgumentException("'hedera.network' property must be set to a valid value");
63+
if (network == null) {
64+
throw new IllegalStateException("network value is null");
6565
}
66+
return HederaNetwork.findByName(network)
67+
.orElseThrow(() -> new IllegalArgumentException(
68+
"'hedera.network' property must be set to a valid value. Is '" + network + "'"));
6669
}
6770

6871
private Client createClient() {

0 commit comments

Comments
 (0)