test
This commit is contained in:
parent
75b7b94a50
commit
4bce096e1f
@ -77,4 +77,3 @@ test_%:
|
|||||||
test:
|
test:
|
||||||
@go test ./... -coverprofile=.coverage.out -v
|
@go test ./... -coverprofile=.coverage.out -v
|
||||||
go tool cover -html=.coverage.out -o .coverage.html
|
go tool cover -html=.coverage.out -o .coverage.html
|
||||||
|
|
||||||
|
@ -16,58 +16,70 @@ var (
|
|||||||
modules []string
|
modules []string
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
func cobraInstallCmd() *cobra.Command {
|
||||||
|
return &cobra.Command{
|
||||||
|
Use: "install",
|
||||||
|
Short: "install",
|
||||||
|
Long: `deploy Charts`,
|
||||||
|
Args: cobra.MaximumNArgs(0),
|
||||||
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
|
return InstallCmd(context, version, modules)
|
||||||
|
},
|
||||||
|
Example: "oc-deploy install --version 1.0 --context ex1",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func cobraUninstallCmd() *cobra.Command{
|
||||||
|
return &cobra.Command{
|
||||||
|
Use: "uninstall",
|
||||||
|
Short: "undeploy",
|
||||||
|
Long: `Undeploy`,
|
||||||
|
Args: cobra.MaximumNArgs(0),
|
||||||
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
|
return UninstallCmd(context)
|
||||||
|
},
|
||||||
|
Example: "oc-deploy uninstall --context ex1",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
func cobraGenerateCmd() *cobra.Command{
|
||||||
|
return &cobra.Command{
|
||||||
|
Use: "generate",
|
||||||
|
Short: "generate",
|
||||||
|
Long: "Value",
|
||||||
|
Args: cobra.MaximumNArgs(0),
|
||||||
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
|
return GenerateCmd(context, version)
|
||||||
|
},
|
||||||
|
Example: "oc-deploy generate --version 1.0 --context ex1",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func Execute() {
|
func Execute() {
|
||||||
|
|
||||||
log.Log().Debug().Msg("Execute")
|
log.Log().Debug().Msg("Execute")
|
||||||
|
|
||||||
var rootCmd = &cobra.Command{Use: "oc-deploy"}
|
var rootCmd = &cobra.Command{Use: "oc-deploy"}
|
||||||
|
|
||||||
var cmdInstall = &cobra.Command{
|
var cmdInstall = cobraInstallCmd()
|
||||||
Use: "install",
|
var cmdUninstall = cobraUninstallCmd()
|
||||||
Short: "deploy",
|
var cmdGenerate = cobraGenerateCmd()
|
||||||
Long: `deploy Charts`,
|
|
||||||
Args: cobra.MaximumNArgs(0),
|
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
|
||||||
InstallCmd(context, version, modules)
|
|
||||||
},
|
|
||||||
Example: "oc-deploy install --version 1.0 --context ex1",
|
|
||||||
}
|
|
||||||
|
|
||||||
var cmdUninstall = &cobra.Command{
|
cmdInstall.Flags().StringVarP(&context, "context", "c", "opencloud", "Nom du context")
|
||||||
Use: "uninstall",
|
cmdInstall.Flags().StringVarP(&version, "version", "v", "latest", "Version")
|
||||||
Short: "undeploy",
|
cmdInstall.Flags().StringArrayVarP(&modules, "modules", "m", []string{}, "modules, ...")
|
||||||
Long: `Undeploy`,
|
|
||||||
Args: cobra.MaximumNArgs(0),
|
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
|
||||||
UninstallCmd(context)
|
|
||||||
},
|
|
||||||
Example: "oc-deploy uninstall --context ex1",
|
|
||||||
}
|
|
||||||
|
|
||||||
var cmdGenerate = &cobra.Command{
|
cmdUninstall.Flags().StringVarP(&context, "context", "c", "opencloud", "Nom du context")
|
||||||
Use: "generate",
|
|
||||||
Short: "generate",
|
|
||||||
Long: "Value",
|
|
||||||
Args: cobra.MaximumNArgs(0),
|
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
|
||||||
GenerateCmd(context, version)
|
|
||||||
},
|
|
||||||
Example: "oc-deploy generate --version 1.0 --context ex1",
|
|
||||||
}
|
|
||||||
|
|
||||||
cmdInstall.Flags().StringVarP(&context, "context", "c", "opencloud", "Nom du context")
|
cmdGenerate.Flags().StringVarP(&context, "context", "c", "opencloud", "Nom du context")
|
||||||
cmdInstall.Flags().StringVarP(&version, "version", "v", "latest", "Version")
|
cmdGenerate.Flags().StringVarP(&version, "version", "v", "latest", "Version")
|
||||||
cmdInstall.Flags().StringArrayVarP(&modules, "modules", "m", []string{}, "modules, ...")
|
|
||||||
|
|
||||||
cmdUninstall.Flags().StringVarP(&context, "context", "c", "opencloud", "Nom du context")
|
rootCmd.AddCommand(cmdInstall)
|
||||||
|
rootCmd.AddCommand(cmdUninstall)
|
||||||
|
rootCmd.AddCommand(cmdGenerate)
|
||||||
|
|
||||||
cmdGenerate.Flags().StringVarP(&context, "context", "c", "opencloud", "Nom du context")
|
cobra.CheckErr(rootCmd.Execute())
|
||||||
cmdGenerate.Flags().StringVarP(&version, "version", "v", "latest", "Version")
|
|
||||||
|
|
||||||
rootCmd.AddCommand(cmdInstall)
|
|
||||||
rootCmd.AddCommand(cmdUninstall)
|
|
||||||
rootCmd.AddCommand(cmdGenerate)
|
|
||||||
|
|
||||||
cobra.CheckErr(rootCmd.Execute())
|
|
||||||
|
|
||||||
}
|
}
|
9
src/cmd/args_test.go
Normal file
9
src/cmd/args_test.go
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
package cmd
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestExecute(t *testing.T) {
|
||||||
|
Execute()
|
||||||
|
}
|
@ -8,7 +8,7 @@ import (
|
|||||||
"oc-deploy/generate"
|
"oc-deploy/generate"
|
||||||
)
|
)
|
||||||
|
|
||||||
func GenerateCmd(project string, version string) {
|
func GenerateCmd(project string, version string) error {
|
||||||
log.Log().Info().Msg("Generate >> ")
|
log.Log().Info().Msg("Generate >> ")
|
||||||
|
|
||||||
version, err := versionOc.GetFromFile(version)
|
version, err := versionOc.GetFromFile(version)
|
||||||
@ -24,4 +24,5 @@ func GenerateCmd(project string, version string) {
|
|||||||
}
|
}
|
||||||
log.Log().Info().Msg(" >> Value : " + fic)
|
log.Log().Info().Msg(" >> Value : " + fic)
|
||||||
|
|
||||||
|
return err
|
||||||
}
|
}
|
@ -7,7 +7,7 @@ import (
|
|||||||
"oc-deploy/install"
|
"oc-deploy/install"
|
||||||
)
|
)
|
||||||
|
|
||||||
func InstallCmd(context string, version string, modules []string) {
|
func InstallCmd(context string, version string, modules []string) error {
|
||||||
log.Log().Info().Msg("Install >> ")
|
log.Log().Info().Msg("Install >> ")
|
||||||
|
|
||||||
log.Log().Info().Msg(" << Contexte : " + context)
|
log.Log().Info().Msg(" << Contexte : " + context)
|
||||||
@ -47,4 +47,5 @@ func InstallCmd(context string, version string, modules []string) {
|
|||||||
log.Log().Fatal().Msg(" >> " + err.Error())
|
log.Log().Fatal().Msg(" >> " + err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return err
|
||||||
}
|
}
|
41
src/cmd/installCmd_test.go
Normal file
41
src/cmd/installCmd_test.go
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
package cmd
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestInstallCommand(t *testing.T) {
|
||||||
|
cmd := cobraInstallCmd()
|
||||||
|
|
||||||
|
inMock := false
|
||||||
|
cmd.RunE = func(cmd *cobra.Command, args []string) error {
|
||||||
|
inMock = true
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
cmd.Execute()
|
||||||
|
assert.Truef(t, inMock, "TestInstallCommand")
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestInstallCommandErr(t *testing.T) {
|
||||||
|
cmd := cobraUninstallCmd()
|
||||||
|
|
||||||
|
inMock := false
|
||||||
|
cmd.RunE = func(cmd *cobra.Command, args []string) error {
|
||||||
|
inMock = true
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
cmd.SetArgs([]string{"bad"})
|
||||||
|
b := bytes.NewBufferString("")
|
||||||
|
cmd.SetOut(b)
|
||||||
|
|
||||||
|
err := cmd.Execute()
|
||||||
|
assert.Falsef(t, inMock, "TestInstallCommand args")
|
||||||
|
assert.NotNilf(t, err, "TestInstallCommand args")
|
||||||
|
}
|
@ -11,8 +11,8 @@ import (
|
|||||||
"oc-deploy/install"
|
"oc-deploy/install"
|
||||||
)
|
)
|
||||||
|
|
||||||
func UninstallCmd(context string) {
|
func UninstallCmd(context string) error {
|
||||||
log.Log().Info().Msg("Unnstall >> ")
|
log.Log().Info().Msg("Uninstall >> ")
|
||||||
|
|
||||||
log.Log().Info().Msg(" << Contexte : " + context)
|
log.Log().Info().Msg(" << Contexte : " + context)
|
||||||
|
|
||||||
@ -40,4 +40,6 @@ func UninstallCmd(context string) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
log.Log().Fatal().Msg(" >> " + err.Error())
|
log.Log().Fatal().Msg(" >> " + err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return err
|
||||||
}
|
}
|
41
src/cmd/uninstallCmd_test.go
Normal file
41
src/cmd/uninstallCmd_test.go
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
package cmd
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestUninstallCommand(t *testing.T) {
|
||||||
|
cmd := cobraUninstallCmd()
|
||||||
|
|
||||||
|
inMock := false
|
||||||
|
cmd.RunE = func(cmd *cobra.Command, args []string) error {
|
||||||
|
inMock = true
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
cmd.Execute()
|
||||||
|
assert.Truef(t, inMock, "TestUninstallCommand")
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestUninstallCommandErr(t *testing.T) {
|
||||||
|
cmd := cobraUninstallCmd()
|
||||||
|
|
||||||
|
inMock := false
|
||||||
|
cmd.RunE = func(cmd *cobra.Command, args []string) error {
|
||||||
|
inMock = true
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
cmd.SetArgs([]string{"bad"})
|
||||||
|
b := bytes.NewBufferString("")
|
||||||
|
cmd.SetOut(b)
|
||||||
|
|
||||||
|
err := cmd.Execute()
|
||||||
|
assert.Falsef(t, inMock, "TestUninstallCommand args")
|
||||||
|
assert.NotNilf(t, err, "TestUninstallCommand args")
|
||||||
|
}
|
@ -12,12 +12,10 @@ type toolVersion struct {
|
|||||||
ClientVersion toolClientVersion `json:"clientVersion"`
|
ClientVersion toolClientVersion `json:"clientVersion"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func (this KubectlCommand) GetVersion() (string, error) {
|
func (this KubectlCommand) GetVersion() (string, error) {
|
||||||
|
|
||||||
cmd := this.Exec(this.Bin, "version", "-o", "json", "--client=true")
|
cmd := this.Exec(this.Bin, "version", "-o", "json", "--client=true")
|
||||||
stdout, err := cmd.CombinedOutput()
|
stdout, err := cmd.CombinedOutput()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,6 @@ package log_wrapper
|
|||||||
// https://github.com/rs/zerolog/issues/150
|
// https://github.com/rs/zerolog/issues/150
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"github.com/rs/zerolog"
|
"github.com/rs/zerolog"
|
||||||
@ -34,7 +33,6 @@ func InitLog(filename string) bool {
|
|||||||
|
|
||||||
ficlog := filepath.Join(filename + ".log")
|
ficlog := filepath.Join(filename + ".log")
|
||||||
fAll, _ := os.OpenFile(ficlog, os.O_APPEND|os.O_CREATE|os.O_RDWR, 0644)
|
fAll, _ := os.OpenFile(ficlog, os.O_APPEND|os.O_CREATE|os.O_RDWR, 0644)
|
||||||
fmt.Println("ficlog", ficlog)
|
|
||||||
output := zerolog.ConsoleWriter{Out: os.Stdout}
|
output := zerolog.ConsoleWriter{Out: os.Stdout}
|
||||||
|
|
||||||
writerInfo := zerolog.MultiLevelWriter(output)
|
writerInfo := zerolog.MultiLevelWriter(output)
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
package tool
|
package tool
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
// "os"
|
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
|
||||||
"testing"
|
"testing"
|
||||||
@ -15,7 +13,6 @@ func TestToolConf(t *testing.T) {
|
|||||||
src := filepath.Join(TEST_SRC_DIR, "oc.yml")
|
src := filepath.Join(TEST_SRC_DIR, "oc.yml")
|
||||||
|
|
||||||
data, err := FromConfigFile(src)
|
data, err := FromConfigFile(src)
|
||||||
fmt.Println("data", src, data, err)
|
|
||||||
assert.Equal(t, "kubectl", data[0].Name, "TestToolConf error")
|
assert.Equal(t, "kubectl", data[0].Name, "TestToolConf error")
|
||||||
assert.Nilf(t, err, "error message %s", src)
|
assert.Nilf(t, err, "error message %s", src)
|
||||||
}
|
}
|
@ -8,16 +8,16 @@ import (
|
|||||||
"oc-deploy/helm"
|
"oc-deploy/helm"
|
||||||
)
|
)
|
||||||
|
|
||||||
type HelmInstallData struct {
|
type HelmInstall struct {
|
||||||
obj ToolData
|
obj ToolData
|
||||||
tmp string
|
tmp string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this HelmInstallData) Get() (ToolData) {
|
func (this HelmInstall) Get() (ToolData) {
|
||||||
return this.obj
|
return this.obj
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this HelmInstallData) Download() (error) {
|
func (this HelmInstall) Download() (error) {
|
||||||
|
|
||||||
bin_dir := this.obj.Bin
|
bin_dir := this.obj.Bin
|
||||||
err2 := os.MkdirAll(bin_dir, os.ModePerm)
|
err2 := os.MkdirAll(bin_dir, os.ModePerm)
|
||||||
@ -35,7 +35,9 @@ func (this HelmInstallData) Download() (error) {
|
|||||||
|
|
||||||
r, _ := os.Open(tmp_file)
|
r, _ := os.Open(tmp_file)
|
||||||
err1 := utils.ExtractTarGz(bin_dir, r)
|
err1 := utils.ExtractTarGz(bin_dir, r)
|
||||||
if err1 != nil {return err1}
|
if err1 != nil {
|
||||||
|
return err1
|
||||||
|
}
|
||||||
|
|
||||||
os.Remove(tmp_file)
|
os.Remove(tmp_file)
|
||||||
|
|
||||||
@ -48,7 +50,7 @@ func (this HelmInstallData) Download() (error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
///////////////
|
///////////////
|
||||||
func (this HelmInstallData) Version(path string) (string, error) {
|
func (this HelmInstall) Version(path string) (string, error) {
|
||||||
cmd := helm.HelmCommand{Bin: path}
|
cmd := helm.HelmCommand{Bin: path}
|
||||||
cmd.New()
|
cmd.New()
|
||||||
return cmd.GetVersion()
|
return cmd.GetVersion()
|
||||||
|
@ -1 +1,62 @@
|
|||||||
package tool
|
package tool
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os"
|
||||||
|
"path/filepath"
|
||||||
|
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/jarcoal/httpmock"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestToolHelm(t *testing.T) {
|
||||||
|
|
||||||
|
httpmock.Activate()
|
||||||
|
defer httpmock.DeactivateAndReset()
|
||||||
|
|
||||||
|
data := ToolData{Bin: TEST_DEST_DIR,
|
||||||
|
Name: "helm",
|
||||||
|
Version: "1.0",
|
||||||
|
Url: "http://test/%s"}
|
||||||
|
|
||||||
|
fileName := filepath.Join(TEST_SRC_DIR, "helm.tgz")
|
||||||
|
httpRes, _ := os.ReadFile(fileName)
|
||||||
|
|
||||||
|
httpmock.RegisterResponder("GET", "http://test/1.0",
|
||||||
|
httpmock.NewBytesResponder(200, httpRes))
|
||||||
|
|
||||||
|
install := HelmInstall{obj: data, tmp: TEST_DEST_DIR}
|
||||||
|
|
||||||
|
data2 := install.Get()
|
||||||
|
assert.Equal(t, data.Name, data2.Name, "TestToolHelm error")
|
||||||
|
assert.Equal(t, data.Version, data2.Version, "TestToolHelm error")
|
||||||
|
|
||||||
|
err := install.Download()
|
||||||
|
assert.Nilf(t, err, "error message %s", "Download")
|
||||||
|
|
||||||
|
dest := filepath.Join(TEST_DEST_DIR, "helm")
|
||||||
|
assert.FileExists(t, dest, "TestToolHelm Download error")
|
||||||
|
|
||||||
|
version, _ := install.Version(dest)
|
||||||
|
assert.Equal(t, "1.0", version, "TestToolHelm error")
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
func TestToolHelmErr(t *testing.T) {
|
||||||
|
|
||||||
|
data := ToolData{Bin: TEST_DEST_DIR,
|
||||||
|
Name: "test",
|
||||||
|
Version: "1.0",
|
||||||
|
Url: "http://test/%s"}
|
||||||
|
|
||||||
|
install := HelmInstall{obj: data}
|
||||||
|
|
||||||
|
data2 := install.Get()
|
||||||
|
assert.Equal(t, data.Name, data2.Name, "TestToolHelm error")
|
||||||
|
|
||||||
|
err := install.Download()
|
||||||
|
|
||||||
|
assert.NotNilf(t, err, "error message %s", "Download")
|
||||||
|
}
|
||||||
|
@ -10,15 +10,15 @@ import (
|
|||||||
"oc-deploy/kubectl"
|
"oc-deploy/kubectl"
|
||||||
)
|
)
|
||||||
|
|
||||||
type KubecltInstallData struct {
|
type KubectlInstall struct {
|
||||||
obj ToolData
|
obj ToolData
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this KubecltInstallData) Get() (ToolData) {
|
func (this KubectlInstall) Get() (ToolData) {
|
||||||
return this.obj
|
return this.obj
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this KubecltInstallData) Download() (error) {
|
func (this KubectlInstall) Download() (error) {
|
||||||
|
|
||||||
bin_dir := this.obj.Bin
|
bin_dir := this.obj.Bin
|
||||||
bin := filepath.Join(bin_dir, this.obj.Name)
|
bin := filepath.Join(bin_dir, this.obj.Name)
|
||||||
@ -36,7 +36,7 @@ func (this KubecltInstallData) Download() (error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
///////////////
|
///////////////
|
||||||
func (this KubecltInstallData) Version(path string) (string, error) {
|
func (this KubectlInstall) Version(path string) (string, error) {
|
||||||
cmd := kubectl.KubectlCommand{Bin: path}
|
cmd := kubectl.KubectlCommand{Bin: path}
|
||||||
cmd.New()
|
cmd.New()
|
||||||
return cmd.GetVersion()
|
return cmd.GetVersion()
|
||||||
|
79
src/tool/kubectl_test.go
Normal file
79
src/tool/kubectl_test.go
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
package tool
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"path/filepath"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/jarcoal/httpmock"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestToolKubectl(t *testing.T) {
|
||||||
|
|
||||||
|
httpmock.Activate()
|
||||||
|
defer httpmock.DeactivateAndReset()
|
||||||
|
|
||||||
|
data := ToolData{Bin: TEST_DEST_DIR,
|
||||||
|
Name: "kubectl",
|
||||||
|
Version: "1.0",
|
||||||
|
Url: "http://test/%s"}
|
||||||
|
|
||||||
|
binContent := `#!/bin/sh
|
||||||
|
cat <<EOF
|
||||||
|
{
|
||||||
|
"clientVersion": {
|
||||||
|
"major": "1",
|
||||||
|
"minor": "30",
|
||||||
|
"gitVersion": "v1.30.3",
|
||||||
|
"gitCommit": "6fc0a69044f1ac4c13841ec4391224a2df241460",
|
||||||
|
"gitTreeState": "clean",
|
||||||
|
"buildDate": "2024-07-16T23:54:40Z",
|
||||||
|
"goVersion": "go1.22.5",
|
||||||
|
"compiler": "gc",
|
||||||
|
"platform": "linux/amd64"
|
||||||
|
},
|
||||||
|
"kustomizeVersion": "v5.0.4-0.20230601165947-6ce0bf390ce3"
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
`
|
||||||
|
|
||||||
|
httpmock.RegisterResponder("GET", "http://test/1.0",
|
||||||
|
httpmock.NewStringResponder(200, binContent))
|
||||||
|
|
||||||
|
install := KubectlInstall{obj: data}
|
||||||
|
|
||||||
|
data2 := install.Get()
|
||||||
|
assert.Equal(t, data.Name, data2.Name, "TestToolKubectl error")
|
||||||
|
assert.Equal(t, data.Version, data2.Version, "TestToolKubectl error")
|
||||||
|
|
||||||
|
err := install.Download()
|
||||||
|
assert.Nilf(t, err, "error message %s", "Download")
|
||||||
|
|
||||||
|
dest := filepath.Join(TEST_DEST_DIR, "kubectl")
|
||||||
|
assert.FileExists(t, dest, "TestToolKubectl Download error")
|
||||||
|
|
||||||
|
version, err1 := install.Version(dest)
|
||||||
|
assert.Equal(t, "v1.30.3", version, "TestToolKubectl error")
|
||||||
|
|
||||||
|
fmt.Println(" err1 ", err1)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
func TestToolKubectlErr(t *testing.T) {
|
||||||
|
|
||||||
|
data := ToolData{Bin: TEST_DEST_DIR,
|
||||||
|
Name: "test",
|
||||||
|
Version: "1.0",
|
||||||
|
Url: "http://test/%s"}
|
||||||
|
|
||||||
|
install := KubectlInstall{obj: data}
|
||||||
|
|
||||||
|
data2 := install.Get()
|
||||||
|
assert.Equal(t, data.Name, data2.Name, "TestToolKubectl error")
|
||||||
|
|
||||||
|
err := install.Download()
|
||||||
|
|
||||||
|
assert.NotNilf(t, err, "error message %s", "Download")
|
||||||
|
}
|
@ -1,24 +1,23 @@
|
|||||||
package tool
|
package tool
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"os"
|
"os"
|
||||||
"testing"
|
"testing"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
)
|
)
|
||||||
|
|
||||||
var TEST_DEST_DIR = "../wrk_tool"
|
var TEST_DEST_DIR = "../wrk_tool"
|
||||||
var TEST_SRC_DIR = filepath.Join("../../test", "tool")
|
var TEST_SRC_DIR = filepath.Join("../../test", "tool")
|
||||||
var TEST_BIN_DIR = filepath.Join("../../test", "bin")
|
|
||||||
|
|
||||||
func TestMain(m *testing.M) {
|
func TestMain(m *testing.M) {
|
||||||
folderPath := TEST_DEST_DIR
|
folderPath := TEST_DEST_DIR
|
||||||
|
|
||||||
os.RemoveAll(folderPath)
|
os.RemoveAll(folderPath)
|
||||||
os.MkdirAll(folderPath, os.ModePerm)
|
os.MkdirAll(folderPath, os.ModePerm)
|
||||||
|
|
||||||
// call flag.Parse() here if TestMain uses flags
|
// call flag.Parse() here if TestMain uses flags
|
||||||
exitCode := m.Run()
|
exitCode := m.Run()
|
||||||
|
|
||||||
os.RemoveAll(folderPath)
|
os.RemoveAll(folderPath)
|
||||||
os.Exit(exitCode)
|
os.Exit(exitCode)
|
||||||
}
|
}
|
@ -68,9 +68,9 @@ func factory(data ToolData) (Forme, error) {
|
|||||||
|
|
||||||
switch data.Name {
|
switch data.Name {
|
||||||
case "kubectl":
|
case "kubectl":
|
||||||
f = KubecltInstallData{obj: data}
|
f = KubectlInstall{obj: data}
|
||||||
case "helm":
|
case "helm":
|
||||||
f = HelmInstallData{obj: data, tmp: "/tmp"}
|
f = HelmInstall{obj: data, tmp: "/tmp"}
|
||||||
default:
|
default:
|
||||||
return f, fmt.Errorf("Outil Inconnu : %s", data.Name)
|
return f, fmt.Errorf("Outil Inconnu : %s", data.Name)
|
||||||
}
|
}
|
||||||
|
BIN
test/tool/helm.tgz
Normal file
BIN
test/tool/helm.tgz
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user