summaryrefslogtreecommitdiffstats
path: root/node-maintainer
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@oath.com>2018-01-17 13:29:48 +0100
committerValerij Fredriksen <valerijf@oath.com>2018-01-17 13:29:48 +0100
commit2852d4137b5a182e9cccc29435d133242b666c6f (patch)
tree633d12735466fce10285b172e2cbfd60300b6b81 /node-maintainer
parent8edad6876016efc7cffa619198c0ce46e3761916 (diff)
Fix tests
Diffstat (limited to 'node-maintainer')
-rw-r--r--node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/commons/noderepo/IPAddressVerifierTest.java38
-rw-r--r--node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/hardware/HardwareBenchmarkerTest.java85
-rw-r--r--node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/hardware/benchmarks/MemoryBenchmarkTest.java50
-rw-r--r--node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/hardware/resources/diskBenchmarkValidSlowOutput5
-rw-r--r--node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/spec/SpecVerifierTest.java149
-rw-r--r--node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/spec/resources/filesize2
-rw-r--r--node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/spec/retrievers/DiskRetrieverTest.java6
-rw-r--r--node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/spec/retrievers/HardwareInfoRetrieverTest.java2
8 files changed, 144 insertions, 193 deletions
diff --git a/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/commons/noderepo/IPAddressVerifierTest.java b/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/commons/noderepo/IPAddressVerifierTest.java
index 3fcf99dfe85..fc846e3eba6 100644
--- a/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/commons/noderepo/IPAddressVerifierTest.java
+++ b/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/commons/noderepo/IPAddressVerifierTest.java
@@ -4,11 +4,6 @@ package com.yahoo.vespa.hosted.node.verification.commons.noderepo;
import org.junit.Before;
import org.junit.Test;
-import java.net.URL;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.Arrays;
-
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.doReturn;
@@ -18,34 +13,27 @@ import static org.mockito.Mockito.spy;
* @author sgrostad
* @author olaaun
*/
-
public class IPAddressVerifierTest {
- private IPAddressVerifier ipAddressVerifier = spy(new IPAddressVerifier());
- private String ipv4Address;
- private String ipv6Address;
- private NodeSpec nodeSpec;
- private static final String ABSOLUTE_PATH = Paths.get(".").toAbsolutePath().normalize().toString();
- private static final String RESOURCE_PATH = "src/test/java/com/yahoo/vespa/hosted/node/verification/spec/resources/IPAddressVerifierTest.json";
- private static final String URL_RESOURCE_PATH = "file://" + ABSOLUTE_PATH + "/" + RESOURCE_PATH;
+ private final String ipv4Address = "10.2.4.8";
+ private final String ipv6Address = "fdab:0:0:0:0:0:0:1234";
+ private final NodeSpec nodeSpec = new NodeSpec(1920, 256, 48, true, new String[]{ipv4Address, ipv6Address});
+ private final String hostname = "test123.region.domain.tld";
+
+ private IPAddressVerifier ipAddressVerifier = spy(new IPAddressVerifier(hostname));
private String ipv4LookupFormat;
private String ipv6LookupFormat;
@Before
public void setup() throws Exception {
- ipv4Address = "172.16.254.1";
- ipv6Address = "2001:db8:0:1234:0:567:8:1";
- ArrayList<URL> nodeRepoUrl = new ArrayList<>(Arrays.asList(new URL(URL_RESOURCE_PATH)));
- nodeSpec = NodeRepoInfoRetriever.retrieve(nodeRepoUrl);
- ipv4LookupFormat = "1.254.16.172.in-addr.arpa";
- ipv6LookupFormat = "1.0.0.0.8.0.0.0.7.6.5.0.0.0.0.0.4.3.2.1.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa";
+ ipv4LookupFormat = "8.4.2.10.in-addr.arpa";
+ ipv6LookupFormat = "4.3.2.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.b.a.d.f.ip6.arpa";
}
@Test
public void getFaultyIpAddresses_should_return_IP_address_when_different_hostname() throws Exception {
- String realHostName = "host.name";
String wrongHostName = "www.yahoo.com";
- doReturn(realHostName).when(ipAddressVerifier).reverseLookUp(ipv4LookupFormat);
+ doReturn(hostname).when(ipAddressVerifier).reverseLookUp(ipv4LookupFormat);
doReturn(wrongHostName).when(ipAddressVerifier).reverseLookUp(ipv6LookupFormat);
String[] faultyIpAddresses = ipAddressVerifier.getFaultyIpAddresses(nodeSpec);
String[] expectedFaultyIpAddresses = new String[]{ipv6Address};
@@ -54,9 +42,8 @@ public class IPAddressVerifierTest {
@Test
public void getFaultyIpAddresses_should_return_empty_array_when_all_addresses_point_to_correct_hostname() throws Exception {
- String realHostName = "host.name";
- doReturn(realHostName).when(ipAddressVerifier).reverseLookUp(ipv4LookupFormat);
- doReturn(realHostName).when(ipAddressVerifier).reverseLookUp(ipv6LookupFormat);
+ doReturn(hostname).when(ipAddressVerifier).reverseLookUp(ipv4LookupFormat);
+ doReturn(hostname).when(ipAddressVerifier).reverseLookUp(ipv6LookupFormat);
String[] faultyIpAddresses = ipAddressVerifier.getFaultyIpAddresses(nodeSpec);
String[] expectedFaultyIpAddresses = new String[]{};
assertArrayEquals(expectedFaultyIpAddresses, faultyIpAddresses);
@@ -76,7 +63,8 @@ public class IPAddressVerifierTest {
@Test
public void getFaultyIpAddresses_should_return_empty_array_when_parameters_are_invalid() {
- assertEquals(0, ipAddressVerifier.getFaultyIpAddresses(new NodeSpec()).length);
+ final NodeSpec nodeWithNoIP = new NodeSpec(1920, 256, 48, true, new String[0]);
+ assertEquals(0, ipAddressVerifier.getFaultyIpAddresses(nodeWithNoIP).length);
}
}
diff --git a/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/hardware/HardwareBenchmarkerTest.java b/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/hardware/HardwareBenchmarkerTest.java
index 6848fc045e2..13e13f1f83f 100644
--- a/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/hardware/HardwareBenchmarkerTest.java
+++ b/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/hardware/HardwareBenchmarkerTest.java
@@ -1,52 +1,77 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.node.verification.hardware;
+import com.yahoo.vespa.hosted.node.verification.Main;
import com.yahoo.vespa.hosted.node.verification.mock.MockCommandExecutor;
-import org.junit.Before;
import org.junit.Test;
-import java.net.URL;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.Arrays;
-
-import static org.junit.Assert.assertTrue;
-
-/**
- * @author sgrostad
- * @author olaaun
- */
+import static org.junit.Assert.assertEquals;
public class HardwareBenchmarkerTest {
- private MockCommandExecutor mockCommandExecutor;
private static final String RESOURCE_PATH = "src/test/java/com/yahoo/vespa/hosted/node/verification/hardware/resources/";
private static final String VALID_DISK_BENCHMARK_PATH = RESOURCE_PATH + "diskBenchmarkValidOutput";
+ private static final String VALID_SLOW_DISK_BENCHMARK_PATH = RESOURCE_PATH + "diskBenchmarkValidSlowOutput";
private static final String VALID_CPU_BENCHMARK_PATH = RESOURCE_PATH + "cpuCyclesWithCommasTimeWithDotTest.txt";
private static final String VALID_MEMORY_WRITE_BENCHMARK_PATH = RESOURCE_PATH + "validMemoryWriteSpeed";
private static final String VALID_MEMORY_READ_BENCHMARK_PATH = RESOURCE_PATH + "validMemoryReadSpeed";
- private static final String ABSOLUTE_PATH = Paths.get(".").toAbsolutePath().normalize().toString();
- private static final String VALID_NODE_REPO_JSON_WITHOUT_HARDWARE_DIVERGENCE = RESOURCE_PATH + "nodeRepoWithoutHardwareDivergence.json";
- private static final String URL_TO_NODE_REPO_JSON = "file://" + ABSOLUTE_PATH + "/" + VALID_NODE_REPO_JSON_WITHOUT_HARDWARE_DIVERGENCE;
+ private final MockCommandExecutor commandExecutor = new MockCommandExecutor();
+
+ @Test
+ public void benchmark_with_no_failures() throws Exception {
+ commandExecutor.addCommand("cat " + VALID_DISK_BENCHMARK_PATH);
+ commandExecutor.addCommand("cat " + VALID_CPU_BENCHMARK_PATH);
+ commandExecutor.addDummyCommand();
+ commandExecutor.addDummyCommand();
+ commandExecutor.addCommand("cat " + VALID_MEMORY_WRITE_BENCHMARK_PATH);
+ commandExecutor.addCommand("cat " + VALID_MEMORY_READ_BENCHMARK_PATH);
+ commandExecutor.addDummyCommand();
+ commandExecutor.addDummyCommand();
- @Before
- public void setup() {
- mockCommandExecutor = new MockCommandExecutor();
+ String result = Main.execute(new String[] {
+ "benchmark",
+ }, commandExecutor);
+ assertEquals("null", result);
}
@Test
- public void hardwareBenchmarks_should_return_true() throws Exception {
- mockCommandExecutor.addCommand("cat " + VALID_DISK_BENCHMARK_PATH);
- mockCommandExecutor.addCommand("cat " + VALID_CPU_BENCHMARK_PATH);
- mockCommandExecutor.addDummyCommand();
- mockCommandExecutor.addDummyCommand();
- mockCommandExecutor.addCommand("cat " + VALID_MEMORY_WRITE_BENCHMARK_PATH);
- mockCommandExecutor.addCommand("cat " + VALID_MEMORY_READ_BENCHMARK_PATH);
- mockCommandExecutor.addDummyCommand();
- mockCommandExecutor.addDummyCommand();
- assertTrue(HardwareBenchmarker.hardwareBenchmarks(mockCommandExecutor, new ArrayList<URL>(Arrays.asList(new URL(URL_TO_NODE_REPO_JSON)))));
+ public void disk_benchmark_failure() throws Exception {
+ commandExecutor.addCommand("cat " + VALID_SLOW_DISK_BENCHMARK_PATH);
+ commandExecutor.addCommand("cat " + VALID_CPU_BENCHMARK_PATH);
+ commandExecutor.addDummyCommand();
+ commandExecutor.addDummyCommand();
+ commandExecutor.addCommand("cat " + VALID_MEMORY_WRITE_BENCHMARK_PATH);
+ commandExecutor.addCommand("cat " + VALID_MEMORY_READ_BENCHMARK_PATH);
+ commandExecutor.addDummyCommand();
+ commandExecutor.addDummyCommand();
+
+ String result = Main.execute(new String[]{
+ "benchmark",
+ }, commandExecutor);
+
+ assertEquals("{\"benchmarkReport\":{\"diskSpeedMbs\":49.0}}", result);
}
+ @Test
+ public void preserve_previous_spec_verifier_result() throws Exception {
+ commandExecutor.addCommand("cat " + VALID_DISK_BENCHMARK_PATH);
+ commandExecutor.addCommand("cat " + VALID_CPU_BENCHMARK_PATH);
+ commandExecutor.addDummyCommand();
+ commandExecutor.addDummyCommand();
+ commandExecutor.addCommand("cat " + VALID_MEMORY_WRITE_BENCHMARK_PATH);
+ commandExecutor.addCommand("cat " + VALID_MEMORY_READ_BENCHMARK_PATH);
+ commandExecutor.addDummyCommand();
+ commandExecutor.addDummyCommand();
+
+ final String previousResult = "{\"specVerificationReport\":{\"actualMemoryAvailable\":4.042128}}";
+
+ String result = Main.execute(new String[] {
+ "benchmark",
+ "-h", previousResult
+ }, commandExecutor);
+
+ assertEquals(previousResult, result);
+ }
}
diff --git a/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/hardware/benchmarks/MemoryBenchmarkTest.java b/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/hardware/benchmarks/MemoryBenchmarkTest.java
index e2c5cdfa555..8d68c65b1da 100644
--- a/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/hardware/benchmarks/MemoryBenchmarkTest.java
+++ b/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/hardware/benchmarks/MemoryBenchmarkTest.java
@@ -9,14 +9,11 @@ import org.junit.Test;
import java.util.List;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
/**
* @author sgrostad
* @author olaaun
*/
-
public class MemoryBenchmarkTest {
private MemoryBenchmark memoryBenchmark;
@@ -66,51 +63,4 @@ public class MemoryBenchmarkTest {
parseResult = memoryBenchmark.parseMemorySpeed(mockCommandOutput);
assertEquals(expectedParseResult, parseResult);
}
-
- @Test
- public void memoryReadSpeed_valid_input_should_update_hardwareResults() {
- Double expectedMemoryReadSpeed = 12.1;
- memoryBenchmark.updateMemoryReadSpeed(expectedMemoryReadSpeed.toString());
- assertEquals(expectedMemoryReadSpeed, benchmarkResults.getMemoryReadSpeedGBs(), DELTA);
- }
-
- @Test
- public void memoryReadSpeed_invalid_input_should_not_update_hardwareResults() {
- memoryBenchmark.updateMemoryReadSpeed("Invalid speed");
- assertEquals(0D, benchmarkResults.getMemoryReadSpeedGBs(), DELTA);
- }
-
- @Test
- public void memoryWriteSpeed_valid_input_should_update_hardwareResults() {
- Double expectedMemoryWriteSpeed = 3.8;
- memoryBenchmark.updateMemoryWriteSpeed(expectedMemoryWriteSpeed.toString());
- assertEquals(expectedMemoryWriteSpeed, benchmarkResults.getMemoryWriteSpeedGBs(), DELTA);
- }
-
- @Test
- public void memoryWriteSpeed_invalid_input_should_not_update_hardwareResults() {
- memoryBenchmark.updateMemoryWriteSpeed("Invalid speed");
- assertEquals(0D, benchmarkResults.getMemoryWriteSpeedGBs(), DELTA);
- }
-
- @Test
- public void isValidMemory_should_return_true_when_parameter_is_number() {
- String benchmarkOutput = "6.32";
- boolean validMemory = memoryBenchmark.isValidMemory(benchmarkOutput);
- assertTrue(validMemory);
- }
-
- @Test
- public void isValidMemory_should_return_false_when_parameter_is_not_number() {
- String benchmarkOutput = "";
- boolean validMemory = memoryBenchmark.isValidMemory(benchmarkOutput);
- assertFalse(validMemory);
- benchmarkOutput = null;
- validMemory = memoryBenchmark.isValidMemory(benchmarkOutput);
- assertFalse(validMemory);
- benchmarkOutput = "Exit status 127";
- validMemory = memoryBenchmark.isValidMemory(benchmarkOutput);
- assertFalse(validMemory);
- }
-
}
diff --git a/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/hardware/resources/diskBenchmarkValidSlowOutput b/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/hardware/resources/diskBenchmarkValidSlowOutput
new file mode 100644
index 00000000000..773850d8640
--- /dev/null
+++ b/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/hardware/resources/diskBenchmarkValidSlowOutput
@@ -0,0 +1,5 @@
+49 MB/s
+
+real 0m1.448s
+user 0m0.000s
+sys 0m0.260s \ No newline at end of file
diff --git a/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/spec/SpecVerifierTest.java b/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/spec/SpecVerifierTest.java
index f2e3e9ce707..d819a9dd269 100644
--- a/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/spec/SpecVerifierTest.java
+++ b/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/spec/SpecVerifierTest.java
@@ -1,115 +1,98 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.node.verification.spec;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.yahoo.vespa.hosted.node.verification.commons.noderepo.NodeRepoInfoRetriever;
-import com.yahoo.vespa.hosted.node.verification.commons.noderepo.NodeSpec;
-import com.yahoo.vespa.hosted.node.verification.commons.report.SpecVerificationReport;
+import com.yahoo.vespa.hosted.node.verification.Main;
import com.yahoo.vespa.hosted.node.verification.mock.MockCommandExecutor;
-import com.yahoo.vespa.hosted.node.verification.spec.retrievers.HardwareInfo;
-import org.junit.Before;
import org.junit.Test;
-import java.io.File;
-import java.net.URL;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.List;
-
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
/**
- * @author sgrostad
- * @author olaaun
+ * @author freva
*/
-
public class SpecVerifierTest {
- private MockCommandExecutor mockCommandExecutor;
- private static final String ABSOLUTE_PATH = Paths.get(".").toAbsolutePath().normalize().toString();
private static final String RESOURCE_PATH = "src/test/java/com/yahoo/vespa/hosted/node/verification/spec/resources";
- private static final String URL_RESOURCE_PATH = "file://" + ABSOLUTE_PATH + "/" + RESOURCE_PATH;
- private static final String NODE_REPO_PATH = "src/test/java/com/yahoo/vespa/hosted/node/verification/spec/resources/nodeInfoTest.json";
private static final String CPU_INFO_PATH = RESOURCE_PATH + "/cpuinfoTest";
private static final String MEMORY_INFO_PATH = RESOURCE_PATH + "/meminfoTest";
private static final String FAST_DISK_TYPE_INFO_PATH = RESOURCE_PATH + "/DiskTypeFastDisk";
- private static final String NON_FAST_DISK_TYPE_INFO_PATH = RESOURCE_PATH + "/DiskTypeNonFastDisk";
private static final String DISK_SIZE_INFO_PATH = RESOURCE_PATH + "/filesize";
private static final String NET_INTERFACE_INFO_PATH = RESOURCE_PATH + "/ifconfig";
private static final String NET_INTERFACE_SPEED_INFO_PATH = RESOURCE_PATH + "/eth0";
private static final String PING_RESPONSE = RESOURCE_PATH + "/validpingresponse";
- private static final String INVALID_PING_RESPONSE = RESOURCE_PATH + "/pingresponse-all-packets-lost";
- private static final double DELTA = 0.1;
- List<URL> nodeInfoUrls;
+ private final MockCommandExecutor commandExecutor = new MockCommandExecutor();
- @Before
- public void setup() {
- mockCommandExecutor = new MockCommandExecutor();
- nodeInfoUrls = new ArrayList<>();
- }
+ @Test
+ public void spec_verification_with_failures() throws Exception {
+ commandExecutor.addCommand("cat " + CPU_INFO_PATH);
+ commandExecutor.addCommand("cat " + MEMORY_INFO_PATH);
+ commandExecutor.addCommand("cat " + FAST_DISK_TYPE_INFO_PATH);
+ commandExecutor.addCommand("cat " + DISK_SIZE_INFO_PATH);
+ commandExecutor.addCommand("cat " + NET_INTERFACE_INFO_PATH);
+ commandExecutor.addCommand("cat " + NET_INTERFACE_SPEED_INFO_PATH);
+ commandExecutor.addCommand("cat " + PING_RESPONSE);
+ String result = Main.execute(new String[] {
+ "specification",
+ "-d", "250",
+ "-m", "64",
+ "-c", "1.5",
+ "-s", "true",
+ "-i", "10.11.12.13,::1234"
+ }, commandExecutor);
- @Test
- public void verifySpec_equal_nodeRepoInfo_and_hardware_should_return_true() throws Exception {
- nodeInfoUrls.add(new URL(URL_RESOURCE_PATH + "/nodeRepo.json"));
- mockCommandExecutor.addCommand("cat " + CPU_INFO_PATH);
- mockCommandExecutor.addCommand("cat " + MEMORY_INFO_PATH);
- mockCommandExecutor.addCommand("cat " + FAST_DISK_TYPE_INFO_PATH);
- mockCommandExecutor.addCommand("cat " + DISK_SIZE_INFO_PATH);
- mockCommandExecutor.addCommand("cat " + NET_INTERFACE_INFO_PATH);
- mockCommandExecutor.addCommand("cat " + NET_INTERFACE_SPEED_INFO_PATH);
- mockCommandExecutor.addCommand("cat " + PING_RESPONSE);
- assertTrue(SpecVerifier.verifySpec(mockCommandExecutor, nodeInfoUrls));
+ assertEquals(
+ "{\"specVerificationReport\":{\"" +
+ "actualMemoryAvailable\":4.042128,\"" +
+ "actualDiskSpaceAvailable\":1760.0,\"" +
+ "actualcpuCores\":4,\"" +
+ "faultyIpAddresses\":[\"10.11.12.13\",\"0:0:0:0:0:0:0:1234\"]}}", result);
}
@Test
- public void verifySpec_unequal_nodeRepoInfo_and_hardware_should_return_false() throws Exception {
- nodeInfoUrls.add(new URL(URL_RESOURCE_PATH + "/nodeRepo.json"));
- mockCommandExecutor.addCommand("cat " + CPU_INFO_PATH);
- mockCommandExecutor.addCommand("cat " + MEMORY_INFO_PATH);
- mockCommandExecutor.addCommand("cat " + NON_FAST_DISK_TYPE_INFO_PATH);
- mockCommandExecutor.addCommand("cat " + DISK_SIZE_INFO_PATH);
- mockCommandExecutor.addCommand("cat " + NET_INTERFACE_INFO_PATH + "NoIpv6");
- mockCommandExecutor.addCommand("cat " + NET_INTERFACE_SPEED_INFO_PATH);
- mockCommandExecutor.addCommand("cat " + INVALID_PING_RESPONSE);
- assertFalse(SpecVerifier.verifySpec(mockCommandExecutor, nodeInfoUrls));
- }
+ public void benchmark_with_no_failures() throws Exception {
+ commandExecutor.addCommand("cat " + CPU_INFO_PATH);
+ commandExecutor.addCommand("cat " + MEMORY_INFO_PATH);
+ commandExecutor.addCommand("cat " + FAST_DISK_TYPE_INFO_PATH);
+ commandExecutor.addCommand("cat " + DISK_SIZE_INFO_PATH);
+ commandExecutor.addCommand("cat " + NET_INTERFACE_INFO_PATH);
+ commandExecutor.addCommand("cat " + NET_INTERFACE_SPEED_INFO_PATH);
+ commandExecutor.addCommand("cat " + PING_RESPONSE);
- @Test
- public void makeVerificationSpecReport_should_return_false_interface_speed_and_ipv6_connection() throws Exception {
- HardwareInfo actualHardware = new HardwareInfo();
- actualHardware.setMinCpuCores(24);
- actualHardware.setMinMainMemoryAvailableGb(24);
- actualHardware.setInterfaceSpeedMbs(100); //this is wrong
- actualHardware.setMinDiskAvailableGb(500);
- actualHardware.setIpv4Interface(true);
- actualHardware.setIpv6Interface(true);
- actualHardware.setIpv6Connection(true);
- actualHardware.setDiskType(HardwareInfo.DiskType.SLOW);
- nodeInfoUrls.add(new File(NODE_REPO_PATH).toURI().toURL());
- NodeSpec nodeSpec = NodeRepoInfoRetriever.retrieve(nodeInfoUrls);
- SpecVerificationReport verificationSpecVerificationReport = SpecVerifier.makeVerificationReport(actualHardware, nodeSpec);
- String expectedJson = "{\"actualInterfaceSpeed\":100.0}";
- ObjectMapper om = new ObjectMapper();
- String actualJson = om.writeValueAsString(verificationSpecVerificationReport);
- assertEquals(expectedJson, actualJson);
+ String result = Main.execute(new String[] {
+ "specification",
+ "-d", "1760",
+ "-m", "4",
+ "-c", "4",
+ "-s", "true",
+ }, commandExecutor);
+
+ assertEquals("null", result);
}
@Test
- public void getNodeRepositoryJSON_should_return_valid_nodeRepoJSONModel() throws Exception {
- nodeInfoUrls.add(new URL(URL_RESOURCE_PATH + "/nodeRepo.json"));
- NodeSpec actualNodeSpec = SpecVerifier.getNodeRepositoryJSON(nodeInfoUrls);
- double expectedMinCpuCores = 4D;
- double expectedMinMainMemoryAvailableGb = 4.04D;
- double expectedMinDiskAvailableGb = 1759.84;
- boolean expectedFastDisk = true;
- assertEquals(expectedMinCpuCores, actualNodeSpec.getMinCpuCores(), DELTA);
- assertEquals(expectedMinMainMemoryAvailableGb, actualNodeSpec.getMinMainMemoryAvailableGb(), DELTA);
- assertEquals(expectedMinDiskAvailableGb, actualNodeSpec.getMinDiskAvailableGb(), DELTA);
- assertEquals(expectedFastDisk, actualNodeSpec.isFastDisk());
- }
+ public void preserve_previous_benchmark_result() throws Exception {
+ commandExecutor.addCommand("cat " + CPU_INFO_PATH);
+ commandExecutor.addCommand("cat " + MEMORY_INFO_PATH);
+ commandExecutor.addCommand("cat " + FAST_DISK_TYPE_INFO_PATH);
+ commandExecutor.addCommand("cat " + DISK_SIZE_INFO_PATH);
+ commandExecutor.addCommand("cat " + NET_INTERFACE_INFO_PATH);
+ commandExecutor.addCommand("cat " + NET_INTERFACE_SPEED_INFO_PATH);
+ commandExecutor.addCommand("cat " + PING_RESPONSE);
+ final String previousResult = "{\"specVerificationReport\":{\"actualMemoryAvailable\":4.042128}," +
+ "\"benchmarkReport\":{\"diskSpeedMbs\":49.0}}";
+
+ String result = Main.execute(new String[] {
+ "specification",
+ "-d", "1760",
+ "-m", "4",
+ "-c", "4",
+ "-s", "true",
+ "-h", previousResult
+ }, commandExecutor);
+
+ assertEquals("{\"benchmarkReport\":{\"diskSpeedMbs\":49.0}}", result);
+ }
}
diff --git a/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/spec/resources/filesize b/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/spec/resources/filesize
index d8148474ced..535a509dcc1 100644
--- a/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/spec/resources/filesize
+++ b/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/spec/resources/filesize
@@ -1,2 +1,2 @@
PV Size 799.65 GB / not usable 0.00 GB
- PV Size 960.19 GB / not usable 0.01 GB \ No newline at end of file
+ PV Size 960.35 GB / not usable 0.01 GB \ No newline at end of file
diff --git a/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/spec/retrievers/DiskRetrieverTest.java b/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/spec/retrievers/DiskRetrieverTest.java
index de4bf946d59..f6969e4ac6f 100644
--- a/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/spec/retrievers/DiskRetrieverTest.java
+++ b/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/spec/retrievers/DiskRetrieverTest.java
@@ -39,7 +39,7 @@ public class DiskRetrieverTest {
commandExecutor.addCommand(CAT_RESOURCE_PATH + "filesize");
diskRetriever.updateInfo();
assertEquals(DiskType.FAST, hardwareInfo.getDiskType());
- double expectedSize = 1759.84;
+ double expectedSize = 1760.0;
assertEquals(expectedSize, hardwareInfo.getMinDiskAvailableGb(), DELTA);
}
@@ -54,7 +54,7 @@ public class DiskRetrieverTest {
public void updateDiskSize__should_store_diskSize_in_hardwareInfo() throws IOException {
commandExecutor.addCommand(CAT_RESOURCE_PATH + "filesize");
diskRetriever.updateDiskSize();
- double expectedSize = 1759.84;
+ double expectedSize = 1760.0;
assertEquals(expectedSize, hardwareInfo.getMinDiskAvailableGb(), DELTA);
}
@@ -95,7 +95,7 @@ public class DiskRetrieverTest {
List<ParseResult> parseResults = diskRetriever.parseDiskSize(mockOutput);
ParseResult expectedParseResult1 = new ParseResult("Size", "799.65");
assertEquals(expectedParseResult1, parseResults.get(0));
- ParseResult expectedParseResult2 = new ParseResult("Size", "960.19");
+ ParseResult expectedParseResult2 = new ParseResult("Size", "960.35");
assertEquals(expectedParseResult2, parseResults.get(1));
}
diff --git a/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/spec/retrievers/HardwareInfoRetrieverTest.java b/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/spec/retrievers/HardwareInfoRetrieverTest.java
index 552d57d2b59..0ebf1a2b26a 100644
--- a/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/spec/retrievers/HardwareInfoRetrieverTest.java
+++ b/node-maintainer/src/test/java/com/yahoo/vespa/hosted/node/verification/spec/retrievers/HardwareInfoRetrieverTest.java
@@ -46,7 +46,7 @@ public class HardwareInfoRetrieverTest {
expectedHardwareInfo.setMinCpuCores(4);
expectedHardwareInfo.setMinMainMemoryAvailableGb(4.042128);
expectedHardwareInfo.setInterfaceSpeedMbs(1000);
- expectedHardwareInfo.setMinDiskAvailableGb(1759.84);
+ expectedHardwareInfo.setMinDiskAvailableGb(1760.0);
expectedHardwareInfo.setIpv4Interface(true);
expectedHardwareInfo.setIpv6Interface(false);
expectedHardwareInfo.setIpv6Connection(false);