From 32106c5891879f011543f8a760a653fdee4f6dd2 Mon Sep 17 00:00:00 2001 From: Edgar Garcia <63310723+edgarulg@users.noreply.github.com> Date: Fri, 4 Oct 2024 13:55:25 -0600 Subject: [PATCH] feat(gce): add support for hyperdisk in GCE (#6288) * feat(gce): add hyperdisk as disktype option * feat(gce): add testing for hyperdisk disk option * feat(gce): rewrite test in Java for GoogleDiskTest * feat(gce): fix spotless violations --------- Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> --- .../google/model/GoogleDiskType.groovy | 3 +- .../google/model/GoogleDiskTest.java | 57 +++++++++++++++++++ 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 clouddriver-google/src/test/java/com/netflix/spinnaker/clouddriver/google/model/GoogleDiskTest.java diff --git a/clouddriver-google/src/main/groovy/com/netflix/spinnaker/clouddriver/google/model/GoogleDiskType.groovy b/clouddriver-google/src/main/groovy/com/netflix/spinnaker/clouddriver/google/model/GoogleDiskType.groovy index fd00e50f743..33e8292ffec 100644 --- a/clouddriver-google/src/main/groovy/com/netflix/spinnaker/clouddriver/google/model/GoogleDiskType.groovy +++ b/clouddriver-google/src/main/groovy/com/netflix/spinnaker/clouddriver/google/model/GoogleDiskType.groovy @@ -19,7 +19,8 @@ package com.netflix.spinnaker.clouddriver.google.model public enum GoogleDiskType { PD_STANDARD("pd-standard", true), PD_SSD("pd-ssd", true), - LOCAL_SSD("local-ssd", false) + LOCAL_SSD("local-ssd", false), + HYPERDISK_BALANCED("hyperdisk-balanced", true) String text boolean persistent diff --git a/clouddriver-google/src/test/java/com/netflix/spinnaker/clouddriver/google/model/GoogleDiskTest.java b/clouddriver-google/src/test/java/com/netflix/spinnaker/clouddriver/google/model/GoogleDiskTest.java new file mode 100644 index 00000000000..05fd52feb84 --- /dev/null +++ b/clouddriver-google/src/test/java/com/netflix/spinnaker/clouddriver/google/model/GoogleDiskTest.java @@ -0,0 +1,57 @@ +/* + * Copyright 2024 Harness, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.netflix.spinnaker.clouddriver.google.model; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import org.junit.jupiter.api.Test; + +public class GoogleDiskTest { + + @Test + public void testSettingDiskTypePdSsd() { + GoogleDisk disk = new GoogleDisk(); + disk.setType("pd-ssd"); + + assertEquals(GoogleDiskType.PD_SSD, disk.getType()); + } + + @Test + public void testSettingDiskTypeHyperdiskBalanced() { + GoogleDisk disk = new GoogleDisk(); + disk.setType("hyperdisk-balanced"); + + assertEquals(GoogleDiskType.HYPERDISK_BALANCED, disk.getType()); + } + + @Test + public void testDefaultDiskTypeOnUnknown() { + GoogleDisk disk = new GoogleDisk(); + disk.setType("UNKNOWN"); + + assertEquals(GoogleDiskType.PD_STANDARD, disk.getType()); + } + + @Test + public void testPersistentDiskDetection() { + GoogleDisk disk = new GoogleDisk(); + disk.setType("pd-ssd"); + + assertTrue(disk.isPersistent()); + } +}