68 lines
1.4 KiB
Go
68 lines
1.4 KiB
Go
package stacks
|
|
|
|
import (
|
|
"testing"
|
|
|
|
portainer "github.com/portainer/portainer/api"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestKubernetesGitDeploymentPayloadValidate_WithSourceID_URLNotRequired(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
p := kubernetesGitDeploymentPayload{
|
|
SourceID: portainer.SourceID(1),
|
|
ManifestFile: "manifest.yaml",
|
|
}
|
|
err := p.Validate(nil)
|
|
require.NoError(t, err)
|
|
}
|
|
|
|
func TestKubernetesGitDeploymentPayloadValidate_WithSourceID_AuthNotRequired(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
p := kubernetesGitDeploymentPayload{
|
|
SourceID: portainer.SourceID(1),
|
|
RepositoryAuthentication: true,
|
|
// Password intentionally omitted — should not fail when SourceID is set
|
|
ManifestFile: "manifest.yaml",
|
|
}
|
|
err := p.Validate(nil)
|
|
require.NoError(t, err)
|
|
}
|
|
|
|
func TestKubernetesGitDeploymentPayloadValidate_WithoutSourceID_URLRequired(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
p := kubernetesGitDeploymentPayload{
|
|
ManifestFile: "manifest.yaml",
|
|
// SourceID and RepositoryURL both omitted
|
|
}
|
|
err := p.Validate(nil)
|
|
require.Error(t, err)
|
|
}
|
|
|
|
func TestCreateStackPayloadFromK8sGitPayload_WithSourceID(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
p := createStackPayloadFromK8sGitPayload(
|
|
"k8s-stack",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
false,
|
|
false,
|
|
"default",
|
|
"manifest.yaml",
|
|
nil,
|
|
nil,
|
|
false,
|
|
portainer.SourceID(7),
|
|
)
|
|
|
|
require.Equal(t, portainer.SourceID(7), p.SourceID)
|
|
require.Equal(t, "manifest.yaml", p.ManifestFile)
|
|
}
|