//go:build integration package netboxgo_test import ( "context" "fmt" "os" "path/filepath" "runtime" "testing" . "git.kcbark.net/kc/netboxgo" ) func TestListDevices(t *testing.T) { var err error var ( apiToken string apiURL string ) apiToken = os.Getenv("NETBOX_TOKEN") apiURL = os.Getenv("NETBOX_URL") notempty(t, apiToken) notempty(t, apiURL) var nb *Client nb, err = NewClient(apiURL, nil) if err != nil { ok(t, err) } nb.SetToken(apiToken) ctx := context.Background() _, err = nb.Devices.List(ctx, nil) if err != nil { ok(t, err) } } func notempty(tb testing.TB, msg string) { if msg == "" { _, file, line, _ := runtime.Caller(1) fmt.Printf("\033[31m%s:%d: string empty\033[39m\n\n", filepath.Base(file), line) tb.FailNow() } } // ok fails the test if an err is not nil. func ok(tb testing.TB, err error) { if err != nil { _, file, line, _ := runtime.Caller(1) fmt.Printf("\033[31m%s:%d: unexpected error: %s\033[39m\n\n", filepath.Base(file), line, err.Error()) tb.FailNow() } } // assert fails the test if the condition is false. func assert(tb testing.TB, condition bool, msg string, v ...interface{}) { if !condition { _, file, line, _ := runtime.Caller(1) fmt.Printf("\033[31m%s:%d: "+msg+"\033[39m\n\n", append([]interface{}{filepath.Base(file), line}, v...)...) tb.FailNow() } }