openamt/cmd/main_test.go

90 lines
2.0 KiB
Go
Raw Permalink Normal View History

2023-03-20 16:28:45 +00:00
package main
import (
"github.com/stretchr/testify/assert"
"openamt/pkg/amtrpc"
2023-03-20 16:28:45 +00:00
"rpc/pkg/utils"
"testing"
)
var amtUnavailable = amtrpc.AMTRPC{
MockAccessStatus: func() int { return utils.AmtNotDetected },
MockExec: func(s string) (string, int) { return "", utils.Success },
}
var amtAccessError = amtrpc.AMTRPC{
MockAccessStatus: func() int { return utils.IncorrectPermissions },
MockExec: func(s string) (string, int) { return "", utils.Success },
}
var amtActive = amtrpc.AMTRPC{
MockAccessStatus: func() int { return utils.Success },
MockExec: func(s string) (string, int) { return "", utils.Success },
}
var amtExecError = amtrpc.AMTRPC{
MockAccessStatus: func() int { return utils.Success },
MockExec: func(s string) (string, int) { return "", utils.ActivationFailed },
}
func Test_activateAMTUnavailable(t *testing.T) {
config := &AMT{
ServerAddress: "wss://fake",
2023-03-20 16:28:45 +00:00
}
err := activateAMT(amtUnavailable, config)
2023-03-20 16:28:45 +00:00
assert.NoError(t, err)
2023-03-20 16:28:45 +00:00
}
func Test_activateAMTCheckAccessError(t *testing.T) {
config := &AMT{
ServerAddress: "wss://fake",
2023-03-20 16:28:45 +00:00
}
err := activateAMT(amtAccessError, config)
2023-03-20 16:28:45 +00:00
assert.Error(t, err)
2023-03-20 16:28:45 +00:00
}
func Test_activateAMTNoConfiguration(t *testing.T) {
err := activateAMT(amtActive, &AMT{})
2023-03-20 16:28:45 +00:00
assert.NoError(t, err)
2023-03-20 16:28:45 +00:00
}
func Test_activateAMTApplyError(t *testing.T) {
config := &AMT{
ServerAddress: "wss://fake",
2023-03-20 16:28:45 +00:00
}
err := activateAMT(amtExecError, config)
2023-03-20 16:28:45 +00:00
assert.Error(t, err)
2023-03-20 16:28:45 +00:00
}
func Test_activateAMTStandard(t *testing.T) {
var execCommand string
config := &AMT{
ServerAddress: "wss://fake",
Extra: map[string]string{
"-foo": "bar",
2023-03-20 16:28:45 +00:00
},
}
amt := amtrpc.AMTRPC{
MockAccessStatus: func() int { return utils.Success },
MockExec: func(s string) (string, int) {
execCommand = s
return "", utils.Success
},
}
err := activateAMT(amt, config)
2023-03-20 16:28:45 +00:00
assert.Contains(t, execCommand, "activate")
assert.Contains(t, execCommand, "-u "+config.ServerAddress)
2023-03-20 16:28:45 +00:00
assert.Contains(t, execCommand, "-foo bar")
assert.NoError(t, err)
2023-03-20 16:28:45 +00:00
}