Resolve build warnings for VS Preview and fix detector tests (#1429)

* added await/async to various php test files, and removed extra parameter from JamSpell_CanBe_Installed_In_The_BuildImage method

* fix detector tests by adding default output type to dotnetcore detection

* used default output type for empty output type name test case

* use task waitall instead of async methods for parallel testing

* added Async suffix throughout testing files to enforce the convention

* missing async suffix for node test

* use task whenall instead of task waitall to run tasks in parallel without blocking the thread

* removed php 8 imagick tests, as there are no indications that it ever passed. The exceptions have just been swallowed for the past few months

* tests could not find github-buster image, which does not seem to exist, however github-actions-buster does and is used in previous tests

* added support for mariadb 10.5 to test db scripts, and removed wordpress 5.1 test from running on php 8, as they are incompatible

* removed extra unused arg from method invocation

* add more helpful error logging and exit conditions for GetHostPortAsync

* Add collection to php integration tests to disable parallelization

* clean up final conflict marker for successful build

* converted fsharp test from 2.1 to 3.0
This commit is contained in:
Paul Dorsch 2022-07-07 12:57:46 -04:00 коммит произвёл GitHub
Родитель 9bf97354ef
Коммит f1f87c6c8a
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
63 изменённых файлов: 264 добавлений и 231 удалений

Просмотреть файл

@ -29,5 +29,7 @@ namespace Microsoft.Oryx.Detector.DotNetCore
public const string AzureFunctionsPackageReference = "Microsoft.NET.Sdk.Functions"; public const string AzureFunctionsPackageReference = "Microsoft.NET.Sdk.Functions";
public const string AzureBlazorWasmPackageReference = "Microsoft.AspNetCore.Components.WebAssembly"; public const string AzureBlazorWasmPackageReference = "Microsoft.AspNetCore.Components.WebAssembly";
public const string DefaultOutputType = "Library";
} }
} }

Просмотреть файл

@ -112,7 +112,7 @@ namespace Microsoft.Oryx.Detector.DotNetCore
string outputType = outputTypeElement?.Value; string outputType = outputTypeElement?.Value;
// default OutputType is "Library" // default OutputType is "Library"
string outputTypeResult = string.IsNullOrEmpty(outputType) ? "Library" : outputType; string outputTypeResult = string.IsNullOrEmpty(outputType) ? DotNetCoreConstants.DefaultOutputType : outputType;
return outputTypeResult; return outputTypeResult;
} }

Просмотреть файл

@ -112,8 +112,8 @@ namespace Microsoft.Oryx.Detector.Tests.DotNetCore
[Theory] [Theory]
[InlineData("Library", "Library")] [InlineData("Library", "Library")]
[InlineData("Exe", "Exe")] [InlineData("Exe", "Exe")]
[InlineData("randomText", "randomtext")] [InlineData("randomText", "randomText")]
[InlineData("", "Library")] [InlineData("", DotNetCoreConstants.DefaultOutputType)]
public void Detect_ReturnsOutputType( public void Detect_ReturnsOutputType(
string outputTypeName, string outputTypeName,
string expectedOutputType) string expectedOutputType)
@ -149,13 +149,12 @@ namespace Microsoft.Oryx.Detector.Tests.DotNetCore
} }
[Theory] [Theory]
[InlineData("Library", null)] [InlineData("Library")]
[InlineData("Exe", null)] [InlineData("Exe")]
[InlineData("randomText", null)] [InlineData("randomText")]
[InlineData("", null)] [InlineData("")]
public void Detect_ReturnsWithoutOutputType( public void Detect_ReturnsWithoutOutputType(
string outputTypeName, string outputTypeName)
string expectedOutputType)
{ {
// Arrange // Arrange
// create .csproj // create .csproj
@ -183,8 +182,8 @@ namespace Microsoft.Oryx.Detector.Tests.DotNetCore
Assert.NotNull(result); Assert.NotNull(result);
// check our outputType is there // check our outputType is the default output type
Assert.Equal(expectedOutputType, result.OutputType); Assert.Equal(DotNetCoreConstants.DefaultOutputType, result.OutputType);
} }
private DetectorContext CreateContext(ISourceRepo sourceRepo) private DetectorContext CreateContext(ISourceRepo sourceRepo)

Просмотреть файл

