github.com/simpleiot/simpleiot@v0.18.3/client/auth_test.go (about)

     1  package client_test
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/simpleiot/simpleiot/client"
     7  	"github.com/simpleiot/simpleiot/server"
     8  )
     9  
    10  func TestAuthDefault(t *testing.T) {
    11  	nc, _, stop, err := server.TestServer()
    12  
    13  	if err != nil {
    14  		t.Fatal("Error starting test server: ", err)
    15  	}
    16  
    17  	defer stop()
    18  
    19  	ne, err := client.UserCheck(nc, "admin", "admin")
    20  	if err != nil {
    21  		t.Fatal("User check error: ", err)
    22  	}
    23  
    24  	if len(ne) < 2 {
    25  		t.Fatal("Expected at least two nodes from auth request")
    26  	}
    27  }
    28  
    29  func TestAuthMovedUser(t *testing.T) {
    30  	nc, root, stop, err := server.TestServer()
    31  
    32  	if err != nil {
    33  		t.Fatal("Error starting test server: ", err)
    34  	}
    35  
    36  	defer stop()
    37  
    38  	u := client.User{ID: "test-user", Parent: root.ID,
    39  		Email: "test", Pass: "test"}
    40  
    41  	err = client.SendNodeType(nc, u, "test")
    42  	if err != nil {
    43  		t.Fatal("Error sending node: ", err)
    44  	}
    45  
    46  	g := client.Group{ID: "test-group", Parent: root.ID, Description: "testg"}
    47  	err = client.SendNodeType(nc, g, "test")
    48  	if err != nil {
    49  		t.Fatal("Error sending node: ", err)
    50  	}
    51  
    52  	// verify new user auths in current location
    53  	ne, err := client.UserCheck(nc, "test", "test")
    54  	if err != nil {
    55  		t.Fatal("User check error: ", err)
    56  	}
    57  
    58  	if len(ne) < 2 {
    59  		t.Fatal("Expected at least two nodes from auth request")
    60  	}
    61  
    62  	// move user to group and try again
    63  	err = client.MoveNode(nc, "test-user", root.ID, "test-group", "test")
    64  	if err != nil {
    65  		t.Fatal("Error moving node: ", err)
    66  	}
    67  
    68  	ne, err = client.UserCheck(nc, "test", "test")
    69  	if err != nil {
    70  		t.Fatal("User check error: ", err)
    71  	}
    72  
    73  	if len(ne) < 2 {
    74  		t.Fatal("after move, expected at least two nodes from auth request: ", len(ne))
    75  	}
    76  }