aboutsummaryrefslogtreecommitdiffstats
path: root/config-provisioning/src/test/java/com/yahoo/config/provision/NodeResourcesTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-provisioning/src/test/java/com/yahoo/config/provision/NodeResourcesTest.java')
-rw-r--r--config-provisioning/src/test/java/com/yahoo/config/provision/NodeResourcesTest.java46
1 files changed, 42 insertions, 4 deletions
diff --git a/config-provisioning/src/test/java/com/yahoo/config/provision/NodeResourcesTest.java b/config-provisioning/src/test/java/com/yahoo/config/provision/NodeResourcesTest.java
index 71d20e5bbd2..65ec070d744 100644
--- a/config-provisioning/src/test/java/com/yahoo/config/provision/NodeResourcesTest.java
+++ b/config-provisioning/src/test/java/com/yahoo/config/provision/NodeResourcesTest.java
@@ -1,22 +1,27 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.config.provision;
+import com.yahoo.config.provision.NodeResources.Architecture;
+import com.yahoo.config.provision.NodeResources.DiskSpeed;
+import com.yahoo.config.provision.NodeResources.GpuResources;
+import com.yahoo.config.provision.NodeResources.StorageType;
import org.junit.jupiter.api.Test;
import java.util.function.Supplier;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
/**
* @author bratseth
*/
-public class NodeResourcesTest {
+class NodeResourcesTest {
@Test
- public void testCost() {
+ void testCost() {
assertEquals(5.408, new NodeResources(32, 128, 1200, 1).cost(), 0.0001);
}
@@ -81,7 +86,40 @@ public class NodeResourcesTest {
}
@Test
- public void testJoiningResources() {
+ void testSpecifyFully() {
+ NodeResources empty = new NodeResources(0, 0, 0, 0).with(DiskSpeed.any);
+
+ assertEquals(0, empty.withUnspecifiedFieldsFrom(empty).vcpu());
+ assertEquals(3, empty.withUnspecifiedFieldsFrom(empty.withVcpu(3)).vcpu());
+ assertEquals(2, empty.withVcpu(2).withUnspecifiedFieldsFrom(empty.withVcpu(3)).vcpu());
+
+ assertEquals(0, empty.withUnspecifiedFieldsFrom(empty).memoryGb());
+ assertEquals(3, empty.withUnspecifiedFieldsFrom(empty.withMemoryGb(3)).memoryGb());
+ assertEquals(2, empty.withMemoryGb(2).withUnspecifiedFieldsFrom(empty.withMemoryGb(3)).memoryGb());
+
+ assertEquals(0, empty.withUnspecifiedFieldsFrom(empty).diskGb());
+ assertEquals(3, empty.withUnspecifiedFieldsFrom(empty.withDiskGb(3)).diskGb());
+ assertEquals(2, empty.withDiskGb(2).withUnspecifiedFieldsFrom(empty.withDiskGb(3)).diskGb());
+
+ assertEquals(0, empty.withUnspecifiedFieldsFrom(empty).bandwidthGbps());
+ assertEquals(3, empty.withUnspecifiedFieldsFrom(empty.withBandwidthGbps(3)).bandwidthGbps());
+ assertEquals(2, empty.withBandwidthGbps(2).withUnspecifiedFieldsFrom(empty.withBandwidthGbps(3)).bandwidthGbps());
+
+ assertEquals(Architecture.any, empty.withUnspecifiedFieldsFrom(empty).architecture());
+ assertEquals(Architecture.arm64, empty.withUnspecifiedFieldsFrom(empty.with(Architecture.arm64)).architecture());
+ assertEquals(Architecture.x86_64, empty.with(Architecture.x86_64).withUnspecifiedFieldsFrom(empty.with(Architecture.arm64)).architecture());
+
+ assertEquals(DiskSpeed.any, empty.withUnspecifiedFieldsFrom(empty).diskSpeed());
+ assertEquals(DiskSpeed.fast, empty.withUnspecifiedFieldsFrom(empty.with(DiskSpeed.fast)).diskSpeed());
+ assertEquals(DiskSpeed.slow, empty.with(DiskSpeed.slow).withUnspecifiedFieldsFrom(empty.with(DiskSpeed.fast)).diskSpeed());
+
+ assertEquals(StorageType.any, empty.withUnspecifiedFieldsFrom(empty).storageType());
+ assertEquals(StorageType.local, empty.withUnspecifiedFieldsFrom(empty.with(StorageType.local)).storageType());
+ assertEquals(StorageType.remote, empty.with(StorageType.remote).withUnspecifiedFieldsFrom(empty.with(StorageType.local)).storageType());
+ }
+
+ @Test
+ void testJoiningResources() {
var resources = new NodeResources(1, 2, 3, 1,
NodeResources.DiskSpeed.fast,
NodeResources.StorageType.local,