-
Notifications
You must be signed in to change notification settings - Fork 436
Expand file tree
/
Copy pathRegistryDiscoveryStrategyHelper.cs
More file actions
23 lines (20 loc) · 1.1 KB
/
RegistryDiscoveryStrategyHelper.cs
File metadata and controls
23 lines (20 loc) · 1.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
using Azure.Mcp.Core.Areas.Server.Commands.Discovery;
using Azure.Mcp.Core.Areas.Server.Options;
using Azure.Mcp.Core.Helpers;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
namespace Azure.Mcp.Core.UnitTests;
public class RegistryDiscoveryStrategyHelper
{
public static RegistryDiscoveryStrategy CreateStrategy(ServiceStartOptions? options = null, ILogger<RegistryDiscoveryStrategy>? logger = null)
{
var serviceOptions = Microsoft.Extensions.Options.Options.Create(options ?? new ServiceStartOptions());
logger = logger ?? NSubstitute.Substitute.For<Microsoft.Extensions.Logging.ILogger<RegistryDiscoveryStrategy>>();
var httpClientFactory = NSubstitute.Substitute.For<IHttpClientFactory>();
var registryRoot = RegistryServerHelper.GetRegistryRoot();
var configuration = new ConfigurationBuilder().AddEnvironmentVariables().Build();
return new RegistryDiscoveryStrategy(serviceOptions, logger, httpClientFactory, registryRoot!, configuration);
}
}