github.com/fastly/go-fastly/v5@v5.3.0/fastly/user_test.go (about) 1 package fastly 2 3 import ( 4 "testing" 5 ) 6 7 func TestClient_UsersCurrent(t *testing.T) { 8 t.Parallel() 9 10 var err error 11 var u *User 12 record(t, "users/get_current_user", func(c *Client) { 13 u, err = c.GetCurrentUser() 14 }) 15 if err != nil { 16 t.Fatal(err) 17 } 18 t.Logf("%+v", u) 19 } 20 21 func TestClient_Users(t *testing.T) { 22 t.Parallel() 23 24 fixtureBase := "users/" 25 26 // Create 27 var err error 28 var u *User 29 record(t, fixtureBase+"create", func(c *Client) { 30 u, err = c.CreateUser(&CreateUserInput{ 31 Login: "go-fastly-test+user1@example.com", 32 Name: "test user", 33 Role: "engineer", 34 }) 35 }) 36 if err != nil { 37 t.Fatal(err) 38 } 39 40 // Ensure deleted 41 defer func() { 42 record(t, fixtureBase+"cleanup", func(c *Client) { 43 c.DeleteUser(&DeleteUserInput{ 44 ID: u.ID, 45 }) 46 }) 47 }() 48 49 if u.Login != "go-fastly-test+user1@example.com" { 50 t.Errorf("bad login: %v", u.Login) 51 } 52 53 if u.Name != "test user" { 54 t.Errorf("bad name: %v", u.Name) 55 } 56 57 if u.Role != "engineer" { 58 t.Errorf("bad role: %v", u.Role) 59 } 60 61 // List 62 var us []*User 63 record(t, fixtureBase+"list", func(c *Client) { 64 us, err = c.ListCustomerUsers(&ListCustomerUsersInput{ 65 CustomerID: u.CustomerID, 66 }) 67 }) 68 if err != nil { 69 t.Fatal(err) 70 } 71 if len(us) < 1 { 72 t.Errorf("bad users: %v", us) 73 } 74 75 // Get 76 var nu *User 77 record(t, fixtureBase+"get", func(c *Client) { 78 nu, err = c.GetUser(&GetUserInput{ 79 ID: u.ID, 80 }) 81 }) 82 if err != nil { 83 t.Fatal(err) 84 } 85 if u.Name != nu.Name { 86 t.Errorf("bad name: %q (%q)", u.Name, nu.Name) 87 } 88 89 // Update 90 var uu *User 91 record(t, fixtureBase+"update", func(c *Client) { 92 uu, err = c.UpdateUser(&UpdateUserInput{ 93 ID: u.ID, 94 Name: String("updated user"), 95 Role: String("superuser"), 96 }) 97 }) 98 if err != nil { 99 t.Fatal(err) 100 } 101 if uu.Name != "updated user" { 102 t.Errorf("bad name: %q", uu.Name) 103 } 104 if uu.Role != "superuser" { 105 t.Errorf("bad role: %q", uu.Role) 106 } 107 108 // Reset Password 109 record(t, fixtureBase+"reset_password", func(c *Client) { 110 err = c.ResetUserPassword(&ResetUserPasswordInput{ 111 Login: uu.Login, 112 }) 113 }) 114 if err != nil { 115 t.Fatal(err) 116 } 117 118 // Delete 119 record(t, fixtureBase+"delete", func(c *Client) { 120 err = c.DeleteUser(&DeleteUserInput{ 121 ID: u.ID, 122 }) 123 }) 124 if err != nil { 125 t.Fatal(err) 126 } 127 } 128 129 func TestClient_CreateUser_validation(t *testing.T) { 130 var err error 131 _, err = testClient.CreateUser(&CreateUserInput{ 132 Login: "", 133 }) 134 if err != ErrMissingLogin { 135 t.Errorf("bad error: %s", err) 136 } 137 138 _, err = testClient.CreateUser(&CreateUserInput{ 139 Login: "new+user@example.com", 140 Name: "", 141 }) 142 if err != ErrMissingName { 143 t.Errorf("bad error: %s", err) 144 } 145 } 146 147 func TestClient_ListCustomerUsers_validation(t *testing.T) { 148 var err error 149 _, err = testClient.ListCustomerUsers(&ListCustomerUsersInput{ 150 CustomerID: "", 151 }) 152 if err != ErrMissingCustomerID { 153 t.Errorf("bad error: %s", err) 154 } 155 } 156 157 func TestClient_GetUser_validation(t *testing.T) { 158 var err error 159 _, err = testClient.GetUser(&GetUserInput{ 160 ID: "", 161 }) 162 if err != ErrMissingID { 163 t.Errorf("bad error: %s", err) 164 } 165 } 166 167 func TestClient_UpdateUser_validation(t *testing.T) { 168 var err error 169 _, err = testClient.UpdateUser(&UpdateUserInput{ 170 ID: "", 171 }) 172 if err != ErrMissingID { 173 t.Errorf("bad error: %s", err) 174 } 175 } 176 177 func TestClient_DeleteUser_validation(t *testing.T) { 178 err := testClient.DeleteUser(&DeleteUserInput{ 179 ID: "", 180 }) 181 if err != ErrMissingID { 182 t.Errorf("bad error: %s", err) 183 } 184 } 185 186 func TestClient_ResetUser_validation(t *testing.T) { 187 err := testClient.ResetUserPassword(&ResetUserPasswordInput{ 188 Login: "", 189 }) 190 if err != ErrMissingLogin { 191 t.Errorf("bad error: %s", err) 192 } 193 }