testing setup
This commit is contained in:
parent
7457bf0b93
commit
7c46970b67
@ -132,9 +132,6 @@ func NewAgentConfig() *rmm.AgentConfig {
|
|||||||
viper.SetConfigType("json")
|
viper.SetConfigType("json")
|
||||||
viper.AddConfigPath("/etc/")
|
viper.AddConfigPath("/etc/")
|
||||||
viper.AddConfigPath(".")
|
viper.AddConfigPath(".")
|
||||||
if strings.HasSuffix(os.Args[0], ".test") {
|
|
||||||
viper.AddConfigPath("../")
|
|
||||||
}
|
|
||||||
|
|
||||||
err := viper.ReadInConfig()
|
err := viper.ReadInConfig()
|
||||||
|
|
||||||
|
45
agent/agent_linux_test.go
Normal file
45
agent/agent_linux_test.go
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
package agent
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"io"
|
||||||
|
"os"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func captureOutput(f func()) string {
|
||||||
|
old := os.Stdout
|
||||||
|
r, w, _ := os.Pipe()
|
||||||
|
os.Stdout = w
|
||||||
|
f()
|
||||||
|
w.Close()
|
||||||
|
os.Stdout = old
|
||||||
|
|
||||||
|
var buf bytes.Buffer
|
||||||
|
io.Copy(&buf, r)
|
||||||
|
return buf.String()
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestShowStatus(t *testing.T) {
|
||||||
|
var (
|
||||||
|
version = "2.0.4"
|
||||||
|
)
|
||||||
|
|
||||||
|
output := captureOutput(func() {
|
||||||
|
ShowStatus(version)
|
||||||
|
})
|
||||||
|
|
||||||
|
if output != (version + "\n") {
|
||||||
|
t.Errorf("ShowStatus output not equal to version defined.")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestOsString(t *testing.T) {
|
||||||
|
a := New(lg, version)
|
||||||
|
osString := a.osString()
|
||||||
|
if osString == "" {
|
||||||
|
t.Errorf("Could not get OS String")
|
||||||
|
} else {
|
||||||
|
t.Logf("Got OS String: %s", osString)
|
||||||
|
}
|
||||||
|
}
|
@ -1,35 +1,20 @@
|
|||||||
package agent
|
package agent
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"io"
|
|
||||||
"os"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
"github.com/sirupsen/logrus"
|
||||||
)
|
)
|
||||||
|
|
||||||
func captureOutput(f func()) string {
|
var (
|
||||||
old := os.Stdout
|
version = "2.0.4"
|
||||||
r, w, _ := os.Pipe()
|
lg = logrus.New()
|
||||||
os.Stdout = w
|
)
|
||||||
f()
|
|
||||||
w.Close()
|
|
||||||
os.Stdout = old
|
|
||||||
|
|
||||||
var buf bytes.Buffer
|
func TestAgentId(t *testing.T) {
|
||||||
io.Copy(&buf, r)
|
a := New(lg, version)
|
||||||
return buf.String()
|
if a.AgentID == "" {
|
||||||
}
|
t.Error("AgentID not set")
|
||||||
|
} else {
|
||||||
func TestShowStatus(t *testing.T) {
|
t.Logf("AgentID: %s", a.AgentID)
|
||||||
var (
|
|
||||||
version = "2.0.4"
|
|
||||||
)
|
|
||||||
|
|
||||||
output := captureOutput(func() {
|
|
||||||
ShowStatus(version)
|
|
||||||
})
|
|
||||||
|
|
||||||
if output != (version + "\n") {
|
|
||||||
t.Errorf("ShowStatus output not equal to version defined.")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -13,14 +13,12 @@ package agent
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"log"
|
"log"
|
||||||
|
"os"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"github.com/spf13/viper"
|
"github.com/spf13/viper"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
|
||||||
etcConfig = "/etc/tacticalagent"
|
|
||||||
)
|
|
||||||
|
|
||||||
func (a *Agent) checkExistingAndRemove(silent bool) {}
|
func (a *Agent) checkExistingAndRemove(silent bool) {}
|
||||||
|
|
||||||
func (a *Agent) installerMsg(msg, alert string, silent bool) {
|
func (a *Agent) installerMsg(msg, alert string, silent bool) {
|
||||||
@ -42,7 +40,13 @@ func createAgentConfig(baseurl, agentid, apiurl, token, agentpk, cert, proxy, me
|
|||||||
viper.Set("proxy", proxy)
|
viper.Set("proxy", proxy)
|
||||||
viper.Set("meshdir", meshdir)
|
viper.Set("meshdir", meshdir)
|
||||||
viper.SetConfigPermissions(0660)
|
viper.SetConfigPermissions(0660)
|
||||||
err := viper.SafeWriteConfigAs(etcConfig)
|
configLocation := "/etc/tacticalagent"
|
||||||
|
if strings.HasSuffix(os.Args[0], ".test") {
|
||||||
|
configLocation = "tacticalagent"
|
||||||
|
}
|
||||||
|
|
||||||
|
err := viper.SafeWriteConfigAs(configLocation)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalln("createAgentConfig", err)
|
log.Fatalln("createAgentConfig", err)
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,6 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
"github.com/spf13/viper"
|
"github.com/spf13/viper"
|
||||||
"strconv"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestInstall(t *testing.T) {
|
func TestInstall(t *testing.T) {
|
||||||
@ -18,31 +17,26 @@ func TestInstall(t *testing.T) {
|
|||||||
viper.SetConfigName("testargs.json")
|
viper.SetConfigName("testargs.json")
|
||||||
viper.SetConfigType("json")
|
viper.SetConfigType("json")
|
||||||
viper.AddConfigPath(".")
|
viper.AddConfigPath(".")
|
||||||
|
viper.ReadInConfig()
|
||||||
cid, err := strconv.Atoi(viper.GetString("clientid"))
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
cid = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
installer := Installer {
|
installer := Installer {
|
||||||
RMM: viper.GetString("api"),
|
RMM: viper.GetString("api"),
|
||||||
ClientID: cid,
|
ClientID: viper.GetInt("clientid"),
|
||||||
SiteID: *siteID,
|
SiteID: viper.GetInt("siteid"),
|
||||||
Description: *desc,
|
Description: viper.GetString("description"),
|
||||||
AgentType: *atype,
|
AgentType: viper.GetString("agenttype"),
|
||||||
Power: *power,
|
Power: viper.GetBool("power"),
|
||||||
RDP: *rdp,
|
RDP: viper.GetBool("rdp"),
|
||||||
Ping: *ping,
|
Ping: viper.GetBool("ping"),
|
||||||
Token: *token,
|
Token: viper.GetString("token"),
|
||||||
LocalMesh: *localMesh,
|
LocalMesh: viper.GetString("localmesh"),
|
||||||
Cert: *cert,
|
Cert: viper.GetString("cert"),
|
||||||
Proxy: *proxy,
|
Proxy: viper.GetString("proxy"),
|
||||||
Timeout: *timeout,
|
Timeout: viper.GetDuration("timeout"),
|
||||||
Silent: *silent,
|
Silent: viper.GetBool("silent"),
|
||||||
NoMesh: *noMesh,
|
NoMesh: viper.GetBool("nomesh"),
|
||||||
MeshDir: *meshDir,
|
MeshDir: viper.GetString("meshdir"),
|
||||||
MeshNodeID: *meshNodeID,
|
MeshNodeID: viper.GetString("meshnodeid"),
|
||||||
}
|
}
|
||||||
|
|
||||||
a.Install(&installer)
|
a.Install(&installer)
|
||||||
|
10
agent/rpc_test.go
Normal file
10
agent/rpc_test.go
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
package agent
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestRunRPC(t *testing.T) {
|
||||||
|
a := New(lg, version)
|
||||||
|
a.RunRPC()
|
||||||
|
}
|
@ -1,4 +1,19 @@
|
|||||||
{
|
{
|
||||||
"api": "https://api.hothcorp.com:8000",
|
"api": "http://api.hothcorp.com:8000",
|
||||||
|
"clientid": 1,
|
||||||
|
"siteid": 1,
|
||||||
|
"description": "",
|
||||||
|
"agenttype": "workstation",
|
||||||
|
"power": false,
|
||||||
|
"rdp": false,
|
||||||
|
"ping": false,
|
||||||
|
"token": "ffcc2c22de2aaf3870623c6a2622c06faa56b7d74f80e6c3dd5d24da36a80aaa",
|
||||||
|
"localmesh": "",
|
||||||
|
"cert": "",
|
||||||
|
"proxy": "",
|
||||||
|
"timeout": 30,
|
||||||
|
"silent": true,
|
||||||
|
"nomesh": true,
|
||||||
|
"meshdir": "",
|
||||||
|
"meshnodeid": ""
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user