summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArne Juul <arnej@yahoo-inc.com>2019-02-19 14:05:15 +0000
committerArne Juul <arnej@yahoo-inc.com>2019-02-20 10:30:48 +0000
commit4235233d61430c7da8b55988e8744b95d91a7ed4 (patch)
tree6813d1cdb7281612fcf6b85259cddabce51dfb10
parent92599c56d62226a32e1e4df4321123c9691db73d (diff)
add unit test for network port list serialization
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/SerializationTest.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/SerializationTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/SerializationTest.java
index 29229efc662..53f6b745da1 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/SerializationTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/SerializationTest.java
@@ -8,6 +8,7 @@ import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.ApplicationName;
import com.yahoo.config.provision.ClusterMembership;
import com.yahoo.config.provision.InstanceName;
+import com.yahoo.config.provision.NetworkPorts;
import com.yahoo.config.provision.NodeFlavors;
import com.yahoo.config.provision.NodeType;
import com.yahoo.config.provision.TenantName;
@@ -29,8 +30,11 @@ import org.junit.Test;
import java.nio.charset.StandardCharsets;
import java.time.Duration;
import java.time.Instant;
+import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collection;
import java.util.Collections;
+import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
@@ -371,6 +375,31 @@ public class SerializationTest {
assertEquals("some model", node.modelName().get());
}
+ @Test
+ public void testNodeWithNetworkPorts() {
+ Node node = createNode();
+ List<NetworkPorts.Allocation> list = new ArrayList<>();
+ list.add(new NetworkPorts.Allocation(8080, "container", "default/0", "http"));
+ list.add(new NetworkPorts.Allocation(19101, "searchnode", "other/1", "rpc"));
+ NetworkPorts ports = new NetworkPorts(list);
+ node = node.allocate(ApplicationId.from(TenantName.from("myTenant"),
+ ApplicationName.from("myApplication"),
+ InstanceName.from("myInstance")),
+ ClusterMembership.from("content/myId/0/0", Vtag.currentVersion),
+ clock.instant());
+ assertTrue(node.allocation().isPresent());
+ node = node.with(node.allocation().get().withNetworkPorts(ports));
+ assertTrue(node.allocation().isPresent());
+ assertTrue(node.allocation().get().networkPorts().isPresent());
+ Node copy = nodeSerializer.fromJson(Node.State.provisioned, nodeSerializer.toJson(node));
+ assertTrue(copy.allocation().isPresent());
+ assertTrue(copy.allocation().get().networkPorts().isPresent());
+ NetworkPorts portsCopy = node.allocation().get().networkPorts().get();
+ Collection<NetworkPorts.Allocation> listCopy = portsCopy.allocations();
+ assertEquals(list, listCopy);
+ }
+
+
private byte[] createNodeJson(String hostname, String... ipAddress) {
String ipAddressJsonPart = "";
if (ipAddress.length > 0) {