github.com/clerkinc/clerk-sdk-go@v1.49.1/clerk/jwks_test.go (about) 1 package clerk 2 3 import ( 4 "encoding/json" 5 "fmt" 6 "net/http" 7 "reflect" 8 "testing" 9 ) 10 11 func TestJWKSService_ListAll_happyPath(t *testing.T) { 12 c, mux, _, teardown := setup("token") 13 defer teardown() 14 15 mux.HandleFunc("/jwks", func(w http.ResponseWriter, req *http.Request) { 16 testHttpMethod(t, req, "GET") 17 testHeader(t, req, "Authorization", "Bearer token") 18 fmt.Fprint(w, dummyJWKSJson) 19 }) 20 21 want := &JWKS{} 22 _ = json.Unmarshal([]byte(dummyJWKSJson), want) 23 24 got, _ := c.JWKS().ListAll() 25 26 if !reflect.DeepEqual(got, want) { 27 t.Errorf("Response = %v, want %v", got, want) 28 } 29 } 30 31 func TestJWKSService_ListAll_invalidServer(t *testing.T) { 32 c, _ := NewClient("token") 33 34 jwks, err := c.JWKS().ListAll() 35 if err == nil { 36 t.Errorf("Expected error to be returned") 37 } 38 39 if jwks != nil { 40 t.Errorf("Was not expecting any jwks to be returned, instead got %+v", jwks) 41 } 42 } 43 44 const dummyJWKSJson = ` 45 { 46 "keys": 47 [ 48 { 49 "use":"sig", 50 "kty":"RSA", 51 "kid":"kid", 52 "alg":"RS256", 53 "n":"8ffrRMLd1z50B1hJcEfoxPac2wm9U_SXCnoXxSg5frRyW1oI1t9e78y8sOOwUt-IU4FXNcNK93dsCDQMeDBc6EfLxPBHuCB4SbVvsbpdMH8XSy9qLH6AJmS1GqOldYG0VkP1YzSwGXTkflgcDLCtYOHxkjiK6m5TnhJ4tu77bkjPrINiWAo4jAYBCjk1gqiW3LZWZwzwvqF_7n8g50JbhoTiJi2z6rd0anSFgi1A9AbViKwlzdxkll1uW90W1kn_Zs6lC6Yz7-X9WmelhxxUoLVE49BcCQ82PtmlBvxDQk7rREPLRbvzJSI0RIw1HMChRkZC_KtsLNkgPKq5tY_YSw", 54 "e":"AQAB" 55 } 56 ] 57 } 58 `