Skip to content

Commit 4905c1f

Browse files
committed
make channel lookups case-insensitive (#8625)
1 parent d48bd33 commit 4905c1f

File tree

3 files changed

+8
-2
lines changed

3 files changed

+8
-2
lines changed

src/WebJobs.Script/Workers/Rpc/JobHostRpcWorkerChannelManager.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ internal class JobHostRpcWorkerChannelManager : IJobHostRpcWorkerChannelManager
1414
{
1515
private readonly object _getChannelLock = new object();
1616
private readonly ILogger _logger;
17-
private ConcurrentDictionary<string, IRpcWorkerChannelDictionary> _channels = new ConcurrentDictionary<string, IRpcWorkerChannelDictionary>();
17+
private ConcurrentDictionary<string, IRpcWorkerChannelDictionary> _channels = new ConcurrentDictionary<string, IRpcWorkerChannelDictionary>(StringComparer.OrdinalIgnoreCase);
1818

1919
public JobHostRpcWorkerChannelManager(ILoggerFactory loggerFactory)
2020
{

test/WebJobs.Script.Tests/Workers/Rpc/JobHostRpcWorkerChannelManagerTests.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,9 @@ public void TestGetChannels_WithLanguage()
204204
Assert.True(_jobHostRpcWorkerChannelManager.GetChannels("powershell").Contains(_workerChannelPs2.Object), "Job Manager doesn't contains 'ps2'");
205205
Assert.Equal(1, _jobHostRpcWorkerChannelManager.GetChannels("node").Count());
206206
Assert.True(_jobHostRpcWorkerChannelManager.GetChannels("node").Contains(_workerChannelJs1.Object), "Job Manager doesn't contains 'js2'");
207+
208+
// test case insensitivity
209+
Assert.Equal(1, _jobHostRpcWorkerChannelManager.GetChannels("Java").Count());
207210
}
208211
}
209212
}

test/WebJobs.Script.Tests/Workers/Rpc/WebHostRpcWorkerChannelManagerTests.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,9 @@ public async Task CreateChannels_Succeeds()
8686
Assert.NotNull(initializedChannel);
8787
Assert.Equal(javaWorkerChannel.Id, initializedChannel.Id);
8888
Assert.Equal(_rpcWorkerChannelManager.GetChannels(RpcWorkerConstants.JavaLanguageWorkerName).Count(), 2);
89+
90+
// test case insensitivity
91+
Assert.Equal(_rpcWorkerChannelManager.GetChannels("Java").Count(), 2);
8992
}
9093

9194
[Fact]
@@ -299,7 +302,7 @@ public async Task SpecializeAsync_LanguageWorkerArguments_KillsProcess(string la
299302
var config = new ConfigurationBuilder()
300303
.AddInMemoryCollection(new Dictionary<string, string>
301304
{
302-
[$"{RpcWorkerConstants.LanguageWorkersSectionName}:{languageWorkerName}:{WorkerConstants.WorkerDescriptionArguments}"] = argument
305+
[$"{RpcWorkerConstants.LanguageWorkersSectionName}:{languageWorkerName}:{WorkerConstants.WorkerDescriptionArguments}"] = argument
303306
})
304307
.Build();
305308
_rpcWorkerChannelManager = new WebHostRpcWorkerChannelManager(_eventManager, _testEnvironment, _loggerFactory, _rpcWorkerChannelFactory, _optionsMonitor, testMetricsLogger, _workerOptionsMonitor, config);

0 commit comments

Comments
 (0)