1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-08-05 05:45:22 +02:00

chore(ci): run lint and test on all pkgs [EE-6201] (#10481)

This commit is contained in:
Chaim Lev-Ari 2024-01-02 10:59:49 +07:00 committed by GitHub
parent 2e15cad048
commit 82951093b5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 35 additions and 66 deletions

View file

@ -14,7 +14,7 @@ func Test_enableFeaturesFromFlags(t *testing.T) {
supportedFeatures := []Feature{"supported", "supported2", "supported3", "supported4", "supported5"}
t.Run("supported features should be supported", func(t *testing.T) {
Init(supportedFeatures)
initSupportedFeatures(supportedFeatures)
for _, featureFlag := range supportedFeatures {
is.True(IsSupported(featureFlag))
@ -22,7 +22,7 @@ func Test_enableFeaturesFromFlags(t *testing.T) {
})
t.Run("unsupported features should not be supported", func(t *testing.T) {
Init(supportedFeatures)
initSupportedFeatures(supportedFeatures)
is.False(IsSupported("unsupported"))
})
@ -35,13 +35,12 @@ func Test_enableFeaturesFromFlags(t *testing.T) {
}
for _, test := range tests {
Init(supportedFeatures)
os.Unsetenv("PORTAINER_FEATURE_FLAGS")
os.Setenv("PORTAINER_FEATURE_FLAGS", strings.Join(test.envFeatureFlags, ","))
t.Run("testing", func(t *testing.T) {
Parse(test.cliFeatureFlags)
Parse(test.cliFeatureFlags, supportedFeatures)
supported := toFeatureMap(test.cliFeatureFlags, test.envFeatureFlags)
// add env flags to supported flags

View file

@ -63,9 +63,6 @@ type Chart struct {
// Files are miscellaneous files in a chart archive,
// e.g. README, LICENSE, etc.
Files []*File `json:"files"`
parent *Chart
dependencies []*Chart
}
// File represents a file as a name/value pair.

View file

@ -2,7 +2,6 @@ package compose_test
import (
"context"
"errors"
"fmt"
"log"
"os"
@ -13,12 +12,11 @@ import (
"github.com/portainer/portainer/pkg/libstack"
"github.com/portainer/portainer/pkg/libstack/compose"
"github.com/portainer/portainer/pkg/testhelpers"
)
func checkPrerequisites(t *testing.T) {
if _, err := os.Stat("docker-compose"); errors.Is(err, os.ErrNotExist) {
t.Fatal("docker-compose binary not found, please run download.sh and re-run this suite")
}
testhelpers.IntegrationTest(t)
}
func Test_UpAndDown(t *testing.T) {
@ -31,7 +29,7 @@ func Test_UpAndDown(t *testing.T) {
services:
busybox:
image: "alpine:3.7"
container_name: "test_container_one"
container_name: "binarytest_container_one"
`
const overrideComposeFileContent = `
@ -39,10 +37,10 @@ func Test_UpAndDown(t *testing.T) {
services:
busybox:
image: "alpine:latest"
container_name: "test_container_two"
container_name: "binarytest_container_two"
`
const composeContainerName = "test_container_two"
const composeContainerName = "binarytest_container_two"
dir := t.TempDir()
@ -57,8 +55,13 @@ func Test_UpAndDown(t *testing.T) {
}
ctx := context.Background()
projectName := "binarytest"
err = deployer.Deploy(ctx, []string{filePathOriginal, filePathOverride}, libstack.DeployOptions{})
err = deployer.Deploy(ctx, []string{filePathOriginal, filePathOverride}, libstack.DeployOptions{
Options: libstack.Options{
ProjectName: projectName,
},
})
if err != nil {
t.Fatal(err)
}
@ -67,7 +70,7 @@ func Test_UpAndDown(t *testing.T) {
t.Fatal("container should exist")
}
err = deployer.Remove(ctx, "", []string{filePathOriginal, filePathOverride}, libstack.Options{})
err = deployer.Remove(ctx, projectName, []string{filePathOriginal, filePathOverride}, libstack.Options{})
if err != nil {
t.Fatal(err)
}

View file

@ -1,25 +0,0 @@
#!/usr/bin/env bash
set -euo pipefail
PLATFORM=$(go env GOOS)
ARCH=$(go env GOARCH)
COMPOSE_VERSION=v2.5.1
if [[ ${ARCH} == "amd64" ]]; then
ARCH="x86_64"
elif [[ ${ARCH} == "arm" ]]; then
ARCH="armv7"
elif [[ ${ARCH} == "arm64" ]]; then
ARCH="aarch64"
fi
if [[ "$PLATFORM" == "windows" ]]; then
wget --tries=3 --waitretry=30 --quiet -O "docker-compose.exe" "https://github.com/docker/compose/releases/download/$COMPOSE_VERSION/docker-compose-windows-${ARCH}.exe"
chmod +x "docker-compose.exe"
else
wget --tries=3 --waitretry=30 --quiet -O "docker-compose" "https://github.com/docker/compose/releases/download/$COMPOSE_VERSION/docker-compose-${PLATFORM}-${ARCH}"
chmod +x "docker-compose"
fi

View file

@ -66,15 +66,15 @@ func Test_UpAndDown(t *testing.T) {
services:
busybox:
image: "alpine:3.7"
container_name: "test_container_one"`
container_name: "plugintest_container_one"`
const overrideComposeFileContent = `version: "3.9"
services:
busybox:
image: "alpine:latest"
container_name: "test_container_two"`
container_name: "plugintest_container_two"`
const composeContainerName = "test_container_two"
const composeContainerName = "plugintest_container_two"
w := setup(t)
@ -90,8 +90,14 @@ services:
t.Fatal(err)
}
projectName := "plugintest"
ctx := context.Background()
err = w.Deploy(ctx, []string{filePathOriginal, filePathOverride}, libstack.DeployOptions{})
err = w.Deploy(ctx, []string{filePathOriginal, filePathOverride}, libstack.DeployOptions{
Options: libstack.Options{
ProjectName: projectName,
},
})
if err != nil {
t.Fatal(err)
}
@ -100,7 +106,7 @@ services:
t.Fatal("container should exist")
}
err = w.Remove(ctx, "", []string{filePathOriginal, filePathOverride}, libstack.Options{})
err = w.Remove(ctx, projectName, []string{filePathOriginal, filePathOverride}, libstack.Options{})
if err != nil {
t.Fatal(err)
}

View file

@ -3,6 +3,7 @@ package composeplugin
import (
"bytes"
"context"
"errors"
"fmt"
"io"
"time"
@ -143,7 +144,7 @@ func (wrapper *PluginWrapper) WaitForStatus(ctx context.Context, name string, st
var svc service
err := dec.Decode(&svc)
if err == io.EOF {
if errors.Is(err, io.EOF) {
break
}
if err != nil {

View file

@ -0,0 +1,22 @@
package testhelpers
import (
"flag"
"os"
"testing"
)
var integration bool
func init() {
flag.BoolVar(&integration, "integration", false, "enable integration tests")
}
// IntegrationTest marks the current test as an integration test
func IntegrationTest(t *testing.T) {
_, enabled := os.LookupEnv("INTEGRATION_TEST")
if !(integration || enabled) {
t.Skip("Skipping integration test")
}
}