summaryrefslogtreecommitdiffstats
path: root/config-provisioning
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2023-06-16 10:03:36 +0200
committerHarald Musum <musum@yahooinc.com>2023-06-16 10:03:36 +0200
commit21faca7fc562172a439566d41259dc5dcb2a7541 (patch)
tree8a3b5702fa4f0f69b36680242e730501b46cd7c7 /config-provisioning
parentc4ee70e6e474f29afe7ab2ef09fb678c8f275b73 (diff)
Throw exception when trying to create ApplicationId from from a string with too many parts
Diffstat (limited to 'config-provisioning')
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationId.java11
-rw-r--r--config-provisioning/src/test/java/com/yahoo/config/provision/ApplicationIdTest.java3
2 files changed, 3 insertions, 11 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationId.java b/config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationId.java
index 69d25cd118a..49e0b0f478d 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationId.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationId.java
@@ -64,14 +64,9 @@ public class ApplicationId implements Comparable<ApplicationId> {
private static ApplicationId fromIdString(String idString, String splitCharacter) {
String[] parts = idString.split(Pattern.quote(splitCharacter));
- String errorMessage = "Application ids must be on the form tenant" +
- splitCharacter + "application" + splitCharacter + "instance, but was " + idString;
- if (parts.length < 3)
- throw new IllegalArgumentException(errorMessage);
- // TODO: Throw exception when we have verified no-one is abusing this with more than 3 parts in id string
- // Include code in require_that_invalid_idstring_throws_exception() in ApplicationIdTest to test this
- if (parts.length > 3)
- log.log(SEVERE, errorMessage);
+ if (parts.length != 3)
+ throw new IllegalArgumentException("Application ids must be on the form tenant" +
+ splitCharacter + "application" + splitCharacter + "instance, but was " + idString);
return from(parts[0], parts[1], parts[2]);
}
diff --git a/config-provisioning/src/test/java/com/yahoo/config/provision/ApplicationIdTest.java b/config-provisioning/src/test/java/com/yahoo/config/provision/ApplicationIdTest.java
index 72f2a64a599..c4896a8d78b 100644
--- a/config-provisioning/src/test/java/com/yahoo/config/provision/ApplicationIdTest.java
+++ b/config-provisioning/src/test/java/com/yahoo/config/provision/ApplicationIdTest.java
@@ -86,14 +86,11 @@ public class ApplicationIdTest {
e = assertThrows(IllegalArgumentException.class, () -> ApplicationId.fromFullString("foo.baz"));
assertEquals("Application ids must be on the form tenant.application.instance, but was foo.baz", e.getMessage());
- // TODO: Add when we throw exception on strings with too many parts
- /*
e = assertThrows(IllegalArgumentException.class, () -> ApplicationId.fromSerializedForm("foo:baz:bar:xyzzy"));
assertEquals("Application ids must be on the form tenant:application:instance, but was foo:baz:bar:xyzzy", e.getMessage());
e = assertThrows(IllegalArgumentException.class, () -> ApplicationId.fromFullString("foo.baz.bar.xyzzy"));
assertEquals("Application ids must be on the form tenant.application.instance, but was foo.baz.bar.xyzzy", e.getMessage());
- */
}
@Test