diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2020-03-23 15:42:43 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2020-03-23 15:42:43 +0100 |
commit | 62ad25df791e8514f11cb30256fe25e553a61bad (patch) | |
tree | 0c13afc6b834b34e80bfe7423717c09b765434c9 /controller-api/src/test/java/com/yahoo | |
parent | 4f29479b720958cba7e40e1142b379962f55c2e8 (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.java | 11 |
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"); |