Skip to content
Snippets Groups Projects
Commit b755ccd5 authored by Manuel Kieweg's avatar Manuel Kieweg
Browse files

Test for gNMI Set

parent 9032f288
Branches
No related tags found
2 merge requests!116Resolve "Transport Tests",!90Develop
Pipeline #66843 passed with warnings
package main
import (
"code.fbi.h-da.de/cocsn/gosdn/forks/goarista/gnmi"
"code.fbi.h-da.de/cocsn/gosdn/nucleus"
"code.fbi.h-da.de/cocsn/gosdn/nucleus/util"
"context"
"github.com/golang/protobuf/proto"
log "github.com/sirupsen/logrus"
"os"
)
func main() {
a := os.Getenv("GOSDN_TEST_ENDPOINT")
if a == "" {
a = "portainer.danet.fbi.h-da.de:6030"
}
opts := &nucleus.GnmiTransportOptions{
Addr: a,
Username: "admin",
Password: "arista",
}
t, err := nucleus.NewGnmiTransport(opts)
if err != nil {
log.Fatal(err)
}
reqs := []interface{}{
&gnmi.Operation{
Type: "update",
Origin: "",
Target: "",
Path: []string{
"system",
"config",
"hostname",
},
Val: "ceos3000",
},
}
resp, err := t.Set(context.Background(), reqs...)
if err != nil {
log.Fatal(err)
}
if err := util.Write(resp.(proto.Message), "resp-set-system-config-hostname"); err != nil {
log.Fatal(err)
}
}
...@@ -35,6 +35,7 @@ func TestMain(m *testing.M) { ...@@ -35,6 +35,7 @@ func TestMain(m *testing.M) {
"../test/resp-interfaces-arista-ceos": &gpb.GetResponse{}, "../test/resp-interfaces-arista-ceos": &gpb.GetResponse{},
"../test/resp-interfaces-interface-arista-ceos": &gpb.GetResponse{}, "../test/resp-interfaces-interface-arista-ceos": &gpb.GetResponse{},
"../test/resp-interfaces-wildcard": &gpb.GetResponse{}, "../test/resp-interfaces-wildcard": &gpb.GetResponse{},
"../test/resp-set-system-config-hostname": &gpb.SetResponse{},
} }
for k, v := range gnmiMessages { for k, v := range gnmiMessages {
if err := util.Read(k, v); err != nil { if err := util.Read(k, v); err != nil {
...@@ -574,7 +575,7 @@ func TestGnmi_getWithRequest(t *testing.T) { ...@@ -574,7 +575,7 @@ func TestGnmi_getWithRequest(t *testing.T) {
func TestNewGnmiTransport(t *testing.T) { func TestNewGnmiTransport(t *testing.T) {
type args struct { type args struct {
opts *GnmiTransportOptions opts *GnmiTransportOptions
config *gnmi.Config config *gnmi.Config
} }
tests := []struct { tests := []struct {
......
...@@ -77,22 +77,28 @@ func TestGnmi_SetIntegration(t *testing.T) { ...@@ -77,22 +77,28 @@ func TestGnmi_SetIntegration(t *testing.T) {
}, },
}, },
}, },
want: &gpb.SetResponse{}, want: gnmiMessages["../test/resp-set-system-config-hostname"],
wantErr: false, wantErr: false,
}, },
} }
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
g, err := NewGnmiTransport(opt) g, err := NewGnmiTransport(tt.fields.opt)
if err != nil { if err != nil {
t.Error(err) t.Errorf("NewGnmiTransport() error = %v, wantErr %v", err, tt.wantErr)
return
} }
got, err := g.Set(tt.args.ctx, tt.args.params...) got, err := g.Set(tt.args.ctx, tt.args.params...)
if tt.want != nil {
tt.want.(*gpb.SetResponse).Timestamp = got.(*gpb.SetResponse).Timestamp
}
if (err != nil) != tt.wantErr { if (err != nil) != tt.wantErr {
t.Errorf("Set() error = %v, wantErr %v", err, tt.wantErr) t.Errorf("Set() error = %v, wantErr %v", err, tt.wantErr)
return return
} }
if !reflect.DeepEqual(got, tt.want) { if err != nil && tt.wantErr {
return
} else if !reflect.DeepEqual(got, tt.want) {
t.Errorf("Set() got = %v, want %v", got, tt.want) t.Errorf("Set() got = %v, want %v", got, tt.want)
} }
}) })
......
>:
system
config
hostname
system
config
hostname  ȶ
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment