示例#1
0
        public async Task <IEnumerable <Provider> > GetProvidersByProviderVersionsId(string providerVersionId)
        {
            Guard.IsNullOrWhiteSpace(providerVersionId, nameof(providerVersionId));

            ApiResponse <ApiProviderVersion> providerVersionsResponse =
                await _providersApiClientPolicy.ExecuteAsync(() => _providersApiClient.GetProvidersByVersion(providerVersionId));

            Guard.ArgumentNotNull(providerVersionsResponse?.Content, nameof(providerVersionsResponse));

            IEnumerable <Provider> Providers = _mapper.Map <IEnumerable <Provider> >(providerVersionsResponse.Content.Providers);

            return(Providers ?? new Provider[0]);
        }
        public void QueryMethodThrowsExceptionIfProviderVersionResponseOrContentMissing(
            ApiResponse <ProviderVersion> providerVersionResponse)
        {
            string providerVersionId = NewRandomString();

            GivenTheApiResponse(() => _providers.GetProvidersByVersion(providerVersionId), providerVersionResponse);

            Func <Task <IEnumerable <Provider> > > invocation =
                () => WhenTheProvidersAreQueriedByVersionId(providerVersionId);

            invocation
            .Should()
            .Throw <ArgumentNullException>();
        }
示例#3
0
 public void Setup()
 {
     _providersApiClient = Substitute.For <IProvidersApiClient>();
     _organisationGroupTargetProviderLookup = new OrganisationGroupTargetProviderLookup(_providersApiClient, new OrganisationGroupResiliencePolicies
     {
         ProvidersApiClient = Policy.NoOpAsync()
     });
     _providerVersionId = "test-providers";
     _providersApiClient
     .GetProvidersByVersion(Arg.Is(_providerVersionId))
     .Returns(GetProviderVersion());
 }
        private async Task <Dictionary <string, Provider> > GetAllProviders(string providerVersionId)
        {
            if (!_providers.ContainsKey(providerVersionId))
            {
                Common.ApiClient.Models.ApiResponse <ProviderVersion> providerResult = await _providersApiClientPolicy.ExecuteAsync(() => _providersApiClient.GetProvidersByVersion(providerVersionId));

                if (providerResult == null)
                {
                    throw new InvalidOperationException($"Provider lookup returned null for provider version id '{providerVersionId}'");
                }

                if (providerResult.Content == null)
                {
                    throw new InvalidOperationException($"Provider lookup content returned null for provider version id '{providerVersionId}'");
                }

                if (providerResult.Content.Providers == null)
                {
                    throw new InvalidOperationException($"Provider lookup provider content returned null for provider version id '{providerVersionId}'");
                }


                _providers.Add(providerVersionId, providerResult.Content.Providers.ToDictionary(c => c.ProviderId, p => p));
            }

            return(_providers[providerVersionId]);
        }
示例#5
0
 private void AndCoreProviderListExistsWithProviderVerionIdAndProviders(string providerVersionId, IEnumerable <Provider> scopedProviders)
 {
     _providersApiClient
     .GetProvidersByVersion(Arg.Is(providerVersionId))
     .Returns(GenerateProviderVersion(scopedProviders));
 }
示例#6
0
        private async Task <IEnumerable <Provider> > GetAllProviders(string providerVersionId)
        {
            if (!_providers.ContainsKey(providerVersionId))
            {
                _providers.Add(providerVersionId, (await _providersApiClientPolicy.ExecuteAsync(() => _providersApiClient.GetProvidersByVersion(providerVersionId))).Content.Providers);
            }

            return(_providers[providerVersionId]);
        }