diff --git a/tools/cli/internal/apiversion/version.go b/tools/cli/internal/apiversion/version.go index b72fd726a4..49dfe6c0b9 100644 --- a/tools/cli/internal/apiversion/version.go +++ b/tools/cli/internal/apiversion/version.go @@ -32,7 +32,8 @@ type APIVersion struct { } const ( - dateFormat = "2006-01-02" + dateFormat = "2006-01-02" + previewDate = "3000-01-01" ) var contentPattern = regexp.MustCompile(`application/vnd\.atlas\.((\d{4})-(\d{2})-(\d{2})|preview)\+(.+)`) @@ -57,7 +58,6 @@ func (v *APIVersion) newVersion(version string, date time.Time) { v.versionDate = date if IsPreviewStabilityLevel(version) { - v.versionDate = time.Now().AddDate(10, 0, 0) // set preview date to the future v.stabilityVersion = PreviewStabilityLevel } } @@ -119,7 +119,7 @@ func WithFullContent(contentType string, contentValue *openapi3.MediaType) Optio func DateFromVersion(version string) (time.Time, error) { if IsPreviewStabilityLevel(version) { - return time.Now(), nil + return time.Parse(dateFormat, previewDate) } return time.Parse(dateFormat, version) } diff --git a/tools/cli/internal/apiversion/version_test.go b/tools/cli/internal/apiversion/version_test.go index d5e3649c8b..cbe9bd5f47 100644 --- a/tools/cli/internal/apiversion/version_test.go +++ b/tools/cli/internal/apiversion/version_test.go @@ -312,6 +312,18 @@ func TestApiVersion_GreaterThan(t *testing.T) { version2: "2023-01-02", expected: false, }, + { + name: "not greater", + version1: "preview", + version2: "preview", + expected: false, + }, + { + name: "not greater", + version1: "private-preview-charts-dashboards", + version2: "private-preview-charts-dashboards", + expected: false, + }, } for _, tt := range testCases { diff --git a/tools/cli/internal/openapi/filter/versioning.go b/tools/cli/internal/openapi/filter/versioning.go index 67cb3322ca..8a06b6299c 100644 --- a/tools/cli/internal/openapi/filter/versioning.go +++ b/tools/cli/internal/openapi/filter/versioning.go @@ -11,6 +11,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. + package filter import (