Skip to content

Commit 582352b

Browse files
authored
CLOUDP-301911: Add preview changelog test (#442)
1 parent b996d4b commit 582352b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+664705
-46
lines changed

tools/cli/internal/apiversion/stabilitylevel.go

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,35 +23,35 @@ const (
2323
StableStabilityLevel = "stable"
2424
PreviewStabilityLevel = "preview"
2525
PrivatePreviewStabilityLevel = "private-preview"
26-
PublicPreviewSabilityLevel = "public-preview"
26+
PublicPreviewStabilityLevel = "public-preview"
2727
)
2828

29-
var supportedValues = []string{StableStabilityLevel, PublicPreviewSabilityLevel, PrivatePreviewStabilityLevel}
29+
var supportedValues = []string{StableStabilityLevel, PublicPreviewStabilityLevel, PrivatePreviewStabilityLevel}
3030

31-
// IsPreviewSabilityLevel checks if the version is a preview version, public or private.
32-
func IsPreviewSabilityLevel(value string) bool {
33-
return IsPrivatePreviewSabilityLevel(value) || IsPublicPreviewSabilityLevel(value)
31+
// IsPreviewStabilityLevel checks if the version is a preview version, public or private.
32+
func IsPreviewStabilityLevel(value string) bool {
33+
return IsPrivatePreviewStabilityLevel(value) || IsPublicPreviewStabilityLevel(value)
3434
}
3535

36-
// IsPrivatePreviewSabilityLevel checks if the version is a private preview version.
37-
func IsPrivatePreviewSabilityLevel(value string) bool {
36+
// IsPrivatePreviewStabilityLevel checks if the version is a private preview version.
37+
func IsPrivatePreviewStabilityLevel(value string) bool {
3838
return strings.Contains(strings.ToLower(value), PrivatePreviewStabilityLevel)
3939
}
4040

41-
// IsPublicPreviewSabilityLevel checks if the version is a public preview version.
42-
func IsPublicPreviewSabilityLevel(value string) bool {
43-
return strings.EqualFold(value, PublicPreviewSabilityLevel) || strings.EqualFold(value, PreviewStabilityLevel)
41+
// IsPublicPreviewStabilityLevel checks if the version is a public preview version.
42+
func IsPublicPreviewStabilityLevel(value string) bool {
43+
return strings.EqualFold(value, PublicPreviewStabilityLevel) || strings.EqualFold(value, PreviewStabilityLevel)
4444
}
4545

46-
// IsStableSabilityLevel checks if the version is a stable version.
47-
func IsStableSabilityLevel(value string) bool {
46+
// IsStableStabilityLevel checks if the version is a stable version.
47+
func IsStableStabilityLevel(value string) bool {
4848
return strings.EqualFold(value, StableStabilityLevel)
4949
}
5050

5151
// IsValidStabilityLevel checks if the version is a valid stability level.
5252
// ValidateStabilityLevel checks if the version is a valid stability level.
5353
func ValidateStabilityLevel(value string) error {
54-
if IsStableSabilityLevel(value) || IsPreviewSabilityLevel(value) {
54+
if IsStableStabilityLevel(value) || IsPreviewStabilityLevel(value) {
5555
return nil
5656
}
5757

tools/cli/internal/apiversion/stabilitylevel_test.go

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -7,38 +7,38 @@ import (
77
"github.com/stretchr/testify/require"
88
)
99

10-
func TestIsPreviewSabilityLevel(t *testing.T) {
11-
assert.True(t, IsPreviewSabilityLevel("preview"))
12-
assert.True(t, IsPreviewSabilityLevel("PREVIEW"))
13-
assert.True(t, IsPreviewSabilityLevel("prEvIEW"))
14-
assert.True(t, IsPreviewSabilityLevel("private-preview"))
15-
assert.True(t, IsPreviewSabilityLevel("public-preview"))
16-
assert.False(t, IsPreviewSabilityLevel("stable"))
17-
assert.False(t, IsPreviewSabilityLevel("invalid"))
10+
func TestIsPreviewStabilityLevel(t *testing.T) {
11+
assert.True(t, IsPreviewStabilityLevel("preview"))
12+
assert.True(t, IsPreviewStabilityLevel("PREVIEW"))
13+
assert.True(t, IsPreviewStabilityLevel("prEvIEW"))
14+
assert.True(t, IsPreviewStabilityLevel("private-preview"))
15+
assert.True(t, IsPreviewStabilityLevel("public-preview"))
16+
assert.False(t, IsPreviewStabilityLevel("stable"))
17+
assert.False(t, IsPreviewStabilityLevel("invalid"))
1818
}
1919

20-
func TestIsPrivatePreviewSabilityLevel(t *testing.T) {
21-
assert.True(t, IsPrivatePreviewSabilityLevel("private-preview"))
22-
assert.False(t, IsPrivatePreviewSabilityLevel("public-preview"))
23-
assert.False(t, IsPrivatePreviewSabilityLevel("preview"))
24-
assert.False(t, IsPrivatePreviewSabilityLevel("stable"))
25-
assert.False(t, IsPrivatePreviewSabilityLevel("invalid"))
20+
func TestIsPrivatePreviewStabilityLevel(t *testing.T) {
21+
assert.True(t, IsPrivatePreviewStabilityLevel("private-preview"))
22+
assert.False(t, IsPrivatePreviewStabilityLevel("public-preview"))
23+
assert.False(t, IsPrivatePreviewStabilityLevel("preview"))
24+
assert.False(t, IsPrivatePreviewStabilityLevel("stable"))
25+
assert.False(t, IsPrivatePreviewStabilityLevel("invalid"))
2626
}
2727

28-
func TestIsPublicPreviewSabilityLevel(t *testing.T) {
29-
assert.True(t, IsPublicPreviewSabilityLevel("public-preview"))
30-
assert.True(t, IsPublicPreviewSabilityLevel("preview"))
31-
assert.False(t, IsPublicPreviewSabilityLevel("private-preview"))
32-
assert.False(t, IsPublicPreviewSabilityLevel("stable"))
33-
assert.False(t, IsPublicPreviewSabilityLevel("invalid"))
28+
func TestIsPublicPreviewStabilityLevel(t *testing.T) {
29+
assert.True(t, IsPublicPreviewStabilityLevel("public-preview"))
30+
assert.True(t, IsPublicPreviewStabilityLevel("preview"))
31+
assert.False(t, IsPublicPreviewStabilityLevel("private-preview"))
32+
assert.False(t, IsPublicPreviewStabilityLevel("stable"))
33+
assert.False(t, IsPublicPreviewStabilityLevel("invalid"))
3434
}
3535

36-
func TestIsStableSabilityLevel(t *testing.T) {
37-
assert.True(t, IsStableSabilityLevel("stable"))
38-
assert.False(t, IsStableSabilityLevel("preview"))
39-
assert.False(t, IsStableSabilityLevel("private-preview"))
40-
assert.False(t, IsStableSabilityLevel("public-preview"))
41-
assert.False(t, IsStableSabilityLevel("invalid"))
36+
func TestIsStableStabilityLevel(t *testing.T) {
37+
assert.True(t, IsStableStabilityLevel("stable"))
38+
assert.False(t, IsStableStabilityLevel("preview"))
39+
assert.False(t, IsStableStabilityLevel("private-preview"))
40+
assert.False(t, IsStableStabilityLevel("public-preview"))
41+
assert.False(t, IsStableStabilityLevel("invalid"))
4242
}
4343

4444
func TestValidateStabilityLevel(t *testing.T) {

tools/cli/internal/apiversion/version.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ func (v *APIVersion) newVersion(version string, date time.Time) {
5656
v.stabilityVersion = StableStabilityLevel
5757
v.versionDate = date
5858

59-
if IsPreviewSabilityLevel(version) {
59+
if IsPreviewStabilityLevel(version) {
6060
v.versionDate = time.Now().AddDate(10, 0, 0) // set preview date to the future
6161
v.stabilityVersion = PreviewStabilityLevel
6262
}
@@ -118,7 +118,7 @@ func WithFullContent(contentType string, contentValue *openapi3.MediaType) Optio
118118
}
119119

120120
func DateFromVersion(version string) (time.Time, error) {
121-
if IsPreviewSabilityLevel(version) {
121+
if IsPreviewStabilityLevel(version) {
122122
return time.Now(), nil
123123
}
124124
return time.Parse(dateFormat, version)
@@ -161,7 +161,7 @@ func (v *APIVersion) ExactMatchOnly() bool {
161161
}
162162

163163
func (v *APIVersion) IsPreview() bool {
164-
return IsPreviewSabilityLevel(v.version)
164+
return IsPreviewStabilityLevel(v.version)
165165
}
166166

167167
func (v *APIVersion) IsPrivatePreview() bool {

tools/cli/internal/changelog/changelog.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121
"os"
2222
"time"
2323

24+
"github.com/mongodb/openapi/tools/cli/internal/apiversion"
2425
"github.com/mongodb/openapi/tools/cli/internal/openapi"
2526
"github.com/tufin/oasdiff/checker"
2627
"github.com/tufin/oasdiff/diff"
@@ -175,6 +176,11 @@ func NewEntries(basePath, revisionPath, exceptionFilePath string) ([]*Entry, err
175176
}
176177

177178
for _, version := range changelog.RevisionMetadata.Versions {
179+
// Skip preview versions
180+
if apiversion.IsPreviewStabilityLevel(version) {
181+
continue
182+
}
183+
178184
changelog.RevisionMetadata.ActiveVersion = version
179185
changelog.BaseMetadata.ActiveVersion = version
180186
changelog.Revision, err = newOpeAPISpecFromPathAndVersion(changelog.RevisionMetadata.Path, version)
@@ -215,6 +221,10 @@ func NewEntriesBetweenRevisionVersions(revisionPath, exceptionFilePath string) (
215221
entries := []*Entry{}
216222
for idx, fromVersion := range revisionMetadata.Versions {
217223
for _, toVersion := range revisionMetadata.Versions[idx+1:] {
224+
// skip preview versions
225+
if apiversion.IsPreviewStabilityLevel(fromVersion) || apiversion.IsPreviewStabilityLevel(toVersion) {
226+
continue
227+
}
218228
entry, err := newEntriesBetweenVersion(revisionMetadata, fromVersion, toVersion, exceptionFilePath)
219229
if err != nil {
220230
return nil, err
@@ -422,6 +432,9 @@ func latestVersionActiveOnDate(date string, versions []string) (string, error) {
422432

423433
activeVersions := []time.Time{}
424434
for _, version := range versions {
435+
if apiversion.IsPreviewStabilityLevel(version) {
436+
continue
437+
}
425438
versionTime, err := newDateFromString(version)
426439
if err != nil {
427440
return "", err

tools/cli/internal/cli/versions/versions.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,15 +77,15 @@ func (o *Opts) filterStabilityLevelVersions(apiVersions []string) []string {
7777
var out []string
7878
for _, v := range apiVersions {
7979
for _, stabilityLevel := range o.stabilityLevel {
80-
if (apiversion.IsStableSabilityLevel(stabilityLevel)) && !apiversion.IsPreviewSabilityLevel(v) {
80+
if (apiversion.IsStableStabilityLevel(stabilityLevel)) && !apiversion.IsPreviewStabilityLevel(v) {
8181
out = append(out, v)
8282
}
8383

84-
if (apiversion.IsPrivatePreviewSabilityLevel(stabilityLevel)) && apiversion.IsPrivatePreviewSabilityLevel(v) {
84+
if (apiversion.IsPrivatePreviewStabilityLevel(stabilityLevel)) && apiversion.IsPrivatePreviewStabilityLevel(v) {
8585
out = append(out, v)
8686
}
8787

88-
if (apiversion.IsPublicPreviewSabilityLevel(stabilityLevel)) && apiversion.IsPublicPreviewSabilityLevel(v) {
88+
if (apiversion.IsPublicPreviewStabilityLevel(stabilityLevel)) && apiversion.IsPublicPreviewStabilityLevel(v) {
8989
out = append(out, v)
9090
}
9191
}

tools/cli/internal/openapi/versions.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ func extractVersions(oas *openapi3.T) ([]string, error) {
6060
continue
6161
}
6262

63-
if apiversion.IsPreviewSabilityLevel(version) {
63+
if apiversion.IsPreviewStabilityLevel(version) {
6464
// parse if it is public or not
6565
version, err = apiversion.GetPreviewVersionName(contentTypeValue)
6666
if err != nil {

0 commit comments

Comments
 (0)