public void WillThrowIfConfiguredSiteRootIsNotHttpOrHttps() { var configuration = new TestableConfigurationService(); configuration.StubConfiguredSiteRoot = "ftp://theSiteRoot/"; Assert.Throws<InvalidOperationException>(() => configuration.GetSiteRoot(useHttps: false)); }
public async Task WhenSettingIsNotEmptySecretInjectorIsRan() { // Arrange var secretInjectorMock = new Mock <ISecretInjector>(); secretInjectorMock.Setup(x => x.InjectAsync(It.IsAny <string>())) .Returns <string>(s => Task.FromResult(s + "parsed")); var secretReaderFactory = new Mock <ISecretReaderFactory>(); secretReaderFactory.Setup(x => x.CreateSecretReader(It.IsAny <IGalleryConfigurationService>())) .Returns(new EmptySecretReader()); secretReaderFactory.Setup(x => x.CreateSecretInjector(It.IsAny <ISecretReader>())) .Returns(secretInjectorMock.Object); var configurationService = new TestableConfigurationService(secretReaderFactory.Object); configurationService.CloudSettingStub = "somevalue"; // Act string result = await configurationService.ReadSetting("any"); // Assert Assert.Equal("somevalueparsed", result); }
public void WillThrowIfConfiguredSiteRootIsNotHttpOrHttps() { var configuration = new TestableConfigurationService(); configuration.StubConfiguredSiteRoot = "ftp://theSiteRoot/"; Assert.Throws <InvalidOperationException>(() => configuration.GetSiteRoot(useHttps: false)); }
public void WillUseHttpUponRequestWhenConfiguredSiteRootIsHttps() { var configuration = new TestableConfigurationService(); configuration.StubConfiguredSiteRoot = "https://theSiteRoot/"; var siteRoot = configuration.GetSiteRoot(useHttps: false); Assert.Equal("http://theSiteRoot/", siteRoot); }
public void WillGetTheConfiguredHttpsSiteRoot() { var configuration = new TestableConfigurationService(); configuration.StubConfiguredSiteRoot = "http://theSiteRoot/"; var siteRoot = configuration.GetSiteRoot(useHttps: true); Assert.Equal("https://theSiteRoot/", siteRoot); }
public void WillCacheTheSiteRootLookup() { var configuration = new TestableConfigurationService(); configuration.GetSiteRoot(useHttps: false); configuration.GetSiteRoot(useHttps: true); configuration.StubRequest.Verify(stub => stub.IsLocal, Times.Once()); }
public void WillUseTheActualRootWhenTheRequestIsLocal() { var configuration = new TestableConfigurationService(); configuration.StubRequest.Setup(stub => stub.IsLocal).Returns(true); configuration.StubRequest.Setup(stub => stub.Url).Returns(new Uri("http://theLocalSiteRoot/aPath")); var siteRoot = configuration.GetSiteRoot(useHttps: true); Assert.Equal("https://thelocalsiteroot/", siteRoot); }
public async Task WhenCloudSettingIsEmptyAppSettingIsReturned() { // Arrange var configurationService = new TestableConfigurationService(); configurationService.CloudSettingStub = null; configurationService.AppSettingStub = string.Empty; configurationService.ConnectionStringStub = "abc"; // Act string result = await configurationService.ReadSettingAsync("any"); // Assert Assert.Equal(configurationService.ConnectionStringStub, result); }
public async Task WhenCloudSettingIsNullStringNullIsReturned() { // Arrange var configurationService = new TestableConfigurationService(); configurationService.CloudSettingStub = "null"; configurationService.AppSettingStub = "bla"; configurationService.ConnectionStringStub = "abc"; // Act string result = await configurationService.ReadSettingAsync("any"); // Assert Assert.Null(result); }
public async Task GivenNotInjectedSettingNameSecretInjectorIsNotRan(string settingName) { // Arrange var secretInjectorMock = new Mock <ISecretInjector>(); secretInjectorMock.Setup(x => x.InjectAsync(It.IsAny <string>())) .Returns <string>(s => Task.FromResult(s + "parsed")); var configurationService = new TestableConfigurationService(secretInjectorMock.Object); configurationService.CloudSettingStub = "somevalue"; // Act string result = await configurationService.ReadSettingAsync(settingName); // Assert secretInjectorMock.Verify(x => x.InjectAsync(It.IsAny <string>()), Times.Never); Assert.Equal("somevalue", result); }
public async Task WhenCloudSettingIsNullStringNullIsReturned() { // Arrange var configurationService = new TestableConfigurationService(); configurationService.CloudSettingStub = "null"; configurationService.AppSettingStub = "bla"; configurationService.ConnectionStringStub = "abc"; // Act string result = await configurationService.ReadSetting("any"); // Assert Assert. Null(result); }
public async Task WhenSettingIsNotEmptySecretInjectorIsRan() { // Arrange var secretInjectorMock = new Mock<ISecretInjector>(); secretInjectorMock.Setup(x => x.InjectAsync(It.IsAny<string>())) .Returns<string>(s => Task.FromResult(s + "parsed")); var secretReaderFactory = new Mock<ISecretReaderFactory>(); secretReaderFactory.Setup(x => x.CreateSecretReader(It.IsAny<IGalleryConfigurationService>())) .Returns(new EmptySecretReader()); secretReaderFactory.Setup(x => x.CreateSecretInjector(It.IsAny<ISecretReader>())) .Returns(secretInjectorMock.Object); var configurationService = new TestableConfigurationService(secretReaderFactory.Object); configurationService.CloudSettingStub = "somevalue"; // Act string result = await configurationService.ReadSetting("any"); // Assert Assert.Equal("somevalueparsed", result); }
public async Task WhenCloudSettingIsEmptyAppSettingIsReturned() { // Arrange var configurationService = new TestableConfigurationService(); configurationService.CloudSettingStub = null; configurationService.AppSettingStub = string.Empty; configurationService.ConnectionStringStub = "abc"; // Act string result = await configurationService.ReadSetting("any"); // Assert Assert.Equal(configurationService.ConnectionStringStub, result); }