Beispiel #1
0
        private async Task VerifySampleAsync(
            SampleImageData imageData,
            SampleImageType sampleImageType,
            Func <string, string, Task> verifyImageAsync)
        {
            string image     = imageData.GetImage(sampleImageType, DockerHelper);
            string imageType = Enum.GetName(typeof(SampleImageType), sampleImageType).ToLowerInvariant();

            try
            {
                if (!imageData.IsPublished)
                {
                    string sampleFolder   = Path.Combine(s_samplesPath, imageType);
                    string dockerfilePath = $"{sampleFolder}/Dockerfile.{imageData.DockerfileSuffix}";

                    DockerHelper.Build(image, dockerfilePath, contextDir: sampleFolder, pull: Config.PullImages);
                }

                string containerName = imageData.GetIdentifier($"sample-{imageType}");
                await verifyImageAsync(image, containerName);
            }
            finally
            {
                if (!imageData.IsPublished)
                {
                    DockerHelper.DeleteImage(image);
                }
            }
        }
Beispiel #2
0
        public string GetImage(SampleImageType imageType, DockerHelper dockerHelper)
        {
            string tagPrefix = Enum.GetName(typeof(SampleImageType), imageType).ToLowerInvariant();
            string tag       = GetTagName(tagPrefix, OS);
            string imageName = GetImageName(tag, "samples");

            PullImageIfNecessary(imageName, dockerHelper);

            return(imageName);
        }
Beispiel #3
0
        public string GetImage(SampleImageType imageType, DockerHelper dockerHelper)
        {
            string tagPrefix = Enum.GetName(typeof(SampleImageType), imageType).ToLowerInvariant();
            string tag       = GetTagName(tagPrefix, OS);

            if (!IsPublished)
            {
                tag += "-local";
            }

            string imageName = GetImageName(tag);

            if (IsPublished)
            {
                PullImageIfNecessary(imageName, dockerHelper);
            }

            return(imageName);
        }
Beispiel #4
0
        private void ValidateEnvironmentVariables(SampleImageData imageData, string image, SampleImageType imageType)
        {
            List <EnvironmentVariableInfo> variables = new List <EnvironmentVariableInfo>();

            variables.AddRange(ProductImageTests.GetCommonEnvironmentVariables());

            if (imageType == SampleImageType.Aspnetapp)
            {
                variables.Add(new EnvironmentVariableInfo("ASPNETCORE_URLS", "http://+:80"));
            }

            EnvironmentVariableInfo.Validate(
                variables,
                image,
                imageData,
                DockerHelper);
        }