mirror of
https://github.com/bmc-toolbox/bmclib.git
synced 2025-06-03 05:14:43 +00:00

metadata was returning duplicates. This commit fixes that. Signed-off-by: Jacob Weinstock <jakobweinstock@gmail.com>
60 lines
1.3 KiB
Go
60 lines
1.3 KiB
Go
package bmclib
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/bmc-toolbox/bmclib/bmc"
|
|
"github.com/bmc-toolbox/bmclib/logging"
|
|
)
|
|
|
|
func TestBMC(t *testing.T) {
|
|
t.Skip("needs ipmitool and real ipmi server")
|
|
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
|
|
defer cancel()
|
|
host := "127.0.0.1"
|
|
port := "623"
|
|
user := "ADMIN"
|
|
pass := "ADMIN"
|
|
|
|
log := logging.DefaultLogger()
|
|
cl := NewClient(host, port, user, pass, WithLogger(log))
|
|
cl.Registry.Drivers = cl.Registry.FilterForCompatible(ctx)
|
|
var metadata bmc.Metadata
|
|
var err error
|
|
cl.Registry.Drivers, err = cl.Open(ctx, &metadata)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
defer cl.Close(ctx)
|
|
t.Logf("%+v", metadata)
|
|
|
|
cl.Registry.Drivers = cl.Registry.PreferDriver("dummy")
|
|
state, err := cl.GetPowerState(ctx, &metadata)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
t.Log(state)
|
|
t.Logf("%+v", metadata)
|
|
|
|
cl.Registry.Drivers = cl.Registry.PreferDriver("ipmitool")
|
|
// if you pass in a the metadata as a pointer to any function
|
|
// it will be updated with details about the call. name of the provider
|
|
// that successfully execute and providers attempted.
|
|
state, err = cl.GetPowerState(ctx, &metadata)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
t.Log(state)
|
|
t.Logf("%+v", metadata)
|
|
|
|
users, err := cl.ReadUsers(ctx)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
t.Log(users)
|
|
|
|
t.Fatal()
|
|
}
|