MCPcopy Create free account
hub / github.com/supabase/auth / makeSuperAdmin

Method makeSuperAdmin

internal/api/invite_test.go:51–81  ·  view source on GitHub ↗
(email string)

Source from the content-addressed store, hash-verified

49}
50
51func (ts *InviteTestSuite) makeSuperAdmin(email string) string {
52 // Cleanup existing user, if they already exist
53 if u, _ := models.FindUserByEmailAndAudience(ts.API.db, email, ts.Config.JWT.Aud); u != nil {
54 require.NoError(ts.T(), ts.API.db.Destroy(u), "Error deleting user")
55 }
56
57 u, err := models.NewUser("123456789", email, "test", ts.Config.JWT.Aud, map[string]interface{}{"full_name": "Test User"})
58 require.NoError(ts.T(), err, "Error making new user")
59 require.NoError(ts.T(), ts.API.db.Create(u))
60
61 u.Role = "supabase_admin"
62
63 var token string
64
65 session, err := models.NewSession(u.ID, nil)
66 require.NoError(ts.T(), err)
67 require.NoError(ts.T(), ts.API.db.Create(session))
68
69 req := httptest.NewRequest(http.MethodPost, "/invite", nil)
70 token, _, err = ts.API.generateAccessToken(req, ts.API.db, u, &session.ID, models.Invite)
71
72 require.NoError(ts.T(), err, "Error generating access token")
73
74 p := jwt.NewParser(jwt.WithValidMethods([]string{jwt.SigningMethodHS256.Name}))
75 _, err = p.Parse(token, func(token *jwt.Token) (interface{}, error) {
76 return []byte(ts.Config.JWT.Secret), nil
77 })
78 require.NoError(ts.T(), err, "Error parsing token")
79
80 return token
81}
82
83func (ts *InviteTestSuite) TestInvite() {
84 // Request body

Callers 1

SetupTestMethod · 0.95

Calls 4

NewUserFunction · 0.92
NewSessionFunction · 0.92
generateAccessTokenMethod · 0.80

Tested by

no test coverage detected