Exemple #1
0
        public async Task GetConfigAsyncReturnsTableStoreValueParsedAsObject()
        {
            // Arrange
            var dummyResultObject = new SampleConfiguration
            {
                DataField1 = "value1",
                DataField2 = "value2",
                DataField3 = "value3",
            };

            var expectedStringValue = JsonConvert.SerializeObject(dummyResultObject);
            var tableStore          = A.Fake <IConfigurationRepository>();

            A.CallTo(() => tableStore.GetCloudConfigAsync(A <string> .Ignored, A <string> .Ignored)).Returns(expectedStringValue);

            var service = new SharedConfigurationService(tableStore, defaultMemoryStore);

            // Act
            var result = await service.GetConfigAsync <SampleConfiguration>(DummyServiceName, DummyKeyName).ConfigureAwait(false);

            // Assert
            result.Should().BeEquivalentTo(JsonConvert.DeserializeObject <SampleConfiguration>(expectedStringValue));
            A.CallTo(() => defaultMemoryStore.GetConfig(A <string> .Ignored)).MustHaveHappenedOnceExactly();
            A.CallTo(() => defaultMemoryStore.SetConfig(A <string> .Ignored, A <object> .Ignored)).MustHaveHappenedOnceExactly();
            A.CallTo(() => tableStore.GetCloudConfigAsync(A <string> .Ignored, A <string> .Ignored)).MustHaveHappenedOnceExactly();
        }
Exemple #2
0
        public async Task SetConfigAsyncThrowsNotImplementedExceptionWhenDataIsEncrypted()
        {
            // Arrange
            var service = new SharedConfigurationService(defaultTableStore, defaultMemoryStore);

            // Assert
            await Assert.ThrowsAsync <NotImplementedException>(async() => await service.SetConfigAsync <string>(DummyServiceName, DummyKeyName, "someData", true).ConfigureAwait(false)).ConfigureAwait(false);

            A.CallTo(() => defaultTableStore.SetCloudConfigAsync(A <string> .Ignored, A <string> .Ignored, A <string> .Ignored)).MustNotHaveHappened();
            A.CallTo(() => defaultMemoryStore.SetConfig(A <string> .Ignored, A <object> .Ignored)).MustNotHaveHappened();
        }
Exemple #3
0
        public async Task SetConfigAsyncReturnsTableStoreValueParsedAsString()
        {
            // Arrange
            var valueToInsert = JsonConvert.SerializeObject("SomeResultValue");
            var tableStore    = A.Fake <IConfigurationRepository>();

            A.CallTo(() => tableStore.SetCloudConfigAsync(A <string> .Ignored, A <string> .Ignored, A <string> .Ignored)).Returns(valueToInsert);

            var service = new SharedConfigurationService(tableStore, defaultMemoryStore);

            // Act
            await service.SetConfigAsync <string>(DummyServiceName, DummyKeyName, valueToInsert).ConfigureAwait(false);

            // Assert
            A.CallTo(() => tableStore.SetCloudConfigAsync(A <string> .Ignored, A <string> .Ignored, A <string> .Ignored)).MustHaveHappenedOnceExactly();
            A.CallTo(() => defaultMemoryStore.SetConfig(A <string> .Ignored, A <object> .Ignored)).MustHaveHappenedOnceExactly();
        }