public SampleAppsTestBase(ITestOutputHelper output, DockerCli dockerCli = null) { _output = output; _dockerCli = dockerCli ?? new DockerCli(); _imageHelper = new ImageTestHelper(output); _restrictedPermissionsImageHelper = ImageTestHelper.WithRestrictedPermissions(output); }
public MSSqlServerDatabaseSetupFixture() { _dockerCli = new DockerCli(); var runResult = StartDatabaseContainer(); DatabaseServerContainerName = runResult.ContainerName; InsertSampleData(runResult.ContainerName); }
public MySqlDatabaseSetupFixture() { _dockerCli = new DockerCli(); var runResult = StartDatabaseContainer(); DatabaseServerContainerName = runResult.ContainerName; // Wait for the database server to be up Thread.Sleep(TimeSpan.FromMinutes(1)); InsertSampleData(runResult.ContainerName); }
public BenvTest(ITestOutputHelper output) { _output = output; _dockerCli = new DockerCli(); _imageHelper = new ImageTestHelper(output); }
public PulledBuildImageTypeTest(ITestOutputHelper output) { _output = output; _dockerCli = new DockerCli(); }
public BenvTest(ITestOutputHelper output) { _output = output; _dockerCli = new DockerCli(); }
public PythonImagesTest(ITestOutputHelper output) { _output = output; _dockerCli = new DockerCli(); }
public SampleAppsTestBase(ITestOutputHelper output, DockerCli dockerCli = null) { _output = output; _dockerCli = dockerCli ?? new DockerCli(); }
public BuildScriptGenFromBuildImageTests(ITestOutputHelper output) { _output = output; _dockerCli = new DockerCli(); }
public StaticWebAppSamplesTest(ITestOutputHelper output, DockerCli dockerCli = null) : base(output, dockerCli) { }
public async Task CanBuildAndRunAngular6App_WithDevAndProdDependencies_UsingZippedNodeModules(string nodeVersion) { string compressFormat = "tar-gz"; // NOTE: // 1. Use intermediate directory(which here is local to container) to avoid errors like // "tar: node_modules/form-data: file changed as we read it" // related to zipping files on a folder which is volume mounted. // 2. Use output directory within the container due to 'rsync' // having issues with volume mounted directories // Arrange var appOutputDirPath = Directory.CreateDirectory(Path.Combine(_tempRootDir, Guid.NewGuid().ToString("N"))) .FullName; var appOutputDirVolume = DockerVolume.CreateMirror(appOutputDirPath); var appOutputDir = appOutputDirVolume.ContainerDir; var appName = "angular6app"; var volume = CreateAppVolume(appName); var appDir = volume.ContainerDir; var runAppScript = new ShellScriptBuilder() .AddCommand($"export PORT=4200") .AddCommand($"oryx -appPath {appOutputDir}") .AddCommand(DefaultStartupFilePath) .ToString(); var buildScript = new ShellScriptBuilder() .AddCommand( $"oryx build {appDir} -i /tmp/int -o /tmp/out --platform nodejs " + $"--platform-version {nodeVersion} -p compress_node_modules={compressFormat}") .AddCommand($"cp -rf /tmp/out/* {appOutputDir}") .ToString(); await EndToEndTestHelper.BuildRunAndAssertAppAsync( appName, _output, new List <DockerVolume> { appOutputDirVolume, volume }, "/bin/sh", new[] { "-c", buildScript }, $"oryxdevmcr.azurecr.io/public/oryx/node-{nodeVersion}", 4200, "/bin/sh", new[] { "-c", runAppScript }, async (hostPort) => { var data = await _httpClient.GetStringAsync($"http://localhost:{hostPort}/"); Assert.Contains("Angular6app", data); }); // Re-run the runtime container multiple times against the same output to catch any issues. var dockerCli = new DockerCli(); for (var i = 0; i < 5; i++) { await EndToEndTestHelper.RunAndAssertAppAsync( imageName : $"oryxdevmcr.azurecr.io/public/oryx/node-{nodeVersion}", output : _output, volumes : new List <DockerVolume> { appOutputDirVolume, volume }, environmentVariables : new List <EnvironmentVariable>(), port : 4200, link : null, runCmd : "/bin/sh", runArgs : new[] { "-c", runAppScript }, assertAction : async(hostPort) => { var data = await _httpClient.GetStringAsync($"http://localhost:{hostPort}/"); Assert.Contains("Angular6app", data); }, dockerCli); } }
public DotnetCoreImageVersionsTest(ITestOutputHelper output) { _output = output; _dockerCli = new DockerCli(); }
public DotnetCoreStartupScriptGenerationTest(ITestOutputHelper output) { _output = output; _dockerCli = new DockerCli(); }
public NodeJSSampleAppsTest(ITestOutputHelper output) { _output = output; _dockerCli = new DockerCli(new EnvironmentVariable[] { new EnvironmentVariable(LoggingConstants.AppServiceAppNameEnvironmentVariableName, SampleAppName) }); _hostSamplesDir = Path.Combine(Directory.GetCurrentDirectory(), "SampleApps"); }
public SampleAppsTestBase(ITestOutputHelper output, DockerCli dockerCli = null) { _output = output; _dockerCli = dockerCli ?? new DockerCli(); _imageHelper = new ImageTestHelper(output); }
public PythonSampleAppsTest(ITestOutputHelper output) { _output = output; _dockerCli = new DockerCli(); _hostSamplesDir = Path.Combine(Directory.GetCurrentDirectory(), "SampleApps"); }
public VersionInformationTest(ITestOutputHelper output) { _output = output; _dockerCli = new DockerCli(); }
public async Task CanBuildAndRunAngular6App_WithDevAndProdDependencies_UsingZippedNodeModules(string nodeVersion) { // Arrange string compressFormat = "tar-gz"; var appOutputDirPath = Directory.CreateDirectory(Path.Combine(_tempRootDir, Guid.NewGuid().ToString("N"))) .FullName; var appOutputDirVolume = DockerVolume.CreateMirror(appOutputDirPath); var appOutputDir = appOutputDirVolume.ContainerDir; var appName = "angular6app"; var volume = CreateAppVolume(appName); var appDir = volume.ContainerDir; var runAppScript = new ShellScriptBuilder() .AddCommand($"export PORT=4200") .AddCommand($"oryx create-script -appPath {appOutputDir}") .AddCommand(DefaultStartupFilePath) .ToString(); var buildScript = new ShellScriptBuilder() .AddCommand( $"oryx build {appDir} -i /tmp/int -o {appOutputDir} --platform nodejs " + $"--platform-version {nodeVersion} -p compress_node_modules={compressFormat}") .ToString(); await EndToEndTestHelper.BuildRunAndAssertAppAsync( appName, _output, new List <DockerVolume> { appOutputDirVolume, volume }, "/bin/sh", new[] { "-c", buildScript }, _imageHelper.GetTestRuntimeImage("node", nodeVersion), 4200, "/bin/sh", new[] { "-c", runAppScript }, async (hostPort) => { var data = await _httpClient.GetStringAsync($"http://localhost:{hostPort}/"); Assert.Contains("Angular6app", data); }); // Re-run the runtime container multiple times against the same output to catch any issues. var dockerCli = new DockerCli(); for (var i = 0; i < 5; i++) { await EndToEndTestHelper.RunAndAssertAppAsync( imageName : _imageHelper.GetTestRuntimeImage("node", nodeVersion), output : _output, volumes : new List <DockerVolume> { appOutputDirVolume, volume }, environmentVariables : new List <EnvironmentVariable>(), port : 4200, link : null, runCmd : "/bin/sh", runArgs : new[] { "-c", runAppScript }, assertAction : async(hostPort) => { var data = await _httpClient.GetStringAsync($"http://localhost:{hostPort}/"); Assert.Contains("Angular6app", data); }, dockerCli); } }