mirror of
https://github.com/portainer/portainer.git
synced 2025-07-21 14:29:40 +02:00
import libhelm into portainer (#8128)
This commit is contained in:
parent
241440a474
commit
d2f6d1e415
32 changed files with 1305 additions and 5 deletions
49
api/pkg/libhelm/validate_repo_test.go
Normal file
49
api/pkg/libhelm/validate_repo_test.go
Normal file
|
@ -0,0 +1,49 @@
|
|||
package libhelm
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/portainer/libhelm/libhelmtest"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func Test_ValidateHelmRepositoryURL(t *testing.T) {
|
||||
libhelmtest.EnsureIntegrationTest(t)
|
||||
is := assert.New(t)
|
||||
|
||||
type testCase struct {
|
||||
name string
|
||||
url string
|
||||
invalid bool
|
||||
}
|
||||
|
||||
tests := []testCase{
|
||||
{"blank", "", true},
|
||||
{"slashes", "//", true},
|
||||
{"slash", "/", true},
|
||||
{"invalid scheme", "garbage://a.b.c", true},
|
||||
{"invalid domain", "https://invaliddomain/", true},
|
||||
{"not helm repo", "http://google.com", true},
|
||||
{"not valid repo with trailing slash", "http://google.com/", true},
|
||||
{"not valid repo with trailing slashes", "http://google.com////", true},
|
||||
{"bitnami helm repo", "https://charts.bitnami.com/bitnami/", false},
|
||||
{"gitlap helm repo", "https://charts.gitlab.io/", false},
|
||||
{"portainer helm repo", "https://portainer.github.io/k8s/", false},
|
||||
{"elastic helm repo", "https://helm.elastic.co/", false},
|
||||
{"redirect", "https://charts.jetstack.io/", false},
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
func(tc testCase) {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
t.Parallel()
|
||||
err := ValidateHelmRepositoryURL(tc.url)
|
||||
if tc.invalid {
|
||||
is.Errorf(err, "error expected: %s", tc.url)
|
||||
} else {
|
||||
is.NoError(err, "no error expected: %s", tc.url)
|
||||
}
|
||||
})
|
||||
}(test)
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue