From 3a830ae82320dcc22ae8dca41a1a22e3fda3db73 Mon Sep 17 00:00:00 2001 From: hindujaB Date: Tue, 26 Mar 2024 21:43:07 +0530 Subject: [PATCH] Address review suggestions --- .../providers/env/EnvVarProvider.java | 1 - .../runtime/test/config/EnvProviderTest.java | 15 +++++++++++++++ .../config/negative/EnvProviderNegativeTest.java | 3 +++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/bvm/ballerina-runtime/src/main/java/io/ballerina/runtime/internal/configurable/providers/env/EnvVarProvider.java b/bvm/ballerina-runtime/src/main/java/io/ballerina/runtime/internal/configurable/providers/env/EnvVarProvider.java index dd22a106004c..63194d79965e 100644 --- a/bvm/ballerina-runtime/src/main/java/io/ballerina/runtime/internal/configurable/providers/env/EnvVarProvider.java +++ b/bvm/ballerina-runtime/src/main/java/io/ballerina/runtime/internal/configurable/providers/env/EnvVarProvider.java @@ -356,7 +356,6 @@ private Optional getEnvConfigValue(Object value) { private Map filterConfigEnvVariables(Map originalMap) { Map filteredMap = new HashMap<>(); - for (Map.Entry entry : originalMap.entrySet()) { if (entry.getKey().startsWith(ENV_VAR_PREFIX)) { filteredMap.put(entry.getKey(), entry.getValue()); diff --git a/bvm/ballerina-runtime/src/test/java/io/ballerina/runtime/test/config/EnvProviderTest.java b/bvm/ballerina-runtime/src/test/java/io/ballerina/runtime/test/config/EnvProviderTest.java index 70287365a1b3..4f8b57d9034f 100644 --- a/bvm/ballerina-runtime/src/test/java/io/ballerina/runtime/test/config/EnvProviderTest.java +++ b/bvm/ballerina-runtime/src/test/java/io/ballerina/runtime/test/config/EnvProviderTest.java @@ -245,4 +245,19 @@ public void testEnvProviderXmlUnionType() { Object value = configValueMap.get(unionVar).getValue(); Assert.assertEquals(xmlVal.toString(), value.toString()); } + + @Test + public void testEnvProviderXmlType() { + BXml xmlVal = ValueCreator.createXmlComment(StringUtils.fromString("I am a comment")); + VariableKey xmlVar = new VariableKey(ROOT_MODULE, "xmlVar", + getIntersectionType(ROOT_MODULE, PredefinedTypes.TYPE_READONLY_XML), false); + RuntimeDiagnosticLog diagnosticLog = new RuntimeDiagnosticLog(); + ConfigResolver configResolver = + new ConfigResolver(Map.ofEntries(Map.entry(ROOT_MODULE, new VariableKey[]{xmlVar})), diagnosticLog + , List.of(new EnvVarProvider(ROOT_MODULE, Map.of("BAL_CONFIG_VAR_XMLVAR", + "")))); + Map configValueMap = configResolver.resolveConfigs(); + Object value = configValueMap.get(xmlVar).getValue(); + Assert.assertEquals(xmlVal.toString(), value.toString()); + } } diff --git a/bvm/ballerina-runtime/src/test/java/io/ballerina/runtime/test/config/negative/EnvProviderNegativeTest.java b/bvm/ballerina-runtime/src/test/java/io/ballerina/runtime/test/config/negative/EnvProviderNegativeTest.java index dab8f097d08f..46aa7e3fbfa0 100644 --- a/bvm/ballerina-runtime/src/test/java/io/ballerina/runtime/test/config/negative/EnvProviderNegativeTest.java +++ b/bvm/ballerina-runtime/src/test/java/io/ballerina/runtime/test/config/negative/EnvProviderNegativeTest.java @@ -78,6 +78,9 @@ public Object[][] envVarDataProvider() { {Map.of("BAL_CONFIG_VAR_MYORG_MOD_X", " hello "), "myorg", "mod", "x", PredefinedTypes.TYPE_INT, "error: [BAL_CONFIG_VAR_MYORG_MOD_X= hello ] configurable variable 'x' is expected " + "to be of type 'int', but found ' hello '"}, + {Map.of("BAL_CONFIG_VAR_MYORG_MOD_X", " hello "), "myorg", "mod", "x", + PredefinedTypes.TYPE_FLOAT, "error: [BAL_CONFIG_VAR_MYORG_MOD_X= hello ] configurable " + + "variable 'x' is expected to be of type 'float', but found ' hello '"}, // Config int value with spaces {Map.of("BAL_CONFIG_VAR_MYORG_MOD_X", " 123 "), "myorg", "mod", "x", PredefinedTypes.TYPE_INT, "error: [BAL_CONFIG_VAR_MYORG_MOD_X= 123 ] configurable variable 'x' is expected " +