Example #1
0
 public PlatformEndToEndTestsBase(ITestOutputHelper output, TestTempDirTestFixture testTempDirTestFixture)
 {
     _output         = output;
     _imageHelper    = new ImageTestHelper(_output);
     _hostSamplesDir = Path.Combine(Directory.GetCurrentDirectory(), "SampleApps");
     _tempRootDir    = testTempDirTestFixture?.RootDirPath;
 }
Example #2
0
 public SampleAppsTestBase(ITestOutputHelper output, DockerCli dockerCli = null)
 {
     _output      = output;
     _dockerCli   = dockerCli ?? new DockerCli();
     _imageHelper = new ImageTestHelper(output);
     _restrictedPermissionsImageHelper = ImageTestHelper.WithRestrictedPermissions(output);
 }
Example #3
0
 protected DatabaseTestsBase(ITestOutputHelper outputHelper, Fixtures.DbContainerFixtureBase dbFixture)
 {
     _output        = outputHelper;
     _imageHelper   = new ImageTestHelper(_output);
     _dbFixture     = dbFixture;
     HostSamplesDir = Path.Combine(Directory.GetCurrentDirectory(), "SampleApps");
 }
Example #4
0
        public void GetTestBuildImage_Validate_InvalidTag()
        {
            // Arrange
            var imageBaseValue = string.Empty;
            var tagSuffixValue = string.Empty;
            var imageHelper    = new ImageTestHelper(_output, imageBaseValue, tagSuffixValue);

            // Assert
            Assert.Throws <NotSupportedException>(() => { imageHelper.GetBuildImage("invalidTag"); });
        }
Example #5
0
        public void GetsLtsVersionsImageWithRestrictivePermissions()
        {
            // Arrange
            var imageHelper = ImageTestHelper.WithRestrictedPermissions();
            var expected    = "oryxtests/build:lts-versions";

            // Act
            var actual = imageHelper.GetLtsVersionsBuildImage();

            // Assert
            Assert.Equal(actual, expected);
        }
Example #6
0
        private static dynamic CreateImage(string rotation)
        {
            dynamic imageItem = new DynamicWrapper();

            imageItem.Image               = new DynamicWrapper();
            imageItem.Image.Size          = new DynamicWrapper();
            imageItem.Image.Size.Width    = Resources.Image.Width / 3;
            imageItem.Image.Size.Height   = Resources.Image.Height / 3;
            imageItem.Image.Size.SizeUnit = "Px";
            imageItem.Image.Data          = ImageTestHelper.BitmapToBase64(Resources.Image);
            imageItem.Image.Rotation      = rotation;

            return(imageItem);
        }
Example #7
0
        public void GetLtsVersionsBuildImage_Validate_ImageBaseSet()
        {
            // Arrange
            var imageBaseValue = "oryxtest";
            var tagSuffixValue = string.Empty;
            var imageHelper    = new ImageTestHelper(_output, imageBaseValue, tagSuffixValue);

            // Act
            var buildImage = imageHelper.GetLtsVersionsBuildImage();

            // Assert
            var expectedImage = $"{imageBaseValue}/{_buildRepository}:{_ltsVersionsTag}";

            Assert.Equal(expectedImage, buildImage);
        }
Example #8
0
        public void GetTestSlimBuildImage_Validate_TagSuffixSet()
        {
            // Arrange
            var imageBaseValue = string.Empty;
            var tagSuffixValue = "-buildNumber";
            var imageHelper    = new ImageTestHelper(_output, imageBaseValue, tagSuffixValue);

            // Act
            var buildImage = imageHelper.GetTestSlimBuildImage();

            // Assert
            var expectedImage = $"{_defaultImageBase}/{_buildRepository}:{_slimTag}{tagSuffixValue}";

            Assert.Equal(expectedImage, buildImage);
        }
Example #9
0
        public void GetTestBuildImage_Validate_LatestVersionsTag()
        {
            // Arrange
            var imageBaseValue = string.Empty;
            var tagSuffixValue = string.Empty;
            var imageHelper    = new ImageTestHelper(_output, imageBaseValue, tagSuffixValue);

            // Act
            var buildImage = imageHelper.GetBuildImage(_ltsVersionsTag);

            // Assert
            var expectedImage = $"{_defaultImageBase}/{_buildRepository}:{_ltsVersionsTag}";

            Assert.Equal(expectedImage, buildImage);
        }