@ -31,8 +31,8 @@ namespace Microsoft.Oryx.BuildImage.Tests
public void PipelineTestInvocationLatest() public void PipelineTestInvocationLatest()
{ {
GeneratesScript_AndBuilds(Settings.BuildImageName); GeneratesScript_AndBuilds(Settings.BuildImageName);
JamSpell_CanBe_Installed_In_The_BuildImage("latest", "2"); JamSpell_CanBe_Installed_In_The_BuildImage("latest");
JamSpell_CanBe_Installed_In_The_BuildImage("latest", "3"); JamSpell_CanBe_Installed_In_The_BuildImage("latest");
DoesNotGenerateCondaBuildScript_IfImageDoesNotHaveCondaInstalledInIt("latest"); DoesNotGenerateCondaBuildScript_IfImageDoesNotHaveCondaInstalledInIt("latest");
} }
@ -40,14 +40,14 @@ namespace Microsoft.Oryx.BuildImage.Tests
public void PipelineTestInvocationLtsVersions() public void PipelineTestInvocationLtsVersions()
{ {
GeneratesScript_AndBuilds(Settings.LtsVersionsBuildImageName); GeneratesScript_AndBuilds(Settings.LtsVersionsBuildImageName);
JamSpell_CanBe_Installed_In_The_BuildImage("lts-versions", "3"); JamSpell_CanBe_Installed_In_The_BuildImage("lts-versions");
DoesNotGenerateCondaBuildScript_IfImageDoesNotHaveCondaInstalledInIt("lts-versions"); DoesNotGenerateCondaBuildScript_IfImageDoesNotHaveCondaInstalledInIt("lts-versions");
} }
[Fact, Trait("category", "vso-focal")] [Fact, Trait("category", "vso-focal")]
public void PipelineTestInvocationVsoFocal() public void PipelineTestInvocationVsoFocal()
{ {
JamSpell_CanBe_Installed_In_The_BuildImage("vso-focal", "3"); JamSpell_CanBe_Installed_In_The_BuildImage("vso-focal");
} }
[Fact, Trait("category", "githubactions")] [Fact, Trait("category", "githubactions")]
@ -1447,11 +1447,10 @@ namespace Microsoft.Oryx.BuildImage.Tests
} }
[Theory] [Theory]
[InlineData("lts-versions", "3")] [InlineData("lts-versions")]
[InlineData("vso-focal", "3")] [InlineData("vso-focal")]
[InlineData("latest", "2")] [InlineData("latest")]
[InlineData("latest", "3")] public void JamSpell_CanBe_Installed_In_The_BuildImage(string tagName)
public void JamSpell_CanBe_Installed_In_The_BuildImage(string tagName, string pythonVersion)
{ {
// Arrange // Arrange
var expectedPackage = "jamspell"; var expectedPackage = "jamspell";

Просмотреть файл

@ -23,7 +23,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[InlineData("3.1", NetCoreApp31MvcApp, "Welcome to ASP.NET Core MVC!")] [InlineData("3.1", NetCoreApp31MvcApp, "Welcome to ASP.NET Core MVC!")]
public async Task CanBuildAndRun_NetCore31WebApp( public async Task CanBuildAndRun_NetCore31WebAppAsync(
string runtimeVersion, string runtimeVersion,
string appName, string appName,
string expectedResponseContent) string expectedResponseContent)
@ -76,7 +76,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[InlineData("3.1", NetCoreApp31MvcApp, "Welcome to ASP.NET Core MVC!")] [InlineData("3.1", NetCoreApp31MvcApp, "Welcome to ASP.NET Core MVC!")]
[InlineData("5.0", Net5MvcApp, "Welcome to ASP.NET Core MVC!")] [InlineData("5.0", Net5MvcApp, "Welcome to ASP.NET Core MVC!")]
public async Task CanBuildAndRunAppUsingDynamicInstallationOfRuntimeInRuntimeImage( public async Task CanBuildAndRunAppUsingDynamicInstallationOfRuntimeInRuntimeImageAsync(
string runtimeVersion, string runtimeVersion,
string appName, string appName,
string expectedResponseContent) string expectedResponseContent)

Просмотреть файл

@ -26,7 +26,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRun_NetCore31MvcApp_UsingPreRunCommand_WithDynamicInstall() public async Task CanBuildAndRun_NetCore31MvcApp_UsingPreRunCommand_WithDynamicInstallAsync()
{ {
// Arrange // Arrange
var runtimeVersion = "3.1"; var runtimeVersion = "3.1";
@ -93,7 +93,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRun_NetCore31MvcApp_UsingPreRunScript_WithDynamicInstall() public async Task CanBuildAndRun_NetCore31MvcApp_UsingPreRunScript_WithDynamicInstallAsync()
{ {
// Arrange // Arrange
var runtimeVersion = "3.1"; var runtimeVersion = "3.1";

Просмотреть файл

@ -23,10 +23,10 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRun_FSharpNetCoreApp21WebApp_WithoutSpecifyingPlatformExplicitly() public async Task CanBuildAndRun_FSharpNetCoreApp30WebApp_WithoutSpecifyingPlatformExplicitlyAsync()
{ {
// Arrange // Arrange
var hostDir = Path.Combine(_hostSamplesDir, "DotNetCore", "FSharpNetCoreApp21.WebApp"); var hostDir = Path.Combine(_hostSamplesDir, "DotNetCore", "FSharpNetCoreApp30.WebApp");
var volume = DockerVolume.CreateMirror(hostDir); var volume = DockerVolume.CreateMirror(hostDir);
var appDir = volume.ContainerDir; var appDir = volume.ContainerDir;
var appOutputDirVolume = CreateAppOutputDirVolume(); var appOutputDirVolume = CreateAppOutputDirVolume();
@ -50,7 +50,7 @@ namespace Microsoft.Oryx.Integration.Tests
"-c", "-c",
buildImageScript buildImageScript
}, },
_imageHelper.GetRuntimeImage("dotnetcore", "2.1"), _imageHelper.GetRuntimeImage("dotnetcore", "3.0"),
ContainerPort, ContainerPort,
"/bin/sh", "/bin/sh",
new[] new[]
@ -67,7 +67,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRun_NetCore30WebApp() public async Task CanBuildAndRun_NetCore30WebAppAsync()
{ {
// Arrange // Arrange
var dotnetcoreVersion = "3.0"; var dotnetcoreVersion = "3.0";
@ -112,7 +112,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRun_NetCore30MvcApp() public async Task CanBuildAndRun_NetCore30MvcAppAsync()
{ {
// Arrange // Arrange
var dotnetcoreVersion = "3.0"; var dotnetcoreVersion = "3.0";
@ -157,7 +157,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanRun_NetCore30App_PublishedOnMacMachine_ButRunOnNetCore30RuntimeContainer() public async Task CanRun_NetCore30App_PublishedOnMacMachine_ButRunOnNetCore30RuntimeContainerAsync()
{ {
// This test verifies that we fallback to using 'dotnet TodoAppFromMac.dll' since the executable // This test verifies that we fallback to using 'dotnet TodoAppFromMac.dll' since the executable
// file 'TodoAppFromMac' was indeed generated from a Mac OS and cannot be run in a Linux container. // file 'TodoAppFromMac' was indeed generated from a Mac OS and cannot be run in a Linux container.
@ -193,7 +193,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRun_NetCore30WebApp_UsingExplicitStartupCommand() public async Task CanBuildAndRun_NetCore30WebApp_UsingExplicitStartupCommandAsync()
{ {
// Arrange // Arrange
var dotnetcoreVersion = "3.0"; var dotnetcoreVersion = "3.0";
@ -241,7 +241,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRun_NetCore30WebApp_HavingExplicitAssemblyName() public async Task CanBuildAndRun_NetCore30WebApp_HavingExplicitAssemblyNameAsync()
{ {
// Arrange // Arrange
var appName = "NetCoreApp30WebAppWithExplicitAssemblyName"; var appName = "NetCoreApp30WebAppWithExplicitAssemblyName";

Просмотреть файл

@ -23,7 +23,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRun_NetCore31WebApp() public async Task CanBuildAndRun_NetCore31WebAppAsync()
{ {
// Arrange // Arrange
var dotnetcoreVersion = "3.1"; var dotnetcoreVersion = "3.1";
@ -68,7 +68,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRunApp_FromNestedOutputDirectory() public async Task CanBuildAndRunApp_FromNestedOutputDirectoryAsync()
{ {
// Arrange // Arrange
var dotnetcoreVersion = "3.1"; var dotnetcoreVersion = "3.1";
@ -115,7 +115,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanRunAppWhichUsesGDILibrary() public async Task CanRunAppWhichUsesGDILibraryAsync()
{ {
// Arrange // Arrange
var appName = "ImageResizingWebApp"; var appName = "ImageResizingWebApp";
@ -162,7 +162,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanRunApp_UsingPreRunCommand_FromBuildEnvFile() public async Task CanRunApp_UsingPreRunCommand_FromBuildEnvFileAsync()
{ {
// Arrange // Arrange
var dotnetcoreVersion = "3.1"; var dotnetcoreVersion = "3.1";

Просмотреть файл

@ -23,7 +23,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRun_Without_Oryx_AppInsights_Codeless_Configuration() public async Task CanBuildAndRun_Without_Oryx_AppInsights_Codeless_ConfigurationAsync()
{ {
// Arrange // Arrange
var dotnetcoreVersion = DotNetCoreRunTimeVersions.NetCoreApp50; var dotnetcoreVersion = DotNetCoreRunTimeVersions.NetCoreApp50;
@ -80,7 +80,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRun_NetCore50MvcApp() public async Task CanBuildAndRun_NetCore50MvcAppAsync()
{ {
// Arrange // Arrange
var dotnetcoreVersion = DotNetCoreRunTimeVersions.NetCoreApp50; var dotnetcoreVersion = DotNetCoreRunTimeVersions.NetCoreApp50;

Просмотреть файл

@ -24,7 +24,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRun_NetCore60MvcApp() public async Task CanBuildAndRun_NetCore60MvcAppAsync()
{ {
// Arrange // Arrange
var dotnetcoreVersion = DotNetCoreRunTimeVersions.NetCoreApp60; var dotnetcoreVersion = DotNetCoreRunTimeVersions.NetCoreApp60;
@ -72,7 +72,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRun_Adds_Oryx_AppInsights_Codeless_Configuration() public async Task CanBuildAndRun_Adds_Oryx_AppInsights_Codeless_ConfigurationAsync()
{ {
// Arrange // Arrange
var dotnetcoreVersion = DotNetCoreRunTimeVersions.NetCoreApp60; var dotnetcoreVersion = DotNetCoreRunTimeVersions.NetCoreApp60;
@ -130,7 +130,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRun_DoesNot_Add_Oryx_AppInsights_Codeless_Configuration() public async Task CanBuildAndRun_DoesNot_Add_Oryx_AppInsights_Codeless_ConfigurationAsync()
{ {
// Arrange // Arrange
var dotnetcoreVersion = DotNetCoreRunTimeVersions.NetCoreApp60; var dotnetcoreVersion = DotNetCoreRunTimeVersions.NetCoreApp60;
@ -188,7 +188,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRun_NetCore60MvcApp_UsingExplicitStartupCommand() public async Task CanBuildAndRun_NetCore60MvcApp_UsingExplicitStartupCommandAsync()
{ {
// Arrange // Arrange
var dotnetcoreVersion = DotNetCoreRunTimeVersions.NetCoreApp60; var dotnetcoreVersion = DotNetCoreRunTimeVersions.NetCoreApp60;
@ -236,7 +236,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRunApp_FromNestedOutputDirectory() public async Task CanBuildAndRunApp_FromNestedOutputDirectoryAsync()
{ {
// Arrange // Arrange
var dotnetcoreVersion = DotNetCoreRunTimeVersions.NetCoreApp60; var dotnetcoreVersion = DotNetCoreRunTimeVersions.NetCoreApp60;
@ -284,7 +284,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanRunApp_UsingPreRunCommand_FromBuildEnvFile() public async Task CanRunApp_UsingPreRunCommand_FromBuildEnvFileAsync()
{ {
// Arrange // Arrange
var dotnetcoreVersion = DotNetCoreRunTimeVersions.NetCoreApp60; var dotnetcoreVersion = DotNetCoreRunTimeVersions.NetCoreApp60;

Просмотреть файл

@ -23,7 +23,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanRunApp_WithoutBuildManifestFile() public async Task CanRunApp_WithoutBuildManifestFileAsync()
{ {
// Arrange // Arrange
var golangVersion = "1.17"; var golangVersion = "1.17";

Просмотреть файл

@ -24,7 +24,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[InlineData("14"), Trait("category", "node-14")] [InlineData("14"), Trait("category", "node-14")]
public async Task CanBuildAndRunAngular6_WithDevAndProdDependencies_UsingCompressedNodeModules(string nodeVersion) public async Task CanBuildAndRunAngular6_WithDevAndProdDependencies_UsingCompressedNodeModulesAsync(string nodeVersion)
{ {
// Arrange // Arrange
string compressFormat = "tar-gz"; string compressFormat = "tar-gz";
@ -72,7 +72,7 @@ namespace Microsoft.Oryx.Integration.Tests
// Official Node.js version that is supported by Angular CLI 8.0+ is 10.9 or greater // Official Node.js version that is supported by Angular CLI 8.0+ is 10.9 or greater
[Theory] [Theory]
[InlineData("14"), Trait("category", "node-14")] [InlineData("14"), Trait("category", "node-14")]
public async Task CanBuildAndRun_Angular8App_WithoutCompressedNodeModules(string nodeVersion) public async Task CanBuildAndRun_Angular8App_WithoutCompressedNodeModulesAsync(string nodeVersion)
{ {
// Arrange // Arrange
var appName = "angular8app"; var appName = "angular8app";
@ -117,7 +117,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[InlineData("14"), Trait("category", "node-14")] [InlineData("14"), Trait("category", "node-14")]
public async Task CanBuildAndRun_Angular8App_NodeModules_SymLink_Exists_InRoot_WithoutCompression(string nodeVersion) public async Task CanBuildAndRun_Angular8App_NodeModules_SymLink_Exists_InRoot_WithoutCompressionAsync(string nodeVersion)
{ {
// Arrange // Arrange
var appName = "angular8app"; var appName = "angular8app";
@ -188,7 +188,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[InlineData("14"), Trait("category", "node-14")] [InlineData("14"), Trait("category", "node-14")]
public async Task CanBuildAndRunAngular8_WithDevAndProdDependencies_NodeModules_Dir_Exists_InAppDir_UsingCompression(string nodeVersion) public async Task CanBuildAndRunAngular8_WithDevAndProdDependencies_NodeModules_Dir_Exists_InAppDir_UsingCompressionAsync(string nodeVersion)
{ {
// Arrange // Arrange
string compressFormat = "tar-gz"; string compressFormat = "tar-gz";
@ -267,7 +267,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[InlineData("14"), Trait("category", "node-14-2")] [InlineData("14"), Trait("category", "node-14-2")]
public async Task CanBuildAndRunAngular8_WithDevAndProdDependencies_NodeModules_SymLink_Exists_InAppDir_UsingCompression(string nodeVersion) public async Task CanBuildAndRunAngular8_WithDevAndProdDependencies_NodeModules_SymLink_Exists_InAppDir_UsingCompressionAsync(string nodeVersion)
{ {
// Arrange // Arrange
string compressFormat = "tar-gz"; string compressFormat = "tar-gz";
@ -349,7 +349,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[InlineData("14"), Trait("category", "node-14-2")] [InlineData("14"), Trait("category", "node-14-2")]
public async Task CanBuildAndRunAngular8_WithDevAndProdDependencies_UsingCompressedNodeModules(string nodeVersion) public async Task CanBuildAndRunAngular8_WithDevAndProdDependencies_UsingCompressedNodeModulesAsync(string nodeVersion)
{ {
// Arrange // Arrange
string compressFormat = "tar-gz"; string compressFormat = "tar-gz";

Просмотреть файл

@ -25,7 +25,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[InlineData(NodeVersions.Node14Version), Trait("category", "node-14")] [InlineData(NodeVersions.Node14Version), Trait("category", "node-14")]
[InlineData(NodeVersions.Node16Version), Trait("category", "node-16")] [InlineData(NodeVersions.Node16Version), Trait("category", "node-16")]
public async Task CanBuildAndRunAppUsingDynamicInstallationOfRuntimeInRuntimeImage(string nodeVersion) public async Task CanBuildAndRunAppUsingDynamicInstallationOfRuntimeInRuntimeImageAsync(string nodeVersion)
{ {
// Arrange // Arrange
var appName = "webfrontend"; var appName = "webfrontend";
@ -75,7 +75,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[InlineData(NodeVersions.Node14Version), Trait("category", "node-14")] [InlineData(NodeVersions.Node14Version), Trait("category", "node-14")]
[InlineData(NodeVersions.Node16Version), Trait("category", "node-16")] [InlineData(NodeVersions.Node16Version), Trait("category", "node-16")]
public async Task CanBuildAndRunApp_UsingScriptCommand(string nodeVersion) public async Task CanBuildAndRunApp_UsingScriptCommandAsync(string nodeVersion)
{ {
// Arrange // Arrange
var appName = "webfrontend"; var appName = "webfrontend";

Просмотреть файл

@ -22,7 +22,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory(Skip = "bug: 1505700 may be intermittent")] [Theory(Skip = "bug: 1505700 may be intermittent")]
[InlineData("latest")] [InlineData("latest")]
[InlineData("github-actions")] [InlineData("github-actions")]
public async Task NodeApp_MySqlDB(string imageTag) public async Task NodeApp_MySqlDBAsync(string imageTag)
{ {
await RunTestAsync( await RunTestAsync(
"nodejs", "nodejs",

Просмотреть файл

@ -24,7 +24,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact(Skip = "next blogger app is broken")] [Fact(Skip = "next blogger app is broken")]
public async Task CanBuildAndRun_BlogStarterNextJsApp_WithoutZippingNodeModules() public async Task CanBuildAndRun_BlogStarterNextJsApp_WithoutZippingNodeModulesAsync()
{ {
// Arrange // Arrange
var nodeVersion = "14"; var nodeVersion = "14";
@ -68,7 +68,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact(Skip = "next blogger app is broken")] [Fact(Skip = "next blogger app is broken")]
public async Task CanBuildAndRun_BlogStarterNextJsApp_UsingZippedNodeModules() public async Task CanBuildAndRun_BlogStarterNextJsApp_UsingZippedNodeModulesAsync()
{ {
// Arrange // Arrange
var nodeVersion = "14"; var nodeVersion = "14";

Просмотреть файл

@ -25,7 +25,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRun_HackerNewsNuxtJsApp_WithoutZippingNodeModules() public async Task CanBuildAndRun_HackerNewsNuxtJsApp_WithoutZippingNodeModulesAsync()
{ {
// Arrange // Arrange
var nodeVersion = "14"; var nodeVersion = "14";
@ -71,7 +71,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRun_HackerNewsNuxtJsApp_UsingZippedNodeModules() public async Task CanBuildAndRun_HackerNewsNuxtJsApp_UsingZippedNodeModulesAsync()
{ {
// Arrange // Arrange
var nodeVersion = "14"; var nodeVersion = "14";

Просмотреть файл

@ -28,7 +28,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Fact] [Fact]
[Trait("category", "node-14-5")] [Trait("category", "node-14-5")]
public async Task CanBuildAndRunNodeApp_UsingCustomManifestFileLocation() public async Task CanBuildAndRunNodeApp_UsingCustomManifestFileLocationAsync()
{ {
// Arrange // Arrange
var manifestDirPath = Directory.CreateDirectory( var manifestDirPath = Directory.CreateDirectory(
@ -80,7 +80,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Fact] [Fact]
[Trait("category", "node-14-5")] [Trait("category", "node-14-5")]
public async Task CanBuildAndRunNodeApp_UsingZippedNodeModules_WithoutExtracting() public async Task CanBuildAndRunNodeApp_UsingZippedNodeModules_WithoutExtractingAsync()
{ {
// Arrange // Arrange
var appOutputDirPath = Directory.CreateDirectory(Path.Combine(_tempRootDir, Guid.NewGuid().ToString("N"))) var appOutputDirPath = Directory.CreateDirectory(Path.Combine(_tempRootDir, Guid.NewGuid().ToString("N")))
@ -133,7 +133,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory(Skip = "Bug#1071724")] [Theory(Skip = "Bug#1071724")]
[InlineData("true")] [InlineData("true")]
[InlineData("false")] [InlineData("false")]
public async Task CopiesNodeModulesInSubDirectory_ToDestinationAre_WithoutCompressedNodeModules(string pruneDevDependency) public async Task CopiesNodeModulesInSubDirectory_ToDestinationAre_WithoutCompressedNodeModulesAsync(string pruneDevDependency)
{ {
// Arrange // Arrange
// Use a separate volume for output due to rsync errors // Use a separate volume for output due to rsync errors
@ -180,7 +180,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Fact] [Fact]
[Trait("category", "node-14-5")] [Trait("category", "node-14-5")]
public async Task CanBuildAndRunNodeApp_OnSecondBuild_AfterZippingNodeModules_InFirstBuild() public async Task CanBuildAndRunNodeApp_OnSecondBuild_AfterZippingNodeModules_InFirstBuildAsync()
{ {
// Arrange // Arrange
var appOutputDirPath = Directory.CreateDirectory(Path.Combine(_tempRootDir, Guid.NewGuid().ToString("N"))) var appOutputDirPath = Directory.CreateDirectory(Path.Combine(_tempRootDir, Guid.NewGuid().ToString("N")))
@ -231,7 +231,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Fact] [Fact]
[Trait("category", "node-14-5")] [Trait("category", "node-14-5")]
public async Task CanBuildAndRunNodeApp_OnSecondBuild_AfterNotZippingNodeModules_InFirstBuild() public async Task CanBuildAndRunNodeApp_OnSecondBuild_AfterNotZippingNodeModules_InFirstBuildAsync()
{ {
// Arrange // Arrange
var appOutputDirPath = Directory.CreateDirectory(Path.Combine(_tempRootDir, Guid.NewGuid().ToString("N"))) var appOutputDirPath = Directory.CreateDirectory(Path.Combine(_tempRootDir, Guid.NewGuid().ToString("N")))
@ -282,7 +282,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Fact] [Fact]
[Trait("category", "node-14-5")] [Trait("category", "node-14-5")]
public async Task NodeStartupScript_UsesPortEnvironmentVariableValue() public async Task NodeStartupScript_UsesPortEnvironmentVariableValueAsync()
{ {
// Arrange // Arrange
var nodeVersion = NodeVersion; var nodeVersion = NodeVersion;
@ -327,7 +327,7 @@ namespace Microsoft.Oryx.Integration.Tests
[InlineData("ecosystem.config.js"), Trait("category", "node-14-5")] [InlineData("ecosystem.config.js"), Trait("category", "node-14-5")]
[InlineData("ecosystem.config.yaml"), Trait("category", "node-14-5")] [InlineData("ecosystem.config.yaml"), Trait("category", "node-14-5")]
[InlineData("ecosystem.config.yml"), Trait("category", "node-14-5")] [InlineData("ecosystem.config.yml"), Trait("category", "node-14-5")]
public async Task CanRunNodeApp_WithoutPm2_EvenThoughPm2SpecificFilesArePresentInRepo(string pm2ConfigFileName) public async Task CanRunNodeApp_WithoutPm2_EvenThoughPm2SpecificFilesArePresentInRepoAsync(string pm2ConfigFileName)
{ {
// Arrange // Arrange
// NOTE: this version does not have PM2 installed and so if PM2 was used in the startup script this test // NOTE: this version does not have PM2 installed and so if PM2 was used in the startup script this test
@ -374,7 +374,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Fact] [Fact]
[Trait("category", "node-14-6")] [Trait("category", "node-14-6")]
public async Task NodeStartupScript_UsesSuppliedBindingPort_EvenIfPortEnvironmentVariableValue_IsPresent() public async Task NodeStartupScript_UsesSuppliedBindingPort_EvenIfPortEnvironmentVariableValue_IsPresentAsync()
{ {
// Arrange // Arrange
var nodeVersion = NodeVersion; var nodeVersion = NodeVersion;
@ -417,7 +417,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Fact] [Fact]
[Trait("category", "node-14-6")] [Trait("category", "node-14-6")]
public async Task CanBuildAndRunNodeApp_UsingYarnForBuild_AndExplicitOutputFile() public async Task CanBuildAndRunNodeApp_UsingYarnForBuild_AndExplicitOutputFileAsync()
{ {
// Arrange // Arrange
var appName = "webfrontend-yarnlock"; var appName = "webfrontend-yarnlock";
@ -450,7 +450,7 @@ namespace Microsoft.Oryx.Integration.Tests
// Run on Linux only as TypeScript seems to create symlinks and this does not work on Windows machines. // Run on Linux only as TypeScript seems to create symlinks and this does not work on Windows machines.
[EnableOnPlatform("LINUX"), Trait("category", "node-14-6")] [EnableOnPlatform("LINUX"), Trait("category", "node-14-6")]
public async Task CanBuildNodeAppUsingScriptsNodeInPackageJson() public async Task CanBuildNodeAppUsingScriptsNodeInPackageJsonAsync()
{ {
// Arrange // Arrange
var appName = "NodeAndTypeScriptHelloWorld"; var appName = "NodeAndTypeScriptHelloWorld";
@ -492,7 +492,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Fact] [Fact]
[Trait("category", "node-14-6")] [Trait("category", "node-14-6")]
public async Task Node_Lab2AppServiceApp() public async Task Node_Lab2AppServiceAppAsync()
{ {
// Arrange // Arrange
var appName = "lab2-appservice"; var appName = "lab2-appservice";
@ -534,7 +534,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Fact(Skip = "bug: 1505700")] [Fact(Skip = "bug: 1505700")]
// [Trait("category", "node-14-6")] // [Trait("category", "node-14-6")]
public async Task Node_SoundCloudNgrxApp() public async Task Node_SoundCloudNgrxAppAsync()
{ {
// Arrange // Arrange
var appName = "soundcloud-ngrx"; var appName = "soundcloud-ngrx";
@ -578,7 +578,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Fact] [Fact]
[Trait("category", "node-14-6")] [Trait("category", "node-14-6")]
public async Task Node_CreateReactAppSample() public async Task Node_CreateReactAppSampleAsync()
{ {
// Arrange // Arrange
var appName = "create-react-app-sample"; var appName = "create-react-app-sample";
@ -619,7 +619,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact(Skip = "get rid of single image, #1088920")] [Fact(Skip = "get rid of single image, #1088920")]
public async Task Node_CreateReactAppSample_SingleImage() public async Task Node_CreateReactAppSample_SingleImageAsync()
{ {
// Arrange // Arrange
var appName = "create-react-app-sample"; var appName = "create-react-app-sample";
@ -657,7 +657,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact(Skip = "get rid of single image, #1088920")] [Fact(Skip = "get rid of single image, #1088920")]
public async Task CanBuildAndRun_NodeExpressApp_UsingSingleImage_AndCustomScript() public async Task CanBuildAndRun_NodeExpressApp_UsingSingleImage_AndCustomScriptAsync()
{ {
// Arrange // Arrange
var appName = "linxnodeexpress"; var appName = "linxnodeexpress";
@ -701,7 +701,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact(Skip = "get rid of single image, #1088920")] [Fact(Skip = "get rid of single image, #1088920")]
public async Task CanBuildAndRun_NodeExpressApp_UsingSingleImage_AndCustomStartupCommandOnly() public async Task CanBuildAndRun_NodeExpressApp_UsingSingleImage_AndCustomStartupCommandOnlyAsync()
{ {
// Arrange // Arrange
var appName = "linxnodeexpress"; var appName = "linxnodeexpress";
@ -744,7 +744,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Fact] [Fact]
[Trait("category", "node-14-6")] [Trait("category", "node-14-6")]
public async Task CanBuildAndRunNodeApp_UsingNestedOutputDirectory() public async Task CanBuildAndRunNodeApp_UsingNestedOutputDirectoryAsync()
{ {
// Arrange // Arrange
var appName = "webfrontend"; var appName = "webfrontend";
@ -785,7 +785,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Fact] [Fact]
[Trait("category", "node-14-6")] [Trait("category", "node-14-6")]
public async Task CanBuildAndRunNodeApp_UsingIntermediateDir_AndNestedOutputDirectory() public async Task CanBuildAndRunNodeApp_UsingIntermediateDir_AndNestedOutputDirectoryAsync()
{ {
// Arrange // Arrange
var appName = "webfrontend"; var appName = "webfrontend";

Просмотреть файл

@ -22,7 +22,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory (Skip = "Bug 1410367")] [Theory (Skip = "Bug 1410367")]
[InlineData("github-actions")] [InlineData("github-actions")]
[InlineData("latest")] [InlineData("latest")]
public async Task NodeApp_PostgreSqlDB(string imageTag) public async Task NodeApp_PostgreSqlDBAsync(string imageTag)
{ {
await RunTestAsync( await RunTestAsync(
"nodejs", "nodejs",

Просмотреть файл

@ -28,7 +28,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRunNodeApp_UsingPreRunCommand_WithDynamicInstall() public async Task CanBuildAndRunNodeApp_UsingPreRunCommand_WithDynamicInstallAsync()
{ {
// Arrange // Arrange
var nodeVersion = NodeVersions.Node14Version; var nodeVersion = NodeVersions.Node14Version;
@ -94,7 +94,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRunNodeApp_UsingPreRunScript_WithDynamicInstall() public async Task CanBuildAndRunNodeApp_UsingPreRunScript_WithDynamicInstallAsync()
{ {
// Arrange // Arrange
var nodeVersion = NodeVersions.Node14Version; var nodeVersion = NodeVersions.Node14Version;
@ -166,7 +166,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanRunApp_UsingPreRunCommand_FromBuildEnvFile() public async Task CanRunApp_UsingPreRunCommand_FromBuildEnvFileAsync()
{ {
// Arrange // Arrange
var nodeVersion = "14"; var nodeVersion = "14";

Просмотреть файл

@ -21,7 +21,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[InlineData("14"), Trait("category", "node-14")] [InlineData("14"), Trait("category", "node-14")]
public async Task Test_NodeSassExample(string nodeVersion) public async Task Test_NodeSassExampleAsync(string nodeVersion)
{ {
// Arrange // Arrange
var appName = "node-sass-example"; var appName = "node-sass-example";

Просмотреть файл

@ -29,7 +29,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[InlineData("github-actions")] [InlineData("github-actions")]
[InlineData("latest")] [InlineData("latest")]
public async Task NodeApp_MicrosoftSqlServerDB(string imageTag) public async Task NodeApp_MicrosoftSqlServerDBAsync(string imageTag)
{ {
// Arrange // Arrange
var appName = "node-mssql"; var appName = "node-mssql";

Просмотреть файл

@ -25,7 +25,7 @@ namespace Microsoft.Oryx.Integration.Tests
[MemberData( [MemberData(
nameof(TestValueGenerator.GetNodeVersions_SupportDebugging), nameof(TestValueGenerator.GetNodeVersions_SupportDebugging),
MemberType = typeof(TestValueGenerator))] MemberType = typeof(TestValueGenerator))]
public async Task CanBuildAndRunNodeApp_WithDebugger(string nodeVersion) public async Task CanBuildAndRunNodeApp_WithDebuggerAsync(string nodeVersion)
{ {
// Arrange // Arrange
var appOutputDirVolume = CreateAppOutputDirVolume(); var appOutputDirVolume = CreateAppOutputDirVolume();

Просмотреть файл

@ -24,7 +24,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[MemberData(nameof(TestValueGenerator.GetNodeVersions), MemberType = typeof(TestValueGenerator))] [MemberData(nameof(TestValueGenerator.GetNodeVersions), MemberType = typeof(TestValueGenerator))]
public async Task CanBuildAndRunNodeApp_Using_TarGz_zippedNodeModules(string nodeVersion) public async Task CanBuildAndRunNodeApp_Using_TarGz_zippedNodeModulesAsync(string nodeVersion)
{ {
// Arrange // Arrange
var compressFormat = "tar-gz"; var compressFormat = "tar-gz";
@ -70,7 +70,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[InlineData("14")] [InlineData("14")]
public async Task Node_CreateReactAppSample_zippedNodeModules(string nodeVersion) public async Task Node_CreateReactAppSample_zippedNodeModulesAsync(string nodeVersion)
{ {
// Arrange // Arrange
// Use a separate volume for output due to rsync errors // Use a separate volume for output due to rsync errors
@ -107,7 +107,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task BuildsAndRunsNodeApp_WhenPruneDevDependenciesIsTrue_AndNodeModulesAreCompressed() public async Task BuildsAndRunsNodeApp_WhenPruneDevDependenciesIsTrue_AndNodeModulesAreCompressedAsync()
{ {
// Arrange // Arrange
// Use a separate volume for output due to rsync errors // Use a separate volume for output due to rsync errors
@ -148,7 +148,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory(Skip = "Bug#1071724")] [Theory(Skip = "Bug#1071724")]
[InlineData("true")] [InlineData("true")]
[InlineData("false")] [InlineData("false")]
public async Task CopiesNodeModulesInSubDirectory_ToDestination_WhenNodeModulesAreCompressed(string pruneDevDependency) public async Task CopiesNodeModulesInSubDirectory_ToDestination_WhenNodeModulesAreCompressedAsync(string pruneDevDependency)
{ {
// Arrange // Arrange
// Use a separate volume for output due to rsync errors // Use a separate volume for output due to rsync errors

Просмотреть файл

@ -26,7 +26,7 @@ namespace Microsoft.Oryx.Integration.Tests
[InlineData("14", "enabled", ExtVarNames.UserAppInsightsConnectionStringEnv)] [InlineData("14", "enabled", ExtVarNames.UserAppInsightsConnectionStringEnv)]
//Without pre-IPA bits of appInsights, UserAppInsightsExtensionVersion value will be '~2' //Without pre-IPA bits of appInsights, UserAppInsightsExtensionVersion value will be '~2'
// and that will enable oryx's appInsight attach logic // and that will enable oryx's appInsight attach logic
public async Task CanBuildAndRun_App_With_AgentExtension_And_InstrumentKey_Or_ConnectionString( public async Task CanBuildAndRun_App_With_AgentExtension_And_InstrumentKey_Or_ConnectionStringAsync(
string nodeVersion, string nodeVersion,
string agentExtensionVersionEnvValue, string agentExtensionVersionEnvValue,
string appInsightKeyOrConnectionString) string appInsightKeyOrConnectionString)
@ -90,7 +90,7 @@ namespace Microsoft.Oryx.Integration.Tests
[InlineData("14", "disabled", ExtVarNames.UserAppInsightsConnectionStringEnv)] [InlineData("14", "disabled", ExtVarNames.UserAppInsightsConnectionStringEnv)]
//With New IPA bits of appInsights, UserAppInsightsExtensionVersion value will be '~3' //With New IPA bits of appInsights, UserAppInsightsExtensionVersion value will be '~3'
// and that will disable oryx's appInsight attach logic // and that will disable oryx's appInsight attach logic
public async Task CanBuildAndRun_NodeApp_AppInsights_With_NewIPA_Configuration( public async Task CanBuildAndRun_NodeApp_AppInsights_With_NewIPA_ConfigurationAsync(
string nodeVersion, string nodeVersion,
string agentExtensionVersionEnvValue, string agentExtensionVersionEnvValue,
string appInsightKeyOrConnectionString) string appInsightKeyOrConnectionString)

Просмотреть файл

@ -22,7 +22,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[MemberData(nameof(TestValueGenerator.GetNodeVersions), MemberType = typeof(TestValueGenerator))] [MemberData(nameof(TestValueGenerator.GetNodeVersions), MemberType = typeof(TestValueGenerator))]
public async Task CanBuildAndRun_NodeWebFrontEndApp(string nodeVersion) public async Task CanBuildAndRun_NodeWebFrontEndAppAsync(string nodeVersion)
{ {
// Arrange // Arrange
var appName = "webfrontend"; var appName = "webfrontend";
@ -67,7 +67,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[InlineData("webfrontend")] [InlineData("webfrontend")]
[InlineData("webfrontend-yarnlock")] [InlineData("webfrontend-yarnlock")]
public async Task CanBuildAndRun_NodeWebFrontEndApp_WhenPruneDevDependenciesIsTrue(string appName) public async Task CanBuildAndRun_NodeWebFrontEndApp_WhenPruneDevDependenciesIsTrueAsync(string appName)
{ {
// Arrange // Arrange
var nodeVersion = "14"; var nodeVersion = "14";
@ -112,7 +112,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRun_NodeWebFrontEndApp_AfterRebuild_WhenPruneDevDependenciesIsTrue() public async Task CanBuildAndRun_NodeWebFrontEndApp_AfterRebuild_WhenPruneDevDependenciesIsTrueAsync()
{ {
// Arrange // Arrange
var nodeVersion = "14"; var nodeVersion = "14";

Просмотреть файл

@ -13,6 +13,7 @@ using Xunit.Abstractions;
namespace Microsoft.Oryx.Integration.Tests namespace Microsoft.Oryx.Integration.Tests
{ {
[Collection("Php integration")]
public class PhpDynamicInstallationTest : PhpEndToEndTestsBase public class PhpDynamicInstallationTest : PhpEndToEndTestsBase
{ {
public PhpDynamicInstallationTest(ITestOutputHelper output, TestTempDirTestFixture fixture) public PhpDynamicInstallationTest(ITestOutputHelper output, TestTempDirTestFixture fixture)
@ -24,21 +25,21 @@ namespace Microsoft.Oryx.Integration.Tests
// platform-version in it's own pipeline agent. This is // platform-version in it's own pipeline agent. This is
// because our agents currently a space limit of 10GB. // because our agents currently a space limit of 10GB.
[Fact, Trait("category", "php-8.0")] [Fact, Trait("category", "php-8.0")]
public void PipelineTestInvocationsPhp80() public async Task PipelineTestInvocationsPhp80Async()
{ {
CanBuildAndRunApp("8.0"); await CanBuildAndRunAppAsync("8.0");
} }
[Fact, Trait("category", "php-7.4")] [Fact, Trait("category", "php-7.4")]
public void PipelineTestInvocationsPhp74() public async Task PipelineTestInvocationsPhp74Async()
{ {
CanBuildAndRunApp("7.4"); await CanBuildAndRunAppAsync("7.4");
} }
[Theory] [Theory]
[InlineData("8.0")] [InlineData("8.0")]
[InlineData("7.4")] [InlineData("7.4")]
public async Task CanBuildAndRunApp(string phpVersion) public async Task CanBuildAndRunAppAsync(string phpVersion)
{ {
// Arrange // Arrange
var exifImageTypePng = "3"; var exifImageTypePng = "3";

Просмотреть файл

@ -13,6 +13,7 @@ using Xunit.Abstractions;
namespace Microsoft.Oryx.Integration.Tests namespace Microsoft.Oryx.Integration.Tests
{ {
[Collection("Php integration")]
public class PhpExifTest : PhpEndToEndTestsBase public class PhpExifTest : PhpEndToEndTestsBase
{ {
private const string ExifImageTypePng = "3"; private const string ExifImageTypePng = "3";
@ -26,25 +27,27 @@ namespace Microsoft.Oryx.Integration.Tests
// platform-version in it's own pipeline agent. This is // platform-version in it's own pipeline agent. This is
// because our agents currently a space limit of 10GB. // because our agents currently a space limit of 10GB.
[Fact, Trait("category", "php-8.0")] [Fact, Trait("category", "php-8.0")]
public void PipelineTestInvocationsPhp80() public async Task PipelineTestInvocationsPhp80Async()
{ {
string phpVersion80 = "8.0"; string phpVersion80 = "8.0";
ExifExample(phpVersion80); await Task.WhenAll(
PhpFpmExifExample(phpVersion80); ExifExampleAsync(phpVersion80),
PhpFpmExifExampleAsync(phpVersion80));
} }
[Fact, Trait("category", "php-7.4")] [Fact, Trait("category", "php-7.4")]
public void PipelineTestInvocationsPhp74() public async Task PipelineTestInvocationsPhp74Async()
{ {
string phpVersion74 = "7.4"; string phpVersion74 = "7.4";
ExifExample(phpVersion74); await Task.WhenAll(
PhpFpmExifExample(phpVersion74); ExifExampleAsync(phpVersion74),
PhpFpmExifExampleAsync(phpVersion74));
} }
[Theory] [Theory]
[InlineData("8.0")] [InlineData("8.0")]
[InlineData("7.4")] [InlineData("7.4")]
public async Task ExifExample(string phpVersion) public async Task ExifExampleAsync(string phpVersion)
{ {
// Arrange // Arrange
var appName = "exif-example"; var appName = "exif-example";
@ -80,7 +83,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[InlineData("8.0")] [InlineData("8.0")]
[InlineData("7.4")] [InlineData("7.4")]
public async Task PhpFpmExifExample(string phpVersion) public async Task PhpFpmExifExampleAsync(string phpVersion)
{ {
// Arrange // Arrange
var appName = "exif-example"; var appName = "exif-example";

Просмотреть файл

@ -13,6 +13,7 @@ using Xunit.Abstractions;
namespace Microsoft.Oryx.Integration.Tests namespace Microsoft.Oryx.Integration.Tests
{ {
[Collection("Php integration")]
public class PhpGdTest : PhpEndToEndTestsBase public class PhpGdTest : PhpEndToEndTestsBase
{ {
public PhpGdTest(ITestOutputHelper output, TestTempDirTestFixture fixture) public PhpGdTest(ITestOutputHelper output, TestTempDirTestFixture fixture)
@ -24,25 +25,27 @@ namespace Microsoft.Oryx.Integration.Tests
// platform-version in it's own pipeline agent. This is // platform-version in it's own pipeline agent. This is
// because our agents currently a space limit of 10GB. // because our agents currently a space limit of 10GB.
[Fact, Trait("category", "php-8.0")] [Fact, Trait("category", "php-8.0")]
public void PipelineTestInvocationsPhp80() public async Task PipelineTestInvocationsPhp80Async()
{ {
string phpVersion80 = "8.0"; string phpVersion80 = "8.0";
GdExample(phpVersion80); await Task.WhenAll(
PhpFpmGdExample(phpVersion80); GdExampleAsync(phpVersion80),
PhpFpmGdExampleAsync(phpVersion80));
} }
[Fact, Trait("category", "php-7.4")] [Fact, Trait("category", "php-7.4")]
public void PipelineTestInvocationsPhp74() public async Task PipelineTestInvocationsPhp74Async()
{ {
string phpVersion74 = "7.4"; string phpVersion74 = "7.4";
GdExample(phpVersion74); await Task.WhenAll(
PhpFpmGdExample(phpVersion74); GdExampleAsync(phpVersion74),
PhpFpmGdExampleAsync(phpVersion74));
} }
[Theory] [Theory]
[InlineData("8.0")] [InlineData("8.0")]
[InlineData("7.4")] [InlineData("7.4")]
public async Task GdExample(string phpVersion) public async Task GdExampleAsync(string phpVersion)
{ {
// Arrange // Arrange
var appName = "gd-example"; var appName = "gd-example";
@ -78,7 +81,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[InlineData("8.0")] [InlineData("8.0")]
[InlineData("7.4")] [InlineData("7.4")]
public async Task PhpFpmGdExample(string phpVersion) public async Task PhpFpmGdExampleAsync(string phpVersion)
{ {
// Arrange // Arrange
var appName = "gd-example"; var appName = "gd-example";

Просмотреть файл

@ -12,6 +12,7 @@ using Xunit.Abstractions;
namespace Microsoft.Oryx.Integration.Tests namespace Microsoft.Oryx.Integration.Tests
{ {
[Collection("Php integration")]
public class PhpGreetingsAppTest : PhpEndToEndTestsBase public class PhpGreetingsAppTest : PhpEndToEndTestsBase
{ {
private const string ExifImageDebianFlavorPng = "3"; private const string ExifImageDebianFlavorPng = "3";
@ -25,25 +26,27 @@ namespace Microsoft.Oryx.Integration.Tests
// platform-version in it's own pipeline agent. This is // platform-version in it's own pipeline agent. This is
// because our agents currently a space limit of 10GB. // because our agents currently a space limit of 10GB.
[Fact, Trait("category", "php-8.0")] [Fact, Trait("category", "php-8.0")]
public void PipelineTestInvocationsPhp80() public async Task PipelineTestInvocationsPhp80Async()
{ {
string phpVersion80 = "8.0"; string phpVersion80 = "8.0";
GreetingsAppTest(phpVersion80); await Task.WhenAll(
PhpFpmGreetingsAppTest(phpVersion80); GreetingsAppTestAsync(phpVersion80),
PhpFpmGreetingsAppTestAsync(phpVersion80));
} }
[Fact, Trait("category", "php-7.4")] [Fact, Trait("category", "php-7.4")]
public void PipelineTestInvocationsPhp74() public async Task PipelineTestInvocationsPhp74Async()
{ {
string phpVersion74 = "7.4"; string phpVersion74 = "7.4";
GreetingsAppTest(phpVersion74); await Task.WhenAll(
PhpFpmGreetingsAppTest(phpVersion74); GreetingsAppTestAsync(phpVersion74),
PhpFpmGreetingsAppTestAsync(phpVersion74));
} }
[Theory] [Theory]
[InlineData("8.0")] [InlineData("8.0")]
[InlineData("7.4")] [InlineData("7.4")]
public async Task GreetingsAppTest(string phpVersion) public async Task GreetingsAppTestAsync(string phpVersion)
{ {
// Arrange // Arrange
var appName = "greetings"; var appName = "greetings";
@ -79,7 +82,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[InlineData("8.0")] [InlineData("8.0")]
[InlineData("7.4")] [InlineData("7.4")]
public async Task PhpFpmGreetingsAppTest(string phpVersion) public async Task PhpFpmGreetingsAppTestAsync(string phpVersion)
{ {
// Arrange // Arrange
var appName = "greetings"; var appName = "greetings";

Просмотреть файл

@ -13,6 +13,7 @@ using Xunit.Abstractions;
namespace Microsoft.Oryx.Integration.Tests namespace Microsoft.Oryx.Integration.Tests
{ {
[Collection("Php integration")]
public class PhpImagickExampleTest : PhpEndToEndTestsBase public class PhpImagickExampleTest : PhpEndToEndTestsBase
{ {
public PhpImagickExampleTest(ITestOutputHelper output, TestTempDirTestFixture fixture) public PhpImagickExampleTest(ITestOutputHelper output, TestTempDirTestFixture fixture)
@ -23,25 +24,18 @@ namespace Microsoft.Oryx.Integration.Tests
// Unique category traits are needed to run each // Unique category traits are needed to run each
// platform-version in it's own pipeline agent. This is // platform-version in it's own pipeline agent. This is
// because our agents currently a space limit of 10GB. // because our agents currently a space limit of 10GB.
[Fact, Trait("category", "php-8.0")]
public void PipelineTestInvocationsPhp80()
{
string phpVersion80 = "8.0";
ImagickExample(phpVersion80);
PhpFpmImagickExample(phpVersion80);
}
[Fact, Trait("category", "php-7.4")] [Fact, Trait("category", "php-7.4")]
public void PipelineTestInvocationsPhp74() public async Task PipelineTestInvocationsPhp74Async()
{ {
string phpVersion74 = "7.4"; string phpVersion74 = "7.4";
ImagickExample(phpVersion74); await Task.WhenAll(
PhpFpmImagickExample(phpVersion74); ImagickExampleAsync(phpVersion74),
PhpFpmImagickExampleAsync(phpVersion74));
} }
[Theory] [Theory]
[InlineData("7.4")] [InlineData("7.4")]
public async Task ImagickExample(string phpVersion) public async Task ImagickExampleAsync(string phpVersion)
{ {
// Arrange // Arrange
var appName = "imagick-example"; var appName = "imagick-example";
@ -75,7 +69,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[InlineData("7.4")] [InlineData("7.4")]
public async Task PhpFpmImagickExample(string phpVersion) public async Task PhpFpmImagickExampleAsync(string phpVersion)
{ {
// Arrange // Arrange
var appName = "imagick-example"; var appName = "imagick-example";

Просмотреть файл

@ -10,6 +10,7 @@ using Xunit.Abstractions;
namespace Microsoft.Oryx.Integration.Tests namespace Microsoft.Oryx.Integration.Tests
{ {
[Collection("Php integration")]
[Trait("db", "mysql")] [Trait("db", "mysql")]
public class PhpMySqlIntegrationTests : DatabaseTestsBase, IClassFixture<Fixtures.MySqlDbContainerFixture> public class PhpMySqlIntegrationTests : DatabaseTestsBase, IClassFixture<Fixtures.MySqlDbContainerFixture>
{ {
@ -22,17 +23,18 @@ namespace Microsoft.Oryx.Integration.Tests
// platform-version in it's own pipeline agent. This is // platform-version in it's own pipeline agent. This is
// because our agents currently a space limit of 10GB. // because our agents currently a space limit of 10GB.
[Fact, Trait("category", "php-7.4")] [Fact, Trait("category", "php-7.4")]
public void PipelineTestInvocationsPhp74() public async Task PipelineTestInvocationsPhp74Async()
{ {
string phpVersion74 = "7.4"; string phpVersion74 = "7.4";
PhpApp_UsingMysqli(phpVersion74, "latest"); await Task.WhenAll(
PhpApp_UsingMysqli(phpVersion74, "github-actions"); PhpApp_UsingMysqliAsync(phpVersion74, "latest"),
PhpApp_UsingMysqliAsync(phpVersion74, "github-actions"));
} }
[Theory] [Theory]
[InlineData("7.4", "latest")] [InlineData("7.4", "latest")]
[InlineData("7.4", "github-actions")] [InlineData("7.4", "github-actions")]
public async Task PhpApp_UsingMysqli(string phpVersion, string imageTag) public async Task PhpApp_UsingMysqliAsync(string phpVersion, string imageTag)
{ {
await RunTestAsync( await RunTestAsync(
"php", "php",

Просмотреть файл

@ -10,6 +10,7 @@ using Xunit.Abstractions;
namespace Microsoft.Oryx.Integration.Tests namespace Microsoft.Oryx.Integration.Tests
{ {
[Collection("Php integration")]
[Trait("category", "php-7.4")] [Trait("category", "php-7.4")]
[Trait("db", "postgres")] [Trait("db", "postgres")]
public class PhpPostgreSqlIntegrationTests : DatabaseTestsBase, IClassFixture<Fixtures.PostgreSqlDbContainerFixture> public class PhpPostgreSqlIntegrationTests : DatabaseTestsBase, IClassFixture<Fixtures.PostgreSqlDbContainerFixture>
@ -21,7 +22,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory(Skip = "Bug 1410367") ] [Theory(Skip = "Bug 1410367") ]
[InlineData("7.4")] [InlineData("7.4")]
public async Task PhpApp(string phpVersion) public async Task PhpAppAsync(string phpVersion)
{ {
await RunTestAsync( await RunTestAsync(
"php", "php",

Просмотреть файл

@ -14,6 +14,7 @@ using Xunit.Abstractions;
namespace Microsoft.Oryx.Integration.Tests namespace Microsoft.Oryx.Integration.Tests
{ {
[Collection("Php integration")]
[Trait("category", "php-7.4")] [Trait("category", "php-7.4")]
public class PhpPreRunCommandOrScriptTest : PhpEndToEndTestsBase public class PhpPreRunCommandOrScriptTest : PhpEndToEndTestsBase
{ {
@ -23,7 +24,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task TwigExampleCanBuildAndRun_UsingPreRunCommand() public async Task TwigExampleCanBuildAndRun_UsingPreRunCommandAsync()
{ {
// Arrange // Arrange
var phpVersion = "7.4"; var phpVersion = "7.4";
@ -69,7 +70,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task TwigExampleCanBuildAndRun_UsingPreRunScript() public async Task TwigExampleCanBuildAndRun_UsingPreRunScriptAsync()
{ {
// Arrange // Arrange
var phpVersion = "7.4"; var phpVersion = "7.4";
@ -119,7 +120,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task TwigExampleCanBuildAndRun_UsingPreRunScriptToInstallExtension() public async Task TwigExampleCanBuildAndRun_UsingPreRunScriptToInstallExtensionAsync()
{ {
// Arrange // Arrange
var phpVersion = "7.4"; var phpVersion = "7.4";
@ -173,7 +174,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanRunApp_UsingPreRunCommand_FromBuildEnvFile() public async Task CanRunApp_UsingPreRunCommand_FromBuildEnvFileAsync()
{ {
// Arrange // Arrange
var phpVersion = "7.4"; var phpVersion = "7.4";

Просмотреть файл

@ -15,6 +15,7 @@ using Xunit.Abstractions;
namespace Microsoft.Oryx.Integration.Tests namespace Microsoft.Oryx.Integration.Tests
{ {
[Collection("Php integration")]
[Trait("db", "sqlserver")] [Trait("db", "sqlserver")]
public class PhpSqlServerIntegrationTests : PlatformEndToEndTestsBase public class PhpSqlServerIntegrationTests : PlatformEndToEndTestsBase
{ {
@ -29,21 +30,23 @@ namespace Microsoft.Oryx.Integration.Tests
// platform-version in it's own pipeline agent. This is // platform-version in it's own pipeline agent. This is
// because our agents currently a space limit of 10GB. // because our agents currently a space limit of 10GB.
[Fact, Trait("category", "php-8.0")] [Fact, Trait("category", "php-8.0")]
public void PipelineTestInvocationsPhp80() public async Task PipelineTestInvocationsPhp80Async()
{ {
string phpVersion80 = "8.0"; string phpVersion80 = "8.0";
PhpApp_UsingPdo(phpVersion80, "github-actions"); await Task.WhenAll(
PhpApp_UsingPdo(phpVersion80, "github-buster"); PhpApp_UsingPdoAsync(phpVersion80, "github-actions"),
PhpApp_UsingPdo(phpVersion80, "latest"); PhpApp_UsingPdoAsync(phpVersion80, "github-actions-buster"),
PhpApp_UsingPdoAsync(phpVersion80, "latest"));
} }
[Fact, Trait("category", "php-7.4")] [Fact, Trait("category", "php-7.4")]
public void PipelineTestInvocationsPhp74() public async Task PipelineTestInvocationsPhp74Async()
{ {
string phpVersion74 = "7.4"; string phpVersion74 = "7.4";
PhpApp_UsingPdo(phpVersion74, "github-actions"); await Task.WhenAll(
PhpApp_UsingPdo(phpVersion74, "github-buster"); PhpApp_UsingPdoAsync(phpVersion74, "github-actions"),
PhpApp_UsingPdo(phpVersion74, "latest"); PhpApp_UsingPdoAsync(phpVersion74, "github-actions-buster"),
PhpApp_UsingPdoAsync(phpVersion74, "latest"));
} }
[Theory] [Theory]
@ -53,7 +56,7 @@ namespace Microsoft.Oryx.Integration.Tests
[InlineData("8.0", "github-actions")] [InlineData("8.0", "github-actions")]
[InlineData("8.0", "github-actions-buster")] [InlineData("8.0", "github-actions-buster")]
[InlineData("8.0", "latest")] [InlineData("8.0", "latest")]
public async Task PhpApp_UsingPdo(string phpVersion, string imageTag) public async Task PhpApp_UsingPdoAsync(string phpVersion, string imageTag)
{ {
// Arrange // Arrange
var appName = "sqlsrv-example"; var appName = "sqlsrv-example";

Просмотреть файл

@ -13,6 +13,7 @@ using Xunit.Abstractions;
namespace Microsoft.Oryx.Integration.Tests namespace Microsoft.Oryx.Integration.Tests
{ {
[Collection("Php integration")]
public class PhpTwigExampleTest : PhpEndToEndTestsBase public class PhpTwigExampleTest : PhpEndToEndTestsBase
{ {
public PhpTwigExampleTest(ITestOutputHelper output, TestTempDirTestFixture fixture) public PhpTwigExampleTest(ITestOutputHelper output, TestTempDirTestFixture fixture)
@ -24,26 +25,28 @@ namespace Microsoft.Oryx.Integration.Tests
// platform-version in it's own pipeline agent. This is // platform-version in it's own pipeline agent. This is
// because our agents currently a space limit of 10GB. // because our agents currently a space limit of 10GB.
[Fact, Trait("category", "php-8.0")] [Fact, Trait("category", "php-8.0")]
public void PipelineTestInvocationsPhp80() public async Task PipelineTestInvocationsPhp80Async()
{ {
string phpVersion80 = "8.0"; string phpVersion80 = "8.0";
TwigExample(phpVersion80); await Task.WhenAll(
PhpFpmTwigExample(phpVersion80); TwigExampleAsync(phpVersion80),
PhpFpmTwigExampleAsync(phpVersion80));
} }
[Fact, Trait("category", "php-7.4")] [Fact, Trait("category", "php-7.4")]
public void PipelineTestInvocationsPhp74() public async Task PipelineTestInvocationsPhp74Async()
{ {
string phpVersion74 = "7.4"; string phpVersion74 = "7.4";
TwigExample(phpVersion74); await Task.WhenAll(
PhpFpmTwigExample(phpVersion74); TwigExampleAsync(phpVersion74),
PhpFpmTwigExampleAsync(phpVersion74));
} }
[Theory] [Theory]
[InlineData("8.0")] [InlineData("8.0")]
[InlineData("7.4")] [InlineData("7.4")]
// Twig does not support PHP < 7 // Twig does not support PHP < 7
public async Task TwigExample(string phpVersion) public async Task TwigExampleAsync(string phpVersion)
{ {
// Arrange // Arrange
var appName = "twig-example"; var appName = "twig-example";
@ -79,7 +82,7 @@ namespace Microsoft.Oryx.Integration.Tests
[InlineData("8.0")] [InlineData("8.0")]
[InlineData("7.4")] [InlineData("7.4")]
// Twig does not support PHP < 7 // Twig does not support PHP < 7
public async Task PhpFpmTwigExample(string phpVersion) public async Task PhpFpmTwigExampleAsync(string phpVersion)
{ {
// Arrange // Arrange
var appName = "twig-example"; var appName = "twig-example";

Просмотреть файл

@ -16,6 +16,7 @@ using Xunit.Abstractions;
namespace Microsoft.Oryx.Integration.Tests namespace Microsoft.Oryx.Integration.Tests
{ {
[Collection("Php integration")]
public class PhpWordPressFpmTest : PhpEndToEndTestsBase public class PhpWordPressFpmTest : PhpEndToEndTestsBase
{ {
public PhpWordPressFpmTest(ITestOutputHelper output, TestTempDirTestFixture fixture) public PhpWordPressFpmTest(ITestOutputHelper output, TestTempDirTestFixture fixture)
@ -27,21 +28,21 @@ namespace Microsoft.Oryx.Integration.Tests
// platform-version in it's own pipeline agent. This is // platform-version in it's own pipeline agent. This is
// because our agents currently a space limit of 10GB. // because our agents currently a space limit of 10GB.
[Fact, Trait("category", "php-8.0")] [Fact, Trait("category", "php-8.0")]
public void PipelineTestInvocationsPhp80() public async Task PipelineTestInvocationsPhp80Async()
{ {
PhpFpmWithWordPress56("8.0-fpm"); await PhpFpmWithWordPress56Async("8.0-fpm");
} }
[Fact, Trait("category", "php-7.4")] [Fact, Trait("category", "php-7.4")]
public void PipelineTestInvocationsPhp74() public async Task PipelineTestInvocationsPhp74Async()
{ {
PhpFpmWithWordPress56("7.4-fpm"); await PhpFpmWithWordPress56Async("7.4-fpm");
} }
[Theory] [Theory]
[InlineData("8.0-fpm")] [InlineData("8.0-fpm")]
[InlineData("7.4-fpm")] [InlineData("7.4-fpm")]
public async Task PhpFpmWithWordPress56(string phpVersion) public async Task PhpFpmWithWordPress56Async(string phpVersion)
{ {
// Arrange // Arrange
string hostDir = Path.Combine(_tempRootDir, Guid.NewGuid().ToString("N")); string hostDir = Path.Combine(_tempRootDir, Guid.NewGuid().ToString("N"));

Просмотреть файл

@ -16,6 +16,7 @@ using Xunit.Abstractions;
namespace Microsoft.Oryx.Integration.Tests namespace Microsoft.Oryx.Integration.Tests
{ {
[Collection("Php integration")]
public class PhpWordPressTest : PhpEndToEndTestsBase public class PhpWordPressTest : PhpEndToEndTestsBase
{ {
public PhpWordPressTest(ITestOutputHelper output, TestTempDirTestFixture fixture) public PhpWordPressTest(ITestOutputHelper output, TestTempDirTestFixture fixture)
@ -27,25 +28,24 @@ namespace Microsoft.Oryx.Integration.Tests
// platform-version in it's own pipeline agent. This is // platform-version in it's own pipeline agent. This is
// because our agents currently a space limit of 10GB. // because our agents currently a space limit of 10GB.
[Fact, Trait("category", "php-8.0")] [Fact, Trait("category", "php-8.0")]
public void PipelineTestInvocationsPhp80() public async Task PipelineTestInvocationsPhp80Async()
{ {
string phpVersion80 = "8.0"; string phpVersion80 = "8.0";
PhpWithWordPress51(phpVersion80); await CanBuildAndRun_Wordpress_SampleAppAsync(phpVersion80);
CanBuildAndRun_Wordpress_SampleApp(phpVersion80);
} }
[Fact, Trait("category", "php-7.4")] [Fact, Trait("category", "php-7.4")]
public void PipelineTestInvocationsPhp74() public async Task PipelineTestInvocationsPhp74Async()
{ {
string phpVersion74 = "7.4"; string phpVersion74 = "7.4";
PhpWithWordPress51(phpVersion74); await Task.WhenAll(
CanBuildAndRun_Wordpress_SampleApp(phpVersion74); PhpWithWordPress51Async(phpVersion74),
CanBuildAndRun_Wordpress_SampleAppAsync(phpVersion74));
} }
[Theory] [Theory]
[InlineData("8.0")]
[InlineData("7.4")] [InlineData("7.4")]
public async Task PhpWithWordPress51(string phpVersion) public async Task PhpWithWordPress51Async(string phpVersion)
{ {
// Arrange // Arrange
string hostDir = Path.Combine(_tempRootDir, Guid.NewGuid().ToString("N")); string hostDir = Path.Combine(_tempRootDir, Guid.NewGuid().ToString("N"));
@ -94,7 +94,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[InlineData("8.0")] [InlineData("8.0")]
[InlineData("7.4")] [InlineData("7.4")]
public async Task CanBuildAndRun_Wordpress_SampleApp(string phpVersion) public async Task CanBuildAndRun_Wordpress_SampleAppAsync(string phpVersion)
{ {
// Arrange // Arrange
var appName = "wordpress-example"; var appName = "wordpress-example";

Просмотреть файл

@ -25,7 +25,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[InlineData("3.7")] [InlineData("3.7")]
public async Task CanBuildAndRunPythonApp(string pythonVersion) public async Task CanBuildAndRunPythonAppAsync(string pythonVersion)
{ {
// Arrange // Arrange
var appName = "django-app"; var appName = "django-app";
@ -68,7 +68,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRunPythonApp_UsingPython37_AndVirtualEnv() public async Task CanBuildAndRunPythonApp_UsingPython37_AndVirtualEnvAsync()
{ {
// Arrange // Arrange
var appName = "django-app"; var appName = "django-app";
@ -124,7 +124,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[InlineData("tar-gz", "tar.gz")] [InlineData("tar-gz", "tar.gz")]
[InlineData("zip", "zip")] [InlineData("zip", "zip")]
public async Task CanBuildAndRunPythonApp_UsingPython37_AndCompressedVirtualEnv( public async Task CanBuildAndRunPythonApp_UsingPython37_AndCompressedVirtualEnvAsync(
string compressOption, string compressOption,
string expectedCompressFileNameExtension) string expectedCompressFileNameExtension)
{ {
@ -182,7 +182,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRunPythonApp_UsingCustomManifestFileLocation() public async Task CanBuildAndRunPythonApp_UsingCustomManifestFileLocationAsync()
{ {
// Arrange // Arrange
var appName = "django-app"; var appName = "django-app";
@ -244,7 +244,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRun_DjangoApp_DoingCollectStaticByDefault() public async Task CanBuildAndRun_DjangoApp_DoingCollectStaticByDefaultAsync()
{ {
// Arrange // Arrange
var appName = "django-app"; var appName = "django-app";
@ -296,7 +296,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRun_DjangoPython37App_UsingVirtualEnv() public async Task CanBuildAndRun_DjangoPython37App_UsingVirtualEnvAsync()
{ {
// Arrange // Arrange
var appName = "django-app"; var appName = "django-app";
@ -352,7 +352,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRunPythonApp_WhenAllOutputIsCompressed() public async Task CanBuildAndRunPythonApp_WhenAllOutputIsCompressedAsync()
{ {
// Arrange // Arrange
var appName = "django-app"; var appName = "django-app";

Просмотреть файл

@ -21,7 +21,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanRunPythonApp_UsingEarlierBuiltPackagesDirectory() public async Task CanRunPythonApp_UsingEarlierBuiltPackagesDirectoryAsync()
{ {
// This is AppService's scenario where previously built apps can still run // This is AppService's scenario where previously built apps can still run
// fine. // fine.
@ -77,7 +77,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanRunPythonApp_WithoutBuildManifestFile() public async Task CanRunPythonApp_WithoutBuildManifestFileAsync()
{ {
// This is AppService's scenario where previously built apps can still run // This is AppService's scenario where previously built apps can still run
// fine. // fine.

Просмотреть файл

@ -22,7 +22,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[InlineData("3.8")] [InlineData("3.8")]
public async Task CanBuildAndRunPythonApp_UsingCustomStartUpScript(string pythonVersion) public async Task CanBuildAndRunPythonApp_UsingCustomStartUpScriptAsync(string pythonVersion)
{ {
// Arrange // Arrange
var appName = "http-server-py"; var appName = "http-server-py";
@ -72,7 +72,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[InlineData("3.8")] [InlineData("3.8")]
public async Task CanBuildAndRunPythonApp_UsingCustomStartUpCommand(string pythonVersion) public async Task CanBuildAndRunPythonApp_UsingCustomStartUpCommandAsync(string pythonVersion)
{ {
// Arrange // Arrange
var appName = "http-server-py"; var appName = "http-server-py";

Просмотреть файл

@ -25,7 +25,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[InlineData("3.7", 5637)] // Test with a non-default port as well [InlineData("3.7", 5637)] // Test with a non-default port as well
public async Task CanBuildAndDebugFlaskApp(string pythonVersion, int? debugPort = null) public async Task CanBuildAndDebugFlaskAppAsync(string pythonVersion, int? debugPort = null)
{ {
// Arrange // Arrange
var appName = "flask-app"; var appName = "flask-app";
@ -57,7 +57,7 @@ namespace Microsoft.Oryx.Integration.Tests
// Send an Initialize request to make sure the debugger is running // Send an Initialize request to make sure the debugger is running
using (var debugClient = new SimpleDAPClient("127.0.0.1", ptvsdHostPort, "oryxtests")) using (var debugClient = new SimpleDAPClient("127.0.0.1", ptvsdHostPort, "oryxtests"))
{ {
string initResponse = await debugClient.Initialize(); string initResponse = await debugClient.InitializeAsync();
// Deliberately weak assertion; don't care what's in the response, only that there IS a response // Deliberately weak assertion; don't care what's in the response, only that there IS a response
Assert.False(string.IsNullOrEmpty(initResponse)); Assert.False(string.IsNullOrEmpty(initResponse));
} }
@ -66,7 +66,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[InlineData("3.7", 5637)] // Test with a non-default port as well [InlineData("3.7", 5637)] // Test with a non-default port as well
public async Task CanBuildAndDebugFlaskAppWithDebugPy(string pythonVersion, int? debugPort = null) public async Task CanBuildAndDebugFlaskAppWithDebugPyAsync(string pythonVersion, int? debugPort = null)
{ {
// Arrange // Arrange
var appName = "flask-app"; var appName = "flask-app";
@ -98,7 +98,7 @@ namespace Microsoft.Oryx.Integration.Tests
// Send an Initialize request to make sure the debugger is running // Send an Initialize request to make sure the debugger is running
using (var debugClient = new SimpleDAPClient("127.0.0.1", debugPyHostPort, "oryxtests")) using (var debugClient = new SimpleDAPClient("127.0.0.1", debugPyHostPort, "oryxtests"))
{ {
string initResponse = await debugClient.Initialize(); string initResponse = await debugClient.InitializeAsync();
// Deliberately weak assertion; don't care what's in the response, only that there IS a response // Deliberately weak assertion; don't care what's in the response, only that there IS a response
Assert.False(string.IsNullOrEmpty(initResponse)); Assert.False(string.IsNullOrEmpty(initResponse));
} }

Просмотреть файл

@ -22,7 +22,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRun_MultiPlatformApp_HavingReactAndDjango() public async Task CanBuildAndRun_MultiPlatformApp_HavingReactAndDjangoAsync()
{ {
// Arrange // Arrange
var appName = "reactdjango"; var appName = "reactdjango";

Просмотреть файл

@ -27,7 +27,7 @@ namespace Microsoft.Oryx.Integration.Tests
[InlineData("3.7")] [InlineData("3.7")]
[InlineData("3.8")] [InlineData("3.8")]
[InlineData("3.9")] [InlineData("3.9")]
public async Task CanBuildAndRunPythonApp(string pythonVersion) public async Task CanBuildAndRunPythonAppAsync(string pythonVersion)
{ {
// Arrange // Arrange
var appName = "flask-app"; var appName = "flask-app";
@ -71,7 +71,7 @@ namespace Microsoft.Oryx.Integration.Tests
[InlineData(PythonVersions.Python37Version)] [InlineData(PythonVersions.Python37Version)]
[InlineData(PythonVersions.Python38Version)] [InlineData(PythonVersions.Python38Version)]
[InlineData(PythonVersions.Python39Version)] [InlineData(PythonVersions.Python39Version)]
public async Task CanBuildAndRunPythonApp_UsingGitHubActionsBuildImage_AndDynamicRuntimeInstallation( public async Task CanBuildAndRunPythonApp_UsingGitHubActionsBuildImage_AndDynamicRuntimeInstallationAsync(
string pythonVersion) string pythonVersion)
{ {
// Arrange // Arrange
@ -111,7 +111,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Theory] [Theory]
[InlineData(PythonVersions.Python310Version)] [InlineData(PythonVersions.Python310Version)]
public async Task CanBuildAndRunPythonApp_UsingGitHubActionsBullseyeBuildImage_AndDynamicRuntimeInstallation( public async Task CanBuildAndRunPythonApp_UsingGitHubActionsBullseyeBuildImage_AndDynamicRuntimeInstallationAsync(
string pythonVersion) string pythonVersion)
{ {
// Arrange // Arrange
@ -161,7 +161,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRunPythonApp_UsingScriptCommandAndSetEnvSwitch() public async Task CanBuildAndRunPythonApp_UsingScriptCommandAndSetEnvSwitchAsync()
{ {
// Arrange // Arrange
var pythonVersion = "3.7"; var pythonVersion = "3.7";
@ -213,7 +213,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory(Skip = "Temporarily skip, Bug#1266781")] [Theory(Skip = "Temporarily skip, Bug#1266781")]
[InlineData(true)] [InlineData(true)]
[InlineData(false)] [InlineData(false)]
public async Task CanBuildAndRunPythonAppWhenUsingPackageDirSwitch(bool compressDestinationDir) public async Task CanBuildAndRunPythonAppWhenUsingPackageDirSwitchAsync(bool compressDestinationDir)
{ {
// Arrange // Arrange
var pythonVersion = "3.7"; var pythonVersion = "3.7";

Просмотреть файл

@ -22,7 +22,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task CanBuildAndRun_Tweeter3App() public async Task CanBuildAndRun_Tweeter3AppAsync()
{ {
// Arrange // Arrange
var appName = "tweeter3"; var appName = "tweeter3";
@ -67,7 +67,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[InlineData("3.7")] [InlineData("3.7")]
public async Task BuildWithVirtualEnv_RemovesOryxPackagesDir_FromOlderBuild(string pythonVersion) public async Task BuildWithVirtualEnv_RemovesOryxPackagesDir_FromOlderBuildAsync(string pythonVersion)
{ {
// Arrange // Arrange
var appName = "django-app"; var appName = "django-app";
@ -123,7 +123,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory (Skip = "Bug 1410367")] [Theory (Skip = "Bug 1410367")]
[InlineData("3.7")] [InlineData("3.7")]
[InlineData("3.8")] [InlineData("3.8")]
public async Task BuildWithVirtualEnv_From_File_Requirement_Txt(string pythonVersion) public async Task BuildWithVirtualEnv_From_File_Requirement_TxtAsync(string pythonVersion)
{ {
// This is to test if we can build and run an app when both the files requirement.txt // This is to test if we can build and run an app when both the files requirement.txt
// and setup.py are provided, we tend to prioritize the root level requirement.txt // and setup.py are provided, we tend to prioritize the root level requirement.txt
@ -163,7 +163,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact(Skip = "Bug 1410367") ] [Fact(Skip = "Bug 1410367") ]
public async Task CanBuildAndRunPythonApp_UsingOutputDirectory_NestedUnderSourceDirectory() public async Task CanBuildAndRunPythonApp_UsingOutputDirectory_NestedUnderSourceDirectoryAsync()
{ {
// Arrange // Arrange
var appName = "flask-app"; var appName = "flask-app";
@ -206,7 +206,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact (Skip = "Bug 1410367")] [Fact (Skip = "Bug 1410367")]
public async Task CanBuildAndRunPythonApp_UsingIntermediateDir_AndNestedOutputDirectory() public async Task CanBuildAndRunPythonApp_UsingIntermediateDir_AndNestedOutputDirectoryAsync()
{ {
// Arrange // Arrange
var appName = "flask-app"; var appName = "flask-app";

Просмотреть файл

@ -20,7 +20,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact(Skip = "work item #1122020")] [Fact(Skip = "work item #1122020")]
public async Task CanBuildAndRunPythonApp_UsingGunicornMultipleWorkers() public async Task CanBuildAndRunPythonApp_UsingGunicornMultipleWorkersAsync()
{ {
// Arrange // Arrange
var pythonVersion = "3.7"; var pythonVersion = "3.7";

Просмотреть файл

@ -26,7 +26,7 @@ namespace Microsoft.Oryx.Integration.Tests
[InlineData("mysql-mysqlconnector-sample", "github-actions")] [InlineData("mysql-mysqlconnector-sample", "github-actions")]
[InlineData("mysql-mysqlclient-sample", "latest")] [InlineData("mysql-mysqlclient-sample", "latest")]
[InlineData("mysql-mysqlclient-sample", "github-actions")] [InlineData("mysql-mysqlclient-sample", "github-actions")]
public async Task Python37App_MySqlDB_UsingPyMySql_UsingLtsVersionsBuildImage( public async Task Python37App_MySqlDB_UsingPyMySql_UsingLtsVersionsBuildImageAsync(
string sampleAppName, string sampleAppName,
string imageTag) string imageTag)
{ {
@ -41,7 +41,7 @@ namespace Microsoft.Oryx.Integration.Tests
[InlineData("mysql-pymysql-sample", "github-actions-buster")] [InlineData("mysql-pymysql-sample", "github-actions-buster")]
[InlineData("mysql-mysqlconnector-sample", "github-actions-buster")] [InlineData("mysql-mysqlconnector-sample", "github-actions-buster")]
[InlineData("mysql-mysqlclient-sample", "github-actions-buster")] [InlineData("mysql-mysqlclient-sample", "github-actions-buster")]
public async Task Python39App_MySqlDB_UsingPyMySql_UsingBusterBuildImage( public async Task Python39App_MySqlDB_UsingPyMySql_UsingBusterBuildImageAsync(
string sampleAppName, string sampleAppName,
string imageTag) string imageTag)
{ {

Просмотреть файл

@ -21,7 +21,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task PythonStartupScript_UsesPortEnvironmentVariableValue() public async Task PythonStartupScript_UsesPortEnvironmentVariableValueAsync()
{ {
// Arrange // Arrange
var appName = "django-app"; var appName = "django-app";
@ -74,7 +74,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact] [Fact]
public async Task PythonStartupScript_UsesSuppliedBindingPort_EvenIfPortEnvironmentVariableValue_IsPresent() public async Task PythonStartupScript_UsesSuppliedBindingPort_EvenIfPortEnvironmentVariableValue_IsPresentAsync()
{ {
// Arrange // Arrange
var appName = "django-app"; var appName = "django-app";

Просмотреть файл

@ -23,7 +23,7 @@ namespace Microsoft.Oryx.Integration.Tests
[InlineData("github-actions")] [InlineData("github-actions")]
[InlineData("github-actions-buster")] [InlineData("github-actions-buster")]
[InlineData("latest")] [InlineData("latest")]
public async Task Python37App_PostgreSqlDB(string imageTag) public async Task Python37App_PostgreSqlDBAsync(string imageTag)
{ {
await RunTestAsync( await RunTestAsync(
"python", "python",

Просмотреть файл

@ -28,7 +28,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact(Skip = "Bug 1410367") ] [Fact(Skip = "Bug 1410367") ]
public async Task CanBuildAndRunPythonApp_UsingPreRunCommand_WithDynamicInstall() public async Task CanBuildAndRunPythonApp_UsingPreRunCommand_WithDynamicInstallAsync()
{ {
// Arrange // Arrange
var pythonVersion = "3.7"; var pythonVersion = "3.7";
@ -86,7 +86,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact(Skip = "Bug 1410367") ] [Fact(Skip = "Bug 1410367") ]
public async Task CanBuildAndRunPythonApp_UsingPreRunScript_WithDynamicInstall() public async Task CanBuildAndRunPythonApp_UsingPreRunScript_WithDynamicInstallAsync()
{ {
// Arrange // Arrange
var pythonVersion = "3.7"; var pythonVersion = "3.7";
@ -151,7 +151,7 @@ namespace Microsoft.Oryx.Integration.Tests
} }
[Fact (Skip = "Bug 1410367")] [Fact (Skip = "Bug 1410367")]
public async Task CanRunApp_UsingPreRunCommand_FromBuildEnvFile() public async Task CanRunApp_UsingPreRunCommand_FromBuildEnvFileAsync()
{ {
// Arrange // Arrange
var version = "3.8"; var version = "3.8";

Просмотреть файл

@ -22,7 +22,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[MemberData(nameof(TestValueGenerator.GetPythonVersions), MemberType = typeof(TestValueGenerator))] [MemberData(nameof(TestValueGenerator.GetPythonVersions), MemberType = typeof(TestValueGenerator))]
public async Task CanBuildAndRun_ShapelyFlaskApp_UsingVirtualEnv(string pythonVersion) public async Task CanBuildAndRun_ShapelyFlaskApp_UsingVirtualEnvAsync(string pythonVersion)
{ {
// Arrange // Arrange
var appName = "shapely-flask-app"; var appName = "shapely-flask-app";
@ -67,7 +67,7 @@ namespace Microsoft.Oryx.Integration.Tests
[Theory] [Theory]
[MemberData(nameof(TestValueGenerator.GetPythonVersions), MemberType = typeof(TestValueGenerator))] [MemberData(nameof(TestValueGenerator.GetPythonVersions), MemberType = typeof(TestValueGenerator))]
public async Task CanBuildAndRun_ShapelyFlaskApp_PackageDir(string pythonVersion) public async Task CanBuildAndRun_ShapelyFlaskApp_PackageDirAsync(string pythonVersion)
{ {
// Arrange // Arrange
const string packageDir = "orx_packages"; const string packageDir = "orx_packages";

Просмотреть файл

@ -30,7 +30,7 @@ namespace Microsoft.Oryx.Integration.Tests
[InlineData("github-actions")] [InlineData("github-actions")]
[InlineData("github-actions-buster")] [InlineData("github-actions-buster")]
[InlineData("latest")] [InlineData("latest")]
public async Task Python37App_MicrosoftSqlServerDB(string imageTag) public async Task Python37App_MicrosoftSqlServerDBAsync(string imageTag)
{ {
// Arrange // Arrange
var appName = "mssqlserver-sample"; var appName = "mssqlserver-sample";

Просмотреть файл

@ -39,7 +39,7 @@ namespace Microsoft.Oryx.Integration.Tests.VSCodeDebugProtocol
_tcpStream = _tcpClient.GetStream(); _tcpStream = _tcpClient.GetStream();
} }
public async Task<string> Initialize() public async Task<string> InitializeAsync()
{ {
var reqArgs = new Messages.InitializeRequestArguments { ClientName = _name }; var reqArgs = new Messages.InitializeRequestArguments { ClientName = _name };
var req = new Messages.InitializeRequest { SequenceNumber = _sequence++, Args = reqArgs }; var req = new Messages.InitializeRequest { SequenceNumber = _sequence++, Args = reqArgs };
@ -52,7 +52,7 @@ namespace Microsoft.Oryx.Integration.Tests.VSCodeDebugProtocol
// Write out the request // Write out the request
await _tcpStream.WriteAsync(reqData, 0, reqData.Length); await _tcpStream.WriteAsync(reqData, 0, reqData.Length);
return await RecvRawMessage(); return await RecvRawMessageAsync();
} }
/// <summary> /// <summary>
@ -60,7 +60,7 @@ namespace Microsoft.Oryx.Integration.Tests.VSCodeDebugProtocol
/// For example - ignores the Content-Length headers completely. /// For example - ignores the Content-Length headers completely.
/// </summary> /// </summary>
/// <returns>Array of message bodies received.</returns> /// <returns>Array of message bodies received.</returns>
private async Task<string> RecvRawMessage() private async Task<string> RecvRawMessageAsync()
{ {
var rawResData = new byte[256]; var rawResData = new byte[256];
int bytesRecvd = await _tcpStream.ReadAsync(rawResData, 0, rawResData.Length); int bytesRecvd = await _tcpStream.ReadAsync(rawResData, 0, rawResData.Length);

Просмотреть файл

@ -25,7 +25,7 @@ namespace Microsoft.Oryx.RuntimeImage.Tests
[MemberData( [MemberData(
nameof(TestValueGenerator.GetNodeVersions), nameof(TestValueGenerator.GetNodeVersions),
MemberType = typeof(TestValueGenerator))] MemberType = typeof(TestValueGenerator))]
public async Task GeneratesScript_CanRun_AppInsightsModule_NotFound(string nodeVersion) public async Task GeneratesScript_CanRun_AppInsightsModule_NotFoundAsync(string nodeVersion)
{ {
// This test is for the following scenario: // This test is for the following scenario:
// When we find no application insight dependency in package.json, but env variables for // When we find no application insight dependency in package.json, but env variables for
@ -74,7 +74,7 @@ namespace Microsoft.Oryx.RuntimeImage.Tests
[MemberData( [MemberData(
nameof(TestValueGenerator.GetNodeVersions), nameof(TestValueGenerator.GetNodeVersions),
MemberType = typeof(TestValueGenerator))] MemberType = typeof(TestValueGenerator))]
public async Task GeneratesScript_CanRun_With_AppInsights_Env_Variables_NotConfigured(string nodeVersion) public async Task GeneratesScript_CanRun_With_AppInsights_Env_Variables_NotConfigured_Async(string nodeVersion)
{ {
// This test is for the following scenario: // This test is for the following scenario:
// When we find no application insight dependency in package.json and env variables for // When we find no application insight dependency in package.json and env variables for
@ -121,7 +121,7 @@ namespace Microsoft.Oryx.RuntimeImage.Tests
[MemberData( [MemberData(
nameof(TestValueGenerator.GetNodeVersions), nameof(TestValueGenerator.GetNodeVersions),
MemberType = typeof(TestValueGenerator))] MemberType = typeof(TestValueGenerator))]
public async Task GeneratesScript_CanRun_With_New_AppInsights_Env_Variable_Set(string nodeVersion) public async Task GeneratesScript_CanRun_With_New_AppInsights_Env_Variable_Set_Async(string nodeVersion)
{ {
// This test is for the following scenario: // This test is for the following scenario:
// When we find the user has set env variable "APPLICATIONINSIGHTS_CONNECTION_STRING" application insight dependency in package.json and env variables for // When we find the user has set env variable "APPLICATIONINSIGHTS_CONNECTION_STRING" application insight dependency in package.json and env variables for
@ -171,7 +171,7 @@ namespace Microsoft.Oryx.RuntimeImage.Tests
[Theory] [Theory]
[InlineData("14", "")] [InlineData("14", "")]
[InlineData("14", "disabled")] [InlineData("14", "disabled")]
public async Task GeneratesScript_Doesnot_Add_Oryx_AppInsights_Logic_With_IPA_Configuration( public async Task GeneratesScript_Doesnot_Add_Oryx_AppInsights_Logic_With_IPA_Configuration_Async(
string nodeVersion, string nodeVersion,
string agentExtensionVersionEnvValue) string agentExtensionVersionEnvValue)
{ {

Просмотреть файл

@ -106,7 +106,7 @@ namespace Microsoft.Oryx.RuntimeImage.Tests
[MemberData( [MemberData(
nameof(TestValueGenerator.GetNodeVersions_SupportDebugging), nameof(TestValueGenerator.GetNodeVersions_SupportDebugging),
MemberType = typeof(TestValueGenerator))] MemberType = typeof(TestValueGenerator))]
public async Task RunNodeAppUsingProcessJson_withDebugging(string nodeVersion) public async Task RunNodeAppUsingProcessJson_withDebuggingAsync(string nodeVersion)
{ {
var appName = "express-process-json"; var appName = "express-process-json";
var hostDir = Path.Combine(_hostSamplesDir, "nodejs", appName); var hostDir = Path.Combine(_hostSamplesDir, "nodejs", appName);

Просмотреть файл

@ -23,7 +23,7 @@ namespace Microsoft.Oryx.RuntimeImage.Tests
[Theory] [Theory]
[MemberData(nameof(TestValueGenerator.GetNodeVersions_SupportPm2), MemberType = typeof(TestValueGenerator))] [MemberData(nameof(TestValueGenerator.GetNodeVersions_SupportPm2), MemberType = typeof(TestValueGenerator))]
public async Task RunNodeAppUsingConfigJs(string nodeVersion) public async Task RunNodeAppUsingConfigJsAsync(string nodeVersion)
{ {
var appName = "express-config-js"; var appName = "express-config-js";

Просмотреть файл

@ -23,7 +23,7 @@ namespace Microsoft.Oryx.RuntimeImage.Tests
[Theory] [Theory]
[MemberData(nameof(TestValueGenerator.GetNodeVersions_SupportPm2), MemberType = typeof(TestValueGenerator))] [MemberData(nameof(TestValueGenerator.GetNodeVersions_SupportPm2), MemberType = typeof(TestValueGenerator))]
public async Task RunNodeAppUsingConfigYml(string nodeVersion) public async Task RunNodeAppUsingConfigYmlAsync(string nodeVersion)
{ {
var appName = "express-config-yaml"; var appName = "express-config-yaml";

Просмотреть файл

@ -86,7 +86,7 @@ namespace Microsoft.Oryx.RuntimeImage.Tests
[Theory] [Theory]
[InlineData("7.4")] [InlineData("7.4")]
public async Task Check_If_Apache_Allows_Casing_In_PHP_File_Extension(string imageTag) public async Task Check_If_Apache_Allows_Casing_In_PHP_File_ExtensionAsync(string imageTag)
{ {
// Arrange // Arrange
var appName = "imagick-example"; var appName = "imagick-example";

Просмотреть файл

@ -327,13 +327,15 @@ namespace Microsoft.Oryx.Tests.Common
var hostPort = Convert.ToInt32(portMapping[1]); var hostPort = Convert.ToInt32(portMapping[1]);
return hostPort; return hostPort;
} }
else if (getPortMappingResult.StdErr.Contains("No such container")) else if (getPortMappingResult.StdErr.Contains("No such container") || (getPortMappingResult.HasExited && getPortMappingResult.ExitCode != 0))
{ {
break; throw new InvalidOperationException($"Could not retreive the host port of the container {containerName}:{portInContainer}. " +
$"{getPortMappingResult.StdErr}");
} }
} }
throw new InvalidOperationException($"Could not retreive the host port of the container {containerName}:{portInContainer}"); throw new InvalidOperationException($"Could not retreive the host port of the container {containerName}:{portInContainer}. " +
$"Timed out while attempting to retrieve the port.");
} }
private static async Task RunAssertsAsync(Func<Task> action, DockerResultBase res, ITestOutputHelper output) private static async Task RunAssertsAsync(Func<Task> action, DockerResultBase res, ITestOutputHelper output)

Просмотреть файл

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web"> <Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup> <PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework> <TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

Просмотреть файл

@ -1,4 +1,4 @@
namespace FSharpNetCoreApp21.WebApp namespace FSharpNetCoreApp30.WebApp
open System open System
open System.Collections.Generic open System.Collections.Generic

Просмотреть файл

@ -1,4 +1,4 @@
namespace FSharpNetCoreApp21.WebApp namespace FSharpNetCoreApp30.WebApp
open System open System
open Microsoft.AspNetCore.Builder open Microsoft.AspNetCore.Builder

Просмотреть файл

@ -23,8 +23,16 @@ define( 'WP_DEBUG', false );
define( 'DISALLOW_FILE_EDIT', true ); define( 'DISALLOW_FILE_EDIT', true );
PHP PHP
# As of mariadb 10.5, which bullseye is using, the service name is now mariadb
# instead of mysql, but the mysql command is still symlinked.
# See: https://mariadb.com/kb/en/changes-improvements-in-mariadb-105/#binaries-named-mariadb-mysql-symlinked
#
# restart mysql server and install WordPress # restart mysql server and install WordPress
service mysql start if service --status-all | grep -Fq 'mysql'; then
service mysql start
else
service mariadb start
fi
echo "Installing WordPress......." echo "Installing WordPress......."
wp core install --url="http://127.0.0.1" --title="$sitename" --admin_user="$wpuser" --admin_password="$password" --admin_email="user@example.org" --allow-root wp core install --url="http://127.0.0.1" --title="$sitename" --admin_user="$wpuser" --admin_password="$password" --admin_email="user@example.org" --allow-root

Просмотреть файл

@ -3,7 +3,15 @@
set -ex set -ex
apt-get update && apt-get install mariadb-server --yes apt-get update && apt-get install mariadb-server --yes
service mysql start
# As of mariadb 10.5, which bullseye is using, the service name is now mariadb
# instead of mysql, but the mysql command is still symlinked.
# See: https://mariadb.com/kb/en/changes-improvements-in-mariadb-105/#binaries-named-mariadb-mysql-symlinked
if service --status-all | grep -Fq 'mysql'; then
service mysql start
else
service mariadb start
fi
PASSWDDB="Wordpress@123" PASSWDDB="Wordpress@123"
MAINDB="wordpressdb" MAINDB="wordpressdb"