public /* public for test */ InstanceDiscoveryManager(
            IHttpManager httpManager,
            bool shouldClearCaches,
            IUserMetadataProvider userMetadataProvider   = null,
            Uri userProvidedInstanceDiscoveryUri         = null,
            IKnownMetadataProvider knownMetadataProvider = null,
            INetworkCacheMetadataProvider networkCacheMetadataProvider = null,
            INetworkMetadataProvider networkMetadataProvider           = null,
            IRegionDiscoveryProvider regionDiscoveryProvider           = null)
        {
            _httpManager = httpManager ?? throw new ArgumentNullException(nameof(httpManager));

            _userMetadataProvider         = userMetadataProvider;
            _knownMetadataProvider        = knownMetadataProvider ?? new KnownMetadataProvider();
            _networkCacheMetadataProvider = networkCacheMetadataProvider ?? new NetworkCacheMetadataProvider();

            _networkMetadataProvider = networkMetadataProvider ??
                                       new NetworkMetadataProvider(
                _httpManager,
                _networkCacheMetadataProvider,
                userProvidedInstanceDiscoveryUri);

            _regionDiscoveryProvider = regionDiscoveryProvider ??
                                       new RegionDiscoveryProvider(_httpManager, shouldClearCaches);

            if (shouldClearCaches)
            {
                _networkCacheMetadataProvider.Clear();
            }
        }
예제 #2
0
 public override void TestCleanup()
 {
     Environment.SetEnvironmentVariable(TestConstants.RegionName, "");
     _harness?.Dispose();
     _regionDiscoveryProvider = new RegionDiscoveryProvider(_httpManager, true);
     base.TestCleanup();
 }
        public override void TestInitialize()
        {
            base.TestInitialize();

            _harness     = base.CreateTestHarness();
            _httpManager = _harness.HttpManager;
            _userCancellationTokenSource = new CancellationTokenSource();
            _testRequestContext          = new RequestContext(_harness.ServiceBundle, Guid.NewGuid(), _userCancellationTokenSource.Token);
            _apiEvent = new ApiEvent(
                _harness.ServiceBundle.DefaultLogger,
                _harness.ServiceBundle.PlatformProxy.CryptographyManager,
                Guid.NewGuid().AsMatsCorrelationId());
            _testRequestContext.ApiEvent = _apiEvent;
            _regionDiscoveryProvider     = new RegionDiscoveryProvider(_httpManager);
        }
예제 #4
0
        public override void TestInitialize()
        {
            base.TestInitialize();

            _harness     = base.CreateTestHarness();
            _httpManager = _harness.HttpManager;
            _userCancellationTokenSource = new CancellationTokenSource();
            _testRequestContext          = new RequestContext(
                _harness.ServiceBundle,
                Guid.NewGuid(),
                _userCancellationTokenSource.Token);
            _apiEvent       = new ApiEvent(Guid.NewGuid());
            _apiEvent.ApiId = ApiEvent.ApiIds.AcquireTokenForClient;
            _testRequestContext.ApiEvent = _apiEvent;
            _regionDiscoveryProvider     = new RegionDiscoveryProvider(_httpManager, true);
        }