You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
1.5 KiB
81 lines
1.5 KiB
package client
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
"github.com/stretchr/testify/require"
|
|
"fmt"
|
|
"crypto/cipher"
|
|
"crypto/aes"
|
|
)
|
|
|
|
type setivable interface {
|
|
cipher.BlockMode
|
|
SetIV([]byte)
|
|
}
|
|
|
|
|
|
func Test_Poop(t *testing.T) {
|
|
var k []byte = make([]byte, 16)
|
|
var iv []byte = k
|
|
b, e := aes.NewCipher(k)
|
|
if e != nil {
|
|
fmt.Println(e)
|
|
return
|
|
}
|
|
var c = cipher.NewCBCEncrypter(b, iv)
|
|
switch cp := c.(type) {
|
|
case setivable:
|
|
fmt.Println("Haha!")
|
|
cp.SetIV(k)
|
|
case cipher.BlockMode:
|
|
fmt.Println("Hoho!")
|
|
}
|
|
}
|
|
|
|
func initTest(t *testing.T) Client {
|
|
var config HttpConfig = HttpConfig{
|
|
Addr: "http://127.0.0.1:8080",
|
|
Username: "admin",
|
|
Password: "admin",
|
|
Timeout: time.Second * 5,
|
|
}
|
|
var client Client
|
|
{
|
|
var err error
|
|
client, err = NewHttpClient(config)
|
|
require.Nil(t, err, "Failed to create client")
|
|
}
|
|
return client
|
|
}
|
|
|
|
func TestClient_getToken(t *testing.T) {
|
|
var genClient Client = initTest(t)
|
|
var httpClient *client = genClient.(*client)
|
|
var err error = httpClient.getToken()
|
|
require.Nil(t, err, "Failed to get token")
|
|
fmt.Println(httpClient.accessToken)
|
|
}
|
|
|
|
func TestClient_GetRealms(t *testing.T) {
|
|
var client Client = initTest(t)
|
|
var realms []map[string]interface{}
|
|
{
|
|
var err error
|
|
realms, err = client.GetRealms()
|
|
require.Nil(t, err, "Failed to get realms")
|
|
}
|
|
fmt.Println(realms)
|
|
}
|
|
|
|
func TestClient_GetUsers(t *testing.T) {
|
|
var client Client = initTest(t)
|
|
var users []UserRepresentation
|
|
{
|
|
var err error
|
|
users, err = client.GetUsers("master")
|
|
require.Nil(t, err, "Failed to get users")
|
|
}
|
|
fmt.Println(users[0])
|
|
}
|
|
|
|
|