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() } }
public void SemanticVersionTest(string pattern, string targetVersion, bool result) { var policy = new SemverImageUpdatePolicy(pattern); policy.IsMatch(targetVersion).Should().Be(result); }