Files
portainer/api/http/handler/stacks/create_kubernetes_stack_test.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)
}