From cebc24e30b00e930114961f655d5a64fd21e55d0 Mon Sep 17 00:00:00 2001 From: Bianca Lisle Date: Thu, 6 Feb 2025 14:54:09 +0000 Subject: [PATCH] CLOUDP-297221: Add preview support to split command --- tools/cli/internal/apiversion/version.go | 9 +++++++++ tools/cli/internal/apiversion/version_test.go | 12 ++++++++++++ 2 files changed, 21 insertions(+) diff --git a/tools/cli/internal/apiversion/version.go b/tools/cli/internal/apiversion/version.go index 1450b318c..f3aaa15d5 100644 --- a/tools/cli/internal/apiversion/version.go +++ b/tools/cli/internal/apiversion/version.go @@ -18,6 +18,7 @@ import ( "fmt" "log" "regexp" + "strings" "time" "github.com/getkin/kin-openapi/openapi3" @@ -54,6 +55,13 @@ func New(opts ...Option) (*APIVersion, error) { // WithVersion sets the version on the APIVersion. func WithVersion(version string) Option { return func(v *APIVersion) error { + if strings.EqualFold(version, PreviewStabilityLevel) { + v.version = version + v.stabilityVersion = PreviewStabilityLevel + v.versionDate = time.Now() // make preview look like the latest version + return nil + } + versionDate, err := DateFromVersion(version) if err != nil { return err @@ -87,6 +95,7 @@ func WithContent(contentType string) Option { v.stabilityVersion = StableStabilityLevel if version == PreviewStabilityLevel { v.stabilityVersion = PreviewStabilityLevel + v.versionDate = time.Now() // make preview look like the latest version return nil } diff --git a/tools/cli/internal/apiversion/version_test.go b/tools/cli/internal/apiversion/version_test.go index fbde00ece..b35f615f4 100644 --- a/tools/cli/internal/apiversion/version_test.go +++ b/tools/cli/internal/apiversion/version_test.go @@ -48,6 +48,12 @@ func TestParseVersion(t *testing.T) { expectedMatch: "2030-02-20", wantErr: false, }, + { + name: "preview", + contentType: "application/vnd.atlas.preview+json", + expectedMatch: "preview", + wantErr: false, + }, { name: "invalid", contentType: "application/vnd.test.2023-01-01", @@ -94,6 +100,12 @@ func TestNewAPIVersionFromContentType(t *testing.T) { expectedMatch: "2030-02-20", wantErr: false, }, + { + name: "preview", + contentType: "application/vnd.atlas.preview+json", + expectedMatch: "preview", + wantErr: false, + }, { name: "invalid", contentType: "application/vnd.test.2023-01-01",