Skip to content
Snippets Groups Projects

Improve test coverage of rbac stuff

Merged Ghost User requested to merge 207-improve-test-coverage-of-rbac-stuff into develop
All threads resolved!
2 files
+ 96
0
Compare changes
  • Side-by-side
  • Inline
Files
2
+ 88
0
package api
import (
"context"
"reflect"
"testing"
apb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/rbac"
"code.fbi.h-da.de/danet/gosdn/controller/rbac"
"github.com/google/uuid"
)
func TestLogin(t *testing.T) {
type args struct {
ctx context.Context
addr string
username string
pwd string
}
tests := []struct {
name string
args args
want *apb.LoginResponse
wantErr bool
}{
{
name: "default",
args: args{
ctx: context.TODO(),
addr: testAPIEndpoint,
username: "admin",
pwd: "admin",
},
want: &apb.LoginResponse{
Status: apb.Status_STATUS_OK,
},
wantErr: false,
},
}
err := userService.Add(&rbac.User{UserID: uuid.New(), UserName: "admin", Roles: map[string]string{pndID: "admin"}, Password: "admin"})
if err != nil {
t.Errorf("Login() error = %v", err)
return
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
got, err := Login(tt.args.ctx, tt.args.addr, tt.args.username, tt.args.pwd)
if (err != nil) != tt.wantErr {
t.Errorf("Login() error = %v, wantErr %v", err, tt.wantErr)
return
}
if got.Status != apb.Status_STATUS_OK || got.Token == "" {
t.Errorf("Login() = %v, want %v", got, tt.want)
}
})
}
}
func TestLogout(t *testing.T) {
type args struct {
ctx context.Context
addr string
username string
}
tests := []struct {
name string
args args
want *apb.LogoutResponse
wantErr bool
}{
// TODO: Add test cases.
// Not implemented yet!
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
got, err := Logout(tt.args.ctx, tt.args.addr, tt.args.username)
if (err != nil) != tt.wantErr {
t.Errorf("Logout() error = %v, wantErr %v", err, tt.wantErr)
return
}
if !reflect.DeepEqual(got, tt.want) {
t.Errorf("Logout() = %v, want %v", got, tt.want)
}
})
}
}
Loading