public async Task UpsertMasterDelegatesToCosmos() { MasterProviderVersion masterProviderVersion = NewMasterProviderVersion(); HttpStatusCode expectedStatusCode = NewRandomStatusCode(); GivenTheCosmosStatusCodeForTheUpsert(masterProviderVersion, expectedStatusCode); HttpStatusCode actualStatusCode = await WhenTheMasterProviderVersionIsUpserted(masterProviderVersion); actualStatusCode .Should() .Be(expectedStatusCode); }
public async Task <MasterProviderVersion> GetMasterProviderVersion() { MasterProviderVersion masterProviderVersion = await _cachePolicy.ExecuteAsync(() => _cacheProvider.GetAsync <MasterProviderVersion>(CacheKeys.MasterProviderVersion)); if (masterProviderVersion == null) { masterProviderVersion = await _providerVersionMetadataRepositoryPolicy.ExecuteAsync(() => _providerVersionMetadataRepository.GetMasterProviderVersion()); await _cacheProvider.SetAsync(CacheKeys.MasterProviderVersion, masterProviderVersion, TimeSpan.FromDays(CACHE_DURATION), true); } return(masterProviderVersion); }
public async Task GetMasterProviderVersionReturnsTheFirstMasterProviderVersionItLocatesWithAnIdOfMaster() { string master = nameof(master); MasterProviderVersion masterProviderVersionOne = NewMasterProviderVersion(); MasterProviderVersion masterProviderVersionTwo = NewMasterProviderVersion(_ => _.WithId(master)); MasterProviderVersion masterProviderVersionThree = NewMasterProviderVersion(); MasterProviderVersion masterProviderVersionFive = NewMasterProviderVersion(_ => _.WithId(master)); GivenTheCosmosContents(masterProviderVersionOne, masterProviderVersionTwo, masterProviderVersionThree, masterProviderVersionFive); MasterProviderVersion actualMasterProviderVersion = await WhenTheMasterProviderVersionIsQueried(); actualMasterProviderVersion .Should() .BeSameAs(masterProviderVersionTwo); }
private async Task <HttpStatusCode> WhenTheMasterProviderVersionIsUpserted(MasterProviderVersion providerVersion) => await _repository.UpsertMaster(providerVersion);
public async Task <HttpStatusCode> UpsertMaster(MasterProviderVersion providerVersionMetadataViewModel) { Guard.ArgumentNotNull(providerVersionMetadataViewModel, nameof(providerVersionMetadataViewModel)); return(await _cosmos.UpsertAsync(providerVersionMetadataViewModel)); }