diff --git a/sdk/src/main/java/com/hedera/hashgraph/sdk/Network.java b/sdk/src/main/java/com/hedera/hashgraph/sdk/Network.java index ca930b5df..33665958b 100644 --- a/sdk/src/main/java/com/hedera/hashgraph/sdk/Network.java +++ b/sdk/src/main/java/com/hedera/hashgraph/sdk/Network.java @@ -234,7 +234,10 @@ synchronized Map getNetwork() { @Override protected Node createNodeFromNetworkEntry(Map.Entry entry) { - return new Node(entry.getValue(), entry.getKey(), executor).setVerifyCertificates(verifyCertificates); + var addressBookEntry = addressBook != null ? addressBook.get(entry.getValue()) : null; + return new Node(entry.getValue(), entry.getKey(), executor) + .setAddressBookEntry(addressBookEntry) + .setVerifyCertificates(verifyCertificates); } /** diff --git a/sdk/src/test/java/com/hedera/hashgraph/sdk/ClientTest.java b/sdk/src/test/java/com/hedera/hashgraph/sdk/ClientTest.java index 6eb5d38bd..71ebb8db6 100644 --- a/sdk/src/test/java/com/hedera/hashgraph/sdk/ClientTest.java +++ b/sdk/src/test/java/com/hedera/hashgraph/sdk/ClientTest.java @@ -445,4 +445,23 @@ void setNetworkFromAddressBook() throws Exception { assertThat(nodeAddress.apply(10002).publicKey).isEqualTo("810002"); } } + + @Test + @DisplayName("Is TLS present when node is created by network entry") + void assignAddressBookOnNodeCreationWhenAddressBookPresentShouldHaveTLSParametersPresent() + throws TimeoutException, InterruptedException { + var client = Client.forTestnet(); + client.setNetwork(Map.of("1.2.3.4:50211", AccountId.fromString("0.0.3"))); + + assertThat(client.network.nodes.get(0).getChannelCredentials()).isNotNull(); + + var addressBookEntry = client.network.nodes.get(0).getAddressBookEntry(); + + assertThat(addressBookEntry).isNotNull(); + assertThat(addressBookEntry.certHash).isNotNull(); + assertThat(addressBookEntry.addresses).isNotNull(); + assertThat(addressBookEntry.accountId).isNotNull(); + assertThat(addressBookEntry.description).isNotNull(); + client.close(); + } }