예제 #1
0
 internal static ApplicationImageDto ConvertApplicationImageToApplicationServiceDto(ApplicationImage image)
 {
     var imagePreviewReleaseConfig = image.DeploymentSettings.PreviewReleases;
     var previewReleaseSettingsDto = imagePreviewReleaseConfig.Enabled
         ? new PreviewReleaseSettingsDto()
     {
         Enabled      = true,
         UpdatePolicy = imagePreviewReleaseConfig.Policy switch
         {
             GlobImageUpdatePolicy globImageUpdatePolicy => new ImageUpdatePolicyDto()
             {
                 Glob = new GlobImageUpdatePolicyDto()
                 {
                     Pattern = globImageUpdatePolicy.Pattern
                 }
             },
             RegexImageUpdatePolicy regexImageUpdatePolicy => new ImageUpdatePolicyDto()
             {
                 Regex = new RegexImageUpdatePolicyDto()
                 {
                     Pattern = regexImageUpdatePolicy.Pattern
                 }
             },
             SemverImageUpdatePolicy semverImageUpdatePolicy => new ImageUpdatePolicyDto()
             {
                 Semver = new SemverImageUpdatePolicyDto()
                 {
                     Constraint = semverImageUpdatePolicy.Constraint
                 }
             },
             _ => throw new ArgumentOutOfRangeException()
         }
     }
예제 #2
0
        public void SemanticVersionTest(string pattern, string targetVersion, bool result)
        {
            var policy = new SemverImageUpdatePolicy(pattern);

            policy.IsMatch(targetVersion).Should().Be(result);
        }