Example #10
0
        public void GetTestPackImage_Validate_ImageBaseSet()
        {
            // Arrange
            var imageBaseValue = "oryxtest";
            var tagSuffixValue = string.Empty;
            var imageHelper    = new ImageTestHelper(_output, imageBaseValue, tagSuffixValue);

            // Act
            var packImage = imageHelper.GetPackImage();

            // Assert
            var expectedImage = $"{imageBaseValue}/{_packRepository}:{_latestTag}";

            Assert.Equal(expectedImage, packImage);
        }
        public void ShouldApplyImageDataFromSource()
        {
            // Given
            var image = Resources.ImageRotate0;
            dynamic elementMetadata = new DynamicWrapper();
            elementMetadata.Source = "$";

            // When
            var element = BuildTestHelper.BuildImage((object) elementMetadata,
                c => { c.PrintViewSource = ImageTestHelper.BitmapToBase64(image); });

            // Then
            Assert.IsNotNull(element);
            Assert.IsNull(element.Size);
            ImageTestHelper.AssertImagesAreEqual(image, element);
        }
        public void ShouldApplyImageData()
        {
            // Given
            var image = Resources.ImageRotate0;
            dynamic elementMetadata = new DynamicWrapper();
            elementMetadata.Data = ImageTestHelper.BitmapToBase64(image);

            // When
            PrintElementImage element = BuildTestHelper.BuildImage(elementMetadata);

            // Then
            Assert.IsNotNull(element);
            Assert.IsInstanceOf<PrintElementImage>(element);
            Assert.IsNull(element.Size);
            ImageTestHelper.AssertImagesAreEqual(image, element);
        }
Example #13
0
        public void GetTestPackImage_Validate_TagSuffixSet()
        {
            // Arrange
            var imageBaseValue = string.Empty;
            var tagSuffixValue = "-buildNumber";
            var imageHelper    = new ImageTestHelper(_output, imageBaseValue, tagSuffixValue);

            // Act
            var packImage = imageHelper.GetPackImage();

            // Assert
            var expectedTag   = tagSuffixValue.TrimStart('-');
            var expectedImage = $"{_defaultImageBase}/{_packRepository}:{expectedTag}";

            Assert.Equal(expectedImage, packImage);
        }
Example #14
0
        public void GetTestRuntimeImage_Validate_BothImageBaseAndTagSuffixSet()
        {
            // Arrange
            var platformName    = "test";
            var platformVersion = "1.0";
            var imageBaseValue  = "oryxtest";
            var tagSuffixValue  = "-buildNumber";
            var imageHelper     = new ImageTestHelper(_output, imageBaseValue, tagSuffixValue);

            // Act
            var runtimeImage = imageHelper.GetRuntimeImage(platformName, platformVersion);

            // Assert
            var expectedImage = $"{imageBaseValue}/{platformName}:{platformVersion}{tagSuffixValue}";

            Assert.Equal(expectedImage, runtimeImage);
        }
Example #15
0
        public void GetTestRuntimeImage_Validate_NoImageBaseOrTagSuffixSet()
        {
            // Arrange
            var platformName    = "test";
            var platformVersion = "1.0";
            var imageBaseValue  = string.Empty;
            var tagSuffixValue  = string.Empty;
            var imageHelper     = new ImageTestHelper(_output, imageBaseValue, tagSuffixValue);

            // Act
            var runtimeImage = imageHelper.GetRuntimeImage(platformName, platformVersion);

            // Assert
            var expectedImage = $"{_defaultImageBase}/{platformName}:{platformVersion}";

            Assert.Equal(expectedImage, runtimeImage);
        }
        public void ShouldApplyRotation180()
        {
            // Given
            var original = Resources.ImageRotate0;
            var expected = Resources.ImageRotate180;
            dynamic elementMetadata = new DynamicWrapper();
            elementMetadata.Data = ImageTestHelper.BitmapToBase64(original);
            elementMetadata.Rotation = "Rotate180";

            // When
            PrintElementImage element = BuildTestHelper.BuildImage(elementMetadata);

            // Then
            Assert.IsNotNull(element);
            Assert.IsNull(element.Size);
            ImageTestHelper.AssertImagesAreEqual(expected, element);
        }
        public void ShouldApplyText()
        {
            // Given
            var     expectedImage   = Resources.BarcodeEan13Rotate0;
            dynamic elementMetadata = new DynamicWrapper();

            elementMetadata.Text     = BarcodeEan13Text;
            elementMetadata.ShowText = false;

            // When
            PrintElementImage element = BuildTestHelper.BuildBarcodeEan13(elementMetadata);

            // Then
            Assert.IsNotNull(element);
            Assert.AreEqual(expectedImage.Width, element.Size.Width, 0.1);
            Assert.AreEqual(expectedImage.Height, element.Size.Height, 0.1);
            ImageTestHelper.AssertImagesAreEqual(expectedImage, element);
        }
        public void ShouldApplySize()
        {
            // Given
            var image = Resources.ImageRotate0;
            dynamic elementMetadata = new DynamicWrapper();
            elementMetadata.Size = new DynamicWrapper();
            elementMetadata.Size.Width = 2*image.Width;
            elementMetadata.Size.Height = 2*image.Height;
            elementMetadata.Size.SizeUnit = "Px";
            elementMetadata.Data = ImageTestHelper.BitmapToBase64(image);

            // When
            PrintElementImage element = BuildTestHelper.BuildImage(elementMetadata);

            // Then
            Assert.IsNotNull(element);
            Assert.AreEqual(2*image.Width, element.Size.Width, 0.1);
            Assert.AreEqual(2*image.Height, element.Size.Height, 0.1);
        }
