@@ -27,7 +27,7 @@ class CosmosConfigSpec extends UnitSpec {
2727 endpointConfig.applicationName.get shouldEqual " myapp"
2828 endpointConfig.useGatewayMode shouldEqual true
2929 endpointConfig.preferredRegionsList.isDefined shouldEqual true
30- endpointConfig.preferredRegionsList.get should contain theSameElementsAs Array (" westus " , " eastus1" )
30+ endpointConfig.preferredRegionsList.get should contain theSameElementsAs Array (" west us " , " eastus1" )
3131 }
3232
3333 " Config Parser" should " parse account credentials with spark.cosmos.preferredRegions" in {
@@ -46,7 +46,7 @@ class CosmosConfigSpec extends UnitSpec {
4646 endpointConfig.applicationName.get shouldEqual " myapp"
4747 endpointConfig.useGatewayMode shouldEqual true
4848 endpointConfig.preferredRegionsList.isDefined shouldEqual true
49- endpointConfig.preferredRegionsList.get should contain theSameElementsAs Array (" westus " , " eastus1" )
49+ endpointConfig.preferredRegionsList.get should contain theSameElementsAs Array (" west us " , " eastus1" )
5050 }
5151
5252 " Config Parser" should " parse account credentials with spark.cosmos.preferredRegions and spark.cosmos.preferredRegionsList" in {
@@ -116,6 +116,22 @@ class CosmosConfigSpec extends UnitSpec {
116116 " invalid configuration for spark.cosmos.preferredRegionsList:[westus, eastus. Config description: Preferred Region List"
117117 }
118118 }
119+
120+ userConfig = Map (
121+ " spark.cosmos.accountEndpoint" -> sampleProdEndpoint,
122+ " spark.cosmos.accountKey" -> " xyz" ,
123+ " spark.cosmos.preferredRegionsList" -> " [west us, eastus]"
124+ )
125+
126+ try {
127+ CosmosAccountConfig .parseCosmosAccountConfig(userConfig)
128+ fail(" invalid preferred region list" )
129+ } catch {
130+ case e : Exception => {
131+ e.getMessage shouldEqual
132+ " invalid configuration for spark.cosmos.preferredRegionsList:[west us, eastus]. Config description: Preferred Region List"
133+ }
134+ }
119135 }
120136
121137 it should " preferred regions parsing" in {
@@ -126,7 +142,7 @@ class CosmosConfigSpec extends UnitSpec {
126142 )
127143
128144 var config = CosmosAccountConfig .parseCosmosAccountConfig(userConfig)
129- config.preferredRegionsList.get should contain theSameElementsAs Array (" eastus" , " westus1 " )
145+ config.preferredRegionsList.get should contain theSameElementsAs Array (" eastus" , " west us1 " )
130146
131147 userConfig = Map (
132148 " spark.cosmos.accountEndpoint" -> sampleProdEndpoint,
@@ -135,7 +151,7 @@ class CosmosConfigSpec extends UnitSpec {
135151 )
136152
137153 config = CosmosAccountConfig .parseCosmosAccountConfig(userConfig)
138- config.preferredRegionsList.get should contain theSameElementsAs Array (" eastus" , " westus1 " )
154+ config.preferredRegionsList.get should contain theSameElementsAs Array (" eastus" , " west us1 " )
139155
140156 userConfig = Map (
141157 " spark.cosmos.accountEndpoint" -> sampleProdEndpoint,
@@ -144,7 +160,7 @@ class CosmosConfigSpec extends UnitSpec {
144160 )
145161
146162 config = CosmosAccountConfig .parseCosmosAccountConfig(userConfig)
147- config.preferredRegionsList.get should contain theSameElementsAs Array (" eastus" , " westus1 " )
163+ config.preferredRegionsList.get should contain theSameElementsAs Array (" eastus" , " west us1 " )
148164
149165 userConfig = Map (
150166 " spark.cosmos.accountEndpoint" -> sampleProdEndpoint,
@@ -153,7 +169,7 @@ class CosmosConfigSpec extends UnitSpec {
153169 )
154170
155171 config = CosmosAccountConfig .parseCosmosAccountConfig(userConfig)
156- config.preferredRegionsList.get should contain theSameElementsAs Array (" eastus" , " westus1 " )
172+ config.preferredRegionsList.get should contain theSameElementsAs Array (" eastus" , " west us1 " )
157173
158174 userConfig = Map (
159175 " spark.cosmos.accountEndpoint" -> sampleProdEndpoint,
@@ -162,7 +178,7 @@ class CosmosConfigSpec extends UnitSpec {
162178 )
163179
164180 config = CosmosAccountConfig .parseCosmosAccountConfig(userConfig)
165- config.preferredRegionsList.get should contain theSameElementsAs Array (" westus1 " )
181+ config.preferredRegionsList.get should contain theSameElementsAs Array (" west us1 " )
166182
167183 userConfig = Map (
168184 " spark.cosmos.accountEndpoint" -> sampleProdEndpoint,
@@ -171,7 +187,7 @@ class CosmosConfigSpec extends UnitSpec {
171187 )
172188
173189 config = CosmosAccountConfig .parseCosmosAccountConfig(userConfig)
174- config.preferredRegionsList.get should contain theSameElementsAs Array (" westus1 " )
190+ config.preferredRegionsList.get should contain theSameElementsAs Array (" west us1 " )
175191
176192 userConfig = Map (
177193 " spark.cosmos.accountEndpoint" -> sampleProdEndpoint,
@@ -182,6 +198,15 @@ class CosmosConfigSpec extends UnitSpec {
182198 config = CosmosAccountConfig .parseCosmosAccountConfig(userConfig)
183199 config.preferredRegionsList.get should contain theSameElementsAs Array [String ]()
184200
201+ userConfig = Map (
202+ " spark.cosmos.accountEndpoint" -> sampleProdEndpoint,
203+ " spark.cosmos.accountKey" -> " xyz" ,
204+ " spark.cosmos.preferredRegionsList" -> " [west us 1, east us 2]"
205+ )
206+
207+ config = CosmosAccountConfig .parseCosmosAccountConfig(userConfig)
208+ config.preferredRegionsList.get should contain theSameElementsAs Array (" west us 1" ," east us 2" )
209+
185210 }
186211
187212
0 commit comments