aboutsummaryrefslogtreecommitdiffstats
path: root/controller-api/src/test/java/com/yahoo
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2020-03-23 15:42:43 +0100
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2020-03-23 15:42:43 +0100
commit62ad25df791e8514f11cb30256fe25e553a61bad (patch)
tree0c13afc6b834b34e80bfe7423717c09b765434c9 /controller-api/src/test/java/com/yahoo
parent4f29479b720958cba7e40e1142b379962f55c2e8 (diff)
Fail if 'flags/' contains non-json file
Diffstat (limited to 'controller-api/src/test/java/com/yahoo')
-rw-r--r--controller-api/src/test/java/com/yahoo/vespa/hosted/controller/api/systemflags/v1/SystemFlagsDataArchiveTest.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/controller-api/src/test/java/com/yahoo/vespa/hosted/controller/api/systemflags/v1/SystemFlagsDataArchiveTest.java b/controller-api/src/test/java/com/yahoo/vespa/hosted/controller/api/systemflags/v1/SystemFlagsDataArchiveTest.java
index 14584650d3b..3476e24c570 100644
--- a/controller-api/src/test/java/com/yahoo/vespa/hosted/controller/api/systemflags/v1/SystemFlagsDataArchiveTest.java
+++ b/controller-api/src/test/java/com/yahoo/vespa/hosted/controller/api/systemflags/v1/SystemFlagsDataArchiveTest.java
@@ -13,6 +13,7 @@ import com.yahoo.vespa.flags.RawFlag;
import com.yahoo.vespa.flags.json.FlagData;
import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.ExpectedException;
import org.junit.rules.TemporaryFolder;
import java.io.BufferedInputStream;
@@ -43,6 +44,9 @@ public class SystemFlagsDataArchiveTest {
@Rule
public final TemporaryFolder temporaryFolder = new TemporaryFolder();
+ @Rule
+ public final ExpectedException expectedException = ExpectedException.none();
+
private static FlagsTarget mainControllerTarget = FlagsTarget.forController(SYSTEM);
private static FlagsTarget prodUsWestCfgTarget = createConfigserverTarget(Environment.prod, "us-west-1");
private static FlagsTarget prodUsEast3CfgTarget = createConfigserverTarget(Environment.prod, "us-east-3");
@@ -84,6 +88,13 @@ public class SystemFlagsDataArchiveTest {
assertFlagDataHasValue(archive, FLAG_WITH_EMPTY_DATA, devUsEast1CfgTarget, "main");
}
+ @Test
+ public void throws_exception_on_non_json_file() {
+ expectedException.expect(IllegalArgumentException.class);
+ expectedException.expectMessage("Only JSON files are allowed in 'flags/' directory (found 'flags/my-test-flag/file-name-without-dot-json')");
+ SystemFlagsDataArchive.fromDirectory(Paths.get("src/test/resources/system-flags-with-invalid-file-name/"));
+ }
+
private static void assertArchiveReturnsCorrectTestFlagDataForTarget(SystemFlagsDataArchive archive) {
assertFlagDataHasValue(archive, MY_TEST_FLAG, mainControllerTarget, "main.controller");
assertFlagDataHasValue(archive, MY_TEST_FLAG, prodUsWestCfgTarget, "main.prod.us-west-1");