Example #19
0
        public void ShouldApplyTextFromSource()
        {
            // Given
            var     expectedImage   = Resources.BarcodeQrRotate0;
            dynamic elementMetadata = new DynamicWrapper();

            elementMetadata.Source   = "$";
            elementMetadata.ShowText = false;

            // When
            var element = BuildTestHelper.BuildBarcodeQr((object)elementMetadata,
                                                         c => { c.PrintViewSource = BarcodeQrText; });

            // Then
            Assert.IsNotNull(element);
            Assert.AreEqual(expectedImage.Width, element.Size.Width, 0.1);
            Assert.AreEqual(expectedImage.Height, element.Size.Height, 0.1);
            ImageTestHelper.AssertImagesAreEqual(expectedImage, element);
        }
Example #20
0
        public void ShouldApplyErrorCorrectionHigh()
        {
            // Given
            var     expectedImage   = Resources.BarcodeQrErrorCorrectionHigh;
            dynamic elementMetadata = new DynamicWrapper();

            elementMetadata.Text            = BarcodeQrText;
            elementMetadata.ShowText        = false;
            elementMetadata.ErrorCorrection = "High";

            // When
            PrintElementImage element = BuildTestHelper.BuildBarcodeQr(elementMetadata);

            // Then
            Assert.IsNotNull(element);
            Assert.AreEqual(expectedImage.Width, element.Size.Width, 0.1);
            Assert.AreEqual(expectedImage.Height, element.Size.Height, 0.1);
            ImageTestHelper.AssertImagesAreEqual(expectedImage, element);
        }
        public void GeneratesScript_AndBuildSinatraAppWithDynamicInstall()
        {
            var imageTestHelper = new ImageTestHelper();

            // Arrange
            var appName      = "hello-world";
            var volume       = CreateSampleAppVolume(appName);
            var appDir       = volume.ContainerDir;
            var appOutputDir = "/tmp/app-output";
            var script       = new ShellScriptBuilder()
                               .AddDefaultTestEnvironmentVariables()
                               .AddBuildCommand($"{appDir} -o {appOutputDir}")
                               .ToString();

            // Act
            var result = _dockerCli.Run(new DockerRunArguments
            {
                ImageId = imageTestHelper.GetLtsVersionsBuildImage(),
                EnvironmentVariables = new List <EnvironmentVariable> {
                    CreateAppNameEnvVar(appName)
                },
                Volumes = new List <DockerVolume> {
                    volume
                },
                CommandToExecuteOnRun = "/bin/bash",
                CommandArguments      = new[] { "-c", script }
            });

            // Assert
            RunAsserts(
                () =>
            {
                Assert.True(result.IsSuccess);
                Assert.Contains("Golang version", result.StdOut);
            },
                result.GetDebugInfo());
        }
Example #22
0
        public void OryxVsoBuildImage_Contains_PHP_Xdebug(string imageVersion)
        {
            var    imageTestHelper = new ImageTestHelper();
            string buildImage      = imageTestHelper.GetVsoBuildImage(imageVersion);

            // Act
            var result = _dockerCli.Run(new DockerRunArguments
            {
                ImageId = buildImage,
                CommandToExecuteOnRun = "php",
                CommandArguments      = new[] { "--version" }
            });

            // Assert
            var actualOutput = result.StdOut.ReplaceNewLine();

            RunAsserts(
                () =>
            {
                Assert.True(result.IsSuccess);
                Assert.Contains("with Xdebug", actualOutput);
            },
                result.GetDebugInfo());
        }
Example #23
0
        public void OryxVsoBuildImage_Contains_Required_Ruby_Gems(string gemName, string imageVersion)
        {
            var    imageTestHelper = new ImageTestHelper();
            string buildImage      = imageTestHelper.GetVsoBuildImage(imageVersion);

            // Act
            var result = _dockerCli.Run(new DockerRunArguments
            {
                ImageId = buildImage,
                CommandToExecuteOnRun = "gem",
                CommandArguments      = new[] { "list", gemName }
            });

            // Assert
            var actualOutput = result.StdOut.ReplaceNewLine();

            RunAsserts(
                () =>
            {
                Assert.True(result.IsSuccess);
                Assert.Contains(gemName, actualOutput);
            },
                result.GetDebugInfo());
        }
Example #24
0
 public BenvTest(ITestOutputHelper output)
 {
     _output      = output;
     _dockerCli   = new DockerCli();
     _imageHelper = new ImageTestHelper(output);
 }
Example #25
0
 public SampleAppsTestBase(ITestOutputHelper output, DockerCli dockerCli = null)
 {
     _output      = output;
     _dockerCli   = dockerCli ?? new DockerCli();
     _imageHelper = new ImageTestHelper(output);
 }
Example #26
0
 public TestBase(ITestOutputHelper output)
 {
     _output      = output;
     _imageHelper = new ImageTestHelper(output);
 }