зеркало из https://github.com/microsoft/Oryx.git
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:
Родитель
9bf97354ef
Коммит
f1f87c6c8a
|
@ -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"
|
||||||
|
|
Загрузка…
Ссылка в новой задаче