From 8187afebe95ebc1d1123831ac336862a7dc3d76a Mon Sep 17 00:00:00 2001 From: Regis Kuckaertz <629976+regiskuckaertz@users.noreply.github.com> Date: Wed, 15 Sep 2021 16:20:43 +0100 Subject: [PATCH] Parse service names with special characters in them #30672 --- .../akka/discovery/config/ConfigServiceDiscovery.scala | 4 ++-- .../discovery/config/ConfigServiceDiscoverySpec.scala | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/akka-discovery/src/main/scala/akka/discovery/config/ConfigServiceDiscovery.scala b/akka-discovery/src/main/scala/akka/discovery/config/ConfigServiceDiscovery.scala index b57a360dee..5821492537 100644 --- a/akka-discovery/src/main/scala/akka/discovery/config/ConfigServiceDiscovery.scala +++ b/akka-discovery/src/main/scala/akka/discovery/config/ConfigServiceDiscovery.scala @@ -7,7 +7,7 @@ package akka.discovery.config import scala.concurrent.Future import scala.concurrent.duration.FiniteDuration -import com.typesafe.config.Config +import com.typesafe.config.{ Config, ConfigUtil } import akka.actor.ExtendedActorSystem import akka.annotation.InternalApi @@ -27,7 +27,7 @@ private object ConfigServicesParser { .entrySet() .asScala .map { en => - (en.getKey, config.getConfig(en.getKey)) + (en.getKey, config.getConfig(ConfigUtil.quoteString(en.getKey))) } .toMap diff --git a/akka-discovery/src/test/scala/akka/discovery/config/ConfigServiceDiscoverySpec.scala b/akka-discovery/src/test/scala/akka/discovery/config/ConfigServiceDiscoverySpec.scala index 804f1cbce5..5ef4c03444 100644 --- a/akka-discovery/src/test/scala/akka/discovery/config/ConfigServiceDiscoverySpec.scala +++ b/akka-discovery/src/test/scala/akka/discovery/config/ConfigServiceDiscoverySpec.scala @@ -38,7 +38,7 @@ akka { } ] }, - service2 = { + "service2.domain.com" = { endpoints = [] } } @@ -70,7 +70,11 @@ class ConfigServiceDiscoverySpec ResolvedTarget(host = "cat", port = Some(1233), address = None), ResolvedTarget(host = "dog", port = None, address = None)) } - + "return no resolved targets if no endpoints" in { + val result = discovery.lookup("service2.domain.com", 100.millis).futureValue + result.serviceName shouldEqual "service2.domain.com" + result.addresses shouldEqual immutable.Seq.empty + } "return no resolved targets if not in config" in { val result = discovery.lookup("dontexist", 100.millis).futureValue result.serviceName shouldEqual "dontexist"