mirror of
https://github.com/edgelesssys/constellation.git
synced 2025-01-12 07:59:29 -05:00
versionsapi: allow debug stream
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
This commit is contained in:
parent
9c9c8e3d46
commit
8c5fc7a890
@ -29,7 +29,7 @@ import (
|
||||
// "v1.0" and a list of patch versions "v1.0.0", "v1.0.1", "v1.0.2" etc.
|
||||
type List struct {
|
||||
// Stream is the update stream of the list.
|
||||
// Currently, only "stable" is supported.
|
||||
// Currently, only "stable" and "debug" are supported.
|
||||
Stream string `json:"stream"`
|
||||
// Granularity is the granularity of the base version of this list.
|
||||
// It can be either "major" or "minor".
|
||||
@ -52,7 +52,7 @@ type List struct {
|
||||
// - All versions in the list are valid semantic versions that are finer-grained than the base version.
|
||||
func (l *List) Validate() error {
|
||||
var issues []string
|
||||
if l.Stream != "stable" {
|
||||
if !IsValidStream(l.Stream) {
|
||||
issues = append(issues, fmt.Sprintf("stream %q is not supported", l.Stream))
|
||||
}
|
||||
if l.Granularity != "major" && l.Granularity != "minor" {
|
||||
@ -178,6 +178,19 @@ func getFromURL(ctx context.Context, client httpc, stream, granularity, base, ki
|
||||
return content, nil
|
||||
}
|
||||
|
||||
// IsValidStream returns true if the given stream is a valid stream.
|
||||
func IsValidStream(stream string) bool {
|
||||
validStreams := []string{"stable", "debug"}
|
||||
|
||||
for _, validStream := range validStreams {
|
||||
if stream == validStream {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
type httpc interface {
|
||||
Do(req *http.Request) (*http.Response, error)
|
||||
}
|
||||
|
@ -277,3 +277,22 @@ func minorList() *List {
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func TestIsValidStream(t *testing.T) {
|
||||
testCases := map[string]bool{
|
||||
"stable": true,
|
||||
"debug": true,
|
||||
"beta": false,
|
||||
"alpha": false,
|
||||
"unknown": false,
|
||||
"fast": false,
|
||||
}
|
||||
|
||||
for name, want := range testCases {
|
||||
t.Run(name, func(t *testing.T) {
|
||||
assert := assert.New(t)
|
||||
|
||||
assert.Equal(want, IsValidStream(name))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user