public void GetDefaultHostId_AzureHost_ReturnsExpectedResult(string siteName, string expected) { var options = new ScriptApplicationHostOptions { ScriptPath = @"c:\testscripts" }; var environment = new TestEnvironment(); environment.SetEnvironmentVariable(EnvironmentSettingNames.AzureWebsiteInstanceId, "123123"); environment.SetEnvironmentVariable(EnvironmentSettingNames.AzureWebsiteName, siteName); string hostId = ScriptHostIdProvider.GetDefaultHostId(environment, options); Assert.Equal(expected, hostId); }
public async Task GetHostIdAsync_WithConfigurationHostId_ReturnsConfigurationHostId() { var options = new ScriptApplicationHostOptions(); var environment = new TestEnvironment(); var config = new ConfigurationBuilder() .AddInMemoryCollection(new Dictionary <string, string> { { ConfigurationPath.Combine(ConfigurationSectionNames.JobHost, "id"), "test-host-id" } }) .Build(); var provider = new ScriptHostIdProvider(config, environment, new TestOptionsMonitor <ScriptApplicationHostOptions>(options)); string hostId = await provider.GetHostIdAsync(CancellationToken.None); Assert.Equal("test-host-id", hostId); }
public void GetDefaultHostId_AzureHost_ReturnsExpectedResult(string siteName, string azureWebsiteInstanceId, string expected, bool expectedTruncation) { var options = new ScriptApplicationHostOptions { ScriptPath = @"c:\testscripts" }; var environment = new TestEnvironment(); environment.SetEnvironmentVariable(EnvironmentSettingNames.AzureWebsiteInstanceId, azureWebsiteInstanceId); environment.SetEnvironmentVariable(EnvironmentSettingNames.AzureWebsiteName, siteName); environment.SetEnvironmentVariable(EnvironmentSettingNames.ContainerName, "testContainer"); environment.SetEnvironmentVariable(EnvironmentSettingNames.AzureWebsiteHostName, "testsite.azurewebsites.net"); var result = ScriptHostIdProvider.GetDefaultHostId(environment, options); Assert.Equal(expected, result.HostId); Assert.Equal(expectedTruncation, result.IsTruncated); Assert.False(result.IsLocal); }
public ScriptHostIdProviderTests() { var options = new ScriptApplicationHostOptions(); _environment = new TestEnvironment(); _mockConfiguration = new Mock <IConfiguration>(MockBehavior.Strict); var loggerProvider = new TestLoggerProvider(); var loggerFactory = new LoggerFactory(); loggerFactory.AddProvider(loggerProvider); var logger = loggerFactory.CreateLogger <HostIdValidator>(); var hostNameProvider = new HostNameProvider(_environment); var mockStorageProvider = new Mock <IAzureBlobStorageProvider>(MockBehavior.Strict); var mockApplicationLifetime = new Mock <IApplicationLifetime>(MockBehavior.Strict); _hostIdValidator = new HostIdValidator(_environment, mockStorageProvider.Object, mockApplicationLifetime.Object, hostNameProvider, logger); _provider = new ScriptHostIdProvider(_mockConfiguration.Object, _environment, new TestOptionsMonitor <ScriptApplicationHostOptions>(options), _hostIdValidator); }
public void GetDefaultHostId_SelfHost_ReturnsExpectedResult() { var options = new ScriptApplicationHostOptions { IsSelfHost = true, ScriptPath = @"c:\testing\FUNCTIONS-TEST\test$#" }; var environmentMock = new Mock <IEnvironment>(); string hostId = ScriptHostIdProvider.GetDefaultHostId(environmentMock.Object, options); // This suffix is a stable hash code derived from the "RootScriptPath" string passed in the configuration. // We're using the literal here as we want this test to fail if this compuation ever returns something different. string suffix = "473716271"; string sanitizedMachineName = Environment.MachineName .Where(char.IsLetterOrDigit) .Aggregate(new StringBuilder(), (b, c) => b.Append(c)).ToString().ToLowerInvariant(); Assert.Equal($"{sanitizedMachineName}-{suffix}", hostId); }