github.com/clerkinc/clerk-sdk-go@v1.49.1/tests/integration/actor_tokens_test.go (about) 1 //go:build integration 2 // +build integration 3 4 package integration 5 6 import ( 7 "fmt" 8 "testing" 9 "time" 10 11 "github.com/clerkinc/clerk-sdk-go/clerk" 12 "github.com/stretchr/testify/assert" 13 ) 14 15 func TestActorTokens(t *testing.T) { 16 client := createClient() 17 18 password := "my-extremely_Str0ng_P445wOrd" 19 firstName := "John" 20 lastName := "Doe" 21 user, err := client.Users().Create(clerk.CreateUserParams{ 22 EmailAddresses: []string{ 23 fmt.Sprintf("email_%d@example.com", time.Now().Unix()), 24 }, 25 Password: &password, 26 FirstName: &firstName, 27 LastName: &lastName, 28 }) 29 if err != nil { 30 t.Fatal(err) 31 } 32 33 // create actor token 34 createParams := clerk.CreateActorTokenParams{ 35 UserID: user.ID, 36 Actor: []byte(`{"sub":"my_actor_id"}`), 37 } 38 actorTokenResponse, err := client.ActorTokens().Create(createParams) 39 if err != nil { 40 t.Fatal(err) 41 } 42 43 assert.NotNil(t, actorTokenResponse.ID) 44 assert.Equal(t, "pending", actorTokenResponse.Status) 45 assert.JSONEq(t, string(createParams.Actor), string(actorTokenResponse.Actor)) 46 assert.Equal(t, createParams.UserID, actorTokenResponse.UserID) 47 48 // revoke the previously created token 49 actorTokenResponse, err = client.ActorTokens().Revoke(actorTokenResponse.ID) 50 if err != nil { 51 t.Fatal(err) 52 } 53 54 assert.Equal(t, "revoked", actorTokenResponse.Status) 55 assert.Empty(t, actorTokenResponse.Token) 56 }