Skip to content

Commit 8f26374

Browse files
fix: map x-stability value to a parsable value
1 parent cf4ae80 commit 8f26374

File tree

2 files changed

+44
-1
lines changed

2 files changed

+44
-1
lines changed

internal/simplebuild/build.go

+13-1
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ func (vs VersionSet) Annotate() {
337337
op.Operation.Extensions[vervet.ExtSnykApiVersion] = op.Version.String()
338338
op.Operation.Extensions[vervet.ExtSnykApiReleases] = releases
339339
op.Operation.Extensions[vervet.ExtSnykApiLifecycle] = op.Version.LifecycleAt(time.Time{}).String()
340-
op.Operation.Extensions[vervet.ExtApiStabilityLevel] = op.Version.Stability.String()
340+
op.Operation.Extensions[vervet.ExtApiStabilityLevel] = MapStabilityLevel(op.Version.Stability)
341341
op.Operation.Extensions[vervet.ExtSnykApiStability] = op.Version.Stability.String()
342342

343343
if idx < (count - 1) {
@@ -355,6 +355,18 @@ func (vs VersionSet) Annotate() {
355355
}
356356
}
357357

358+
// MapStabilityLevel maps the vervet stability level to the x-API stability level header.
359+
func MapStabilityLevel(s vervet.Stability) string {
360+
switch s {
361+
case vervet.StabilityGA:
362+
return "stable"
363+
case vervet.StabilityBeta:
364+
return "beta"
365+
default:
366+
return ""
367+
}
368+
}
369+
358370
func CheckBreakingChanges(docs DocSet) error {
359371
for i := 1; i < len(docs); i++ {
360372
prevDoc := docs[i-1]

internal/simplebuild/build_test.go

+31
Original file line numberDiff line numberDiff line change
@@ -700,3 +700,34 @@ func compareDocs(a, b simplebuild.VersionedDoc) int {
700700
func compareDates(a, b time.Time) int {
701701
return a.Compare(b)
702702
}
703+
704+
func TestMapStabilityLevel(t *testing.T) {
705+
tests := []struct {
706+
name string
707+
args vervet.Stability
708+
want string
709+
}{
710+
{
711+
name: "stable",
712+
args: vervet.StabilityGA,
713+
want: "stable",
714+
},
715+
{
716+
name: "beta",
717+
args: vervet.StabilityBeta,
718+
want: "beta",
719+
},
720+
{
721+
name: "defaults to blank",
722+
args: vervet.StabilityExperimental,
723+
want: "",
724+
},
725+
}
726+
for _, tt := range tests {
727+
t.Run(tt.name, func(t *testing.T) {
728+
if got := simplebuild.MapStabilityLevel(tt.args); got != tt.want {
729+
t.Errorf("MapStabilityLevel() = %v, want %v", got, tt.want)
730+
}
731+
})
732+
}
733+
}

0 commit comments

Comments
 (0)