Newer
Older
package cli
import (
"os"
"testing"
)
const unreachable = "203.0.113.10:6030"
var testAddress = "141.100.70.171:6030"
var testAPIEndpoint = "http://141.100.70.171:8080"
var testUsername = "admin"
var testPassword = "arista"
var defaultPath = []string{"/system/config/hostname"}
func testSetupIntegration() {
a := os.Getenv("GOSDN_TEST_ENDPOINT")
if a != "" {
}
api := os.Getenv("GOSDN_TEST_API_ENDPOINT")
if api != "" {
}
}
func TestMain(m *testing.M) {
testSetupIntegration()
os.Exit(m.Run())
}
func TestCapabilities(t *testing.T) {
if testing.Short() {
t.Skip("skipping integration test")
}
type args struct {
a string
u string
p string
}
tests := []struct {
name string
args args
wantErr bool
}{
{
name: "default",
args: args{
},
wantErr: false,
},
{
name: "destination unreachable",
args: args{
a: unreachable,
},
wantErr: true,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if err := Capabilities(tt.args.a, tt.args.u, tt.args.p); (err != nil) != tt.wantErr {
t.Errorf("Capabilities() error = %v, wantErr %v", err, tt.wantErr)
}
})
}
}
func TestGet(t *testing.T) {
if testing.Short() {
t.Skip("skipping integration test")
}
type args struct {
a string
u string
p string
args []string
}
tests := []struct {
name string
args args
wantErr bool
}{
{
name: "default",
args: args{
args: defaultPath,
},
wantErr: false,
},
{
name: "destination unreachable",
args: args{
a: unreachable,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if _, err := Get(tt.args.a, tt.args.u, tt.args.p, tt.args.args...); (err != nil) != tt.wantErr {
t.Errorf("Get() error = %v, wantErr %v", err, tt.wantErr)
}
})
}
}
func TestHttpGet(t *testing.T) {
if testing.Short() {
t.Skip("skipping integration test")
}
type args struct {
apiEndpoint string
f string
args []string
}
tests := []struct {
name string
args args
wantErr bool
}{
{
name: "default",
args: args{
f: "init",
args: nil,
},
wantErr: false,
},
{
name: "destination unreachable",
args: args{
apiEndpoint: "http://" + unreachable,
f: "init",
args: nil,
},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if err := HTTPGet(tt.args.apiEndpoint, tt.args.f, tt.args.args...); (err != nil) != tt.wantErr {
t.Errorf("HttpGet() error = %v, wantErr %v", err, tt.wantErr)
}
})
}
}
func TestSet(t *testing.T) {
if testing.Short() {
t.Skip("skipping integration test")
}
type args struct {
a string
u string
p string
typ string
args []string
}
tests := []struct {
name string
args args
wantErr bool
}{
{
name: "default",
args: args{
typ: "update",
args: []string{"/system/config/hostname", "ceos3000"},
},
wantErr: false,
},
{
name: "destination unreachable",
args: args{
a: unreachable,
typ: "update",
args: []string{"/system/config/hostname", "ceos3000"},
},
wantErr: true,
},
{
name: "invalid path",
args: args{
typ: "update",
args: []string{"invalid/path", "ceos3000"},
},
wantErr: true,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if err := Set(tt.args.a, tt.args.u, tt.args.p, tt.args.typ, tt.args.args...); (err != nil) != tt.wantErr {
t.Errorf("Set() error = %v, wantErr %v", err, tt.wantErr)
}
})
}
}