-
Notifications
You must be signed in to change notification settings - Fork 23
/
testing.go
66 lines (56 loc) · 4.51 KB
/
testing.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package pwsso
import (
"net/http"
"testing"
jwt "github.com/dgrijalva/jwt-go"
"go.uber.org/zap"
"moul.io/roundtripper"
)
const (
testingPubKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlEFxLlywsbI5BQ7DVkA66fICWGIYPpD+aZNYRR7SIc0zdtJR4xMOt5CjM0vbYT4z2a1U2yl0ewunyxFm8niS8w6mKYFnOS4nnSchQyIAmJkpLC4eAjijCdEHdr8mSqamThSrVRGSYEEsa+adidC13kRDy7NDKhvZb8F0YqnktNk6WHSlb8r2QRLPJ1DX534jjXPY6l/eoHuLJAOZxBlfwV5Dg37TVmf2xAH812E7ZigycLAvhsMvr5x2jLavAEEnZZmlQf4cyQ4tlMzKS1Zp0NcdOGS/i6lrndc5pNtZQuGr8IGBrEbTRFUiavn/HDnyalYZy8T5LakXRdVaKdshAQIDAQAB"
testingRealm = "Pathwar-Dev"
testingClientID = "platform-cli"
testingToken = "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJDck10ZmN1cjFDcVNtT28teHZacUt0ZTRoODk4ZjZpYl9KOGk5TXZDck5zIn0.eyJqdGkiOiI0ZGE4ZTM2NS1iZTkzLTRmMGEtYmU0ZC0yNDdjMzA4OGZmNWUiLCJleHAiOjE1ODM0Mjc1MTIsIm5iZiI6MCwiaWF0IjoxNTgzNDI3MjEyLCJpc3MiOiJodHRwczovL2lkLnBhdGh3YXIubGFuZC9hdXRoL3JlYWxtcy9QYXRod2FyLURldiIsImF1ZCI6ImFjY291bnQiLCJzdWIiOiIwNDgyNjZiOS0yY2M4LTQ2ZjMtOTcyZC0zN2YyZDhmY2M3NWIiLCJ0eXAiOiJCZWFyZXIiLCJhenAiOiJwbGF0Zm9ybS1jbGkiLCJub25jZSI6IjZlMWUyYjc4LTk0MjgtNDRhNi04ZjIwLTA5NTY3ZTE1Y2FjMyIsImF1dGhfdGltZSI6MTU4MzQyNzIwNywic2Vzc2lvbl9zdGF0ZSI6ImEyMzg2N2U2LTc0ZjEtNGRmOS04ZDRiLWU5NTVlMWRmMmYxNCIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiIl0sInJlYWxtX2FjY2VzcyI6eyJyb2xlcyI6WyJvZmZsaW5lX2FjY2VzcyIsInVtYV9hdXRob3JpemF0aW9uIl19LCJyZXNvdXJjZV9hY2Nlc3MiOnsicGxhdGZvcm0tY2xpIjp7InJvbGVzIjpbImFnZW50IiwiYWRtaW4iXX0sImFjY291bnQiOnsicm9sZXMiOlsibWFuYWdlLWFjY291bnQiLCJtYW5hZ2UtYWNjb3VudC1saW5rcyIsInZpZXctcHJvZmlsZSJdfX0sInNjb3BlIjoiZW1haWwgcHJvZmlsZSBvZmZsaW5lX2FjY2VzcyIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJuYW1lIjoiTWFuZnJlZCBUb3Vyb24iLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJtb3VsIiwiZ2l2ZW5fbmFtZSI6Ik1hbmZyZWQiLCJmYW1pbHlfbmFtZSI6IlRvdXJvbiIsImVtYWlsIjoibUA0Mi5hbSJ9.I9jYiBGCacaBiqndq1EsinZxY-uWRjdHZbFRdE9CWsSiOEJzKGznufEppk0bj2XmAm4GwfWey55U-jHh91KgnDJG7XsgA2p_t-LX1yj4EgrHxcXQ0PiOKU19br4kbCfKVaOMsBQqa-pGyZVFwVc9rYmGA6xtx6No1O5j-tdsizp5-HVNil0E195ZnSoMiNk9yJsG8-ta7wrQ6u9PqPbnEuhltu6SZyfAD7gTw2RUDu77LKISIaJCPbD5IPj2Rtv2gfM4BoZ8TiMYO_DSRIAWsFc1C1z8iR6-BvAvOAfqDV4GeyD9DQsMDxz5qYmTnHnXMrVNSvYd6aehwyDik-ERIA"
testingToken2 = "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJDck10ZmN1cjFDcVNtT28teHZacUt0ZTRoODk4ZjZpYl9KOGk5TXZDck5zIn0.eyJqdGkiOiJiNGRhOWZjZS1lMzdlLTRkMTMtODYxYy02NzExYWZjOWU5NTgiLCJleHAiOjE2MDM4ODkwMjcsIm5iZiI6MCwiaWF0IjoxNjAzODg4NzI3LCJpc3MiOiJodHRwczovL2lkLnBhdGh3YXIubGFuZC9hdXRoL3JlYWxtcy9QYXRod2FyLURldiIsImF1ZCI6ImFjY291bnQiLCJzdWIiOiJmYTVmNzE4Mi0wZmIxLTRlODUtOTJlYy01ZWIyNzRlNWQyNjUiLCJ0eXAiOiJCZWFyZXIiLCJhenAiOiJwbGF0Zm9ybS1mcm9udCIsIm5vbmNlIjoiNDFmOTc4ZjYtMWVkMS00NmI4LTgxMDgtYmJmOGJlM2IwZjQ5IiwiYXV0aF90aW1lIjoxNjAzODg4NzEwLCJzZXNzaW9uX3N0YXRlIjoiZDJjMDVlNzItY2JkOC00YTAyLWExMDYtNTNiMWQ1NWNlMzdhIiwiYWNyIjoiMCIsImFsbG93ZWQtb3JpZ2lucyI6WyIqIl0sInJlYWxtX2FjY2VzcyI6eyJyb2xlcyI6WyJvZmZsaW5lX2FjY2VzcyIsInVtYV9hdXRob3JpemF0aW9uIl19LCJyZXNvdXJjZV9hY2Nlc3MiOnsiYWNjb3VudCI6eyJyb2xlcyI6WyJtYW5hZ2UtYWNjb3VudCIsIm1hbmFnZS1hY2NvdW50LWxpbmtzIiwidmlldy1wcm9maWxlIl19fSwic2NvcGUiOiJvcGVuaWQgZW1haWwgcHJvZmlsZSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJuYW1lIjoiUm9nZXIgTW9yZSIsInByZWZlcnJlZF91c2VybmFtZSI6InJvZ2VybW9yZTEzMzdAZ21haWwuY29tIiwiZ2l2ZW5fbmFtZSI6IlJvZ2VyIiwiZmFtaWx5X25hbWUiOiJNb3JlIiwiZW1haWwiOiJyb2dlcm1vcmUxMzM3QGdtYWlsLmNvbSJ9.WEekzk27D6jpkiZ6fOWBEAEBzjtSdAaCwB5uOBgENlZ1lqtQ8vSJZbkJ9gh1KCWX7tYNORRsy1qGOwW-1vBeUN75xP2wruymA7ZssjOdp0m_UxfzfDdxYRuWyhDyOHSONQYqT0vHDaBBwc1qbg1Rj3BAtRtolYl5-rtn2ZRPaneFeBBzNvTqhLVNdPPdN9I2b5ApIBbvmL1JaRZm3DHcj-vMsr2wWBaX8xqcMmfFLiVluaAcXJkPrKgHKpCi7AjYz5BfnoKANuasQcSYrc5LtNGafO0h3rTB5rKW2tHlinyR7psxT9xCwZBWK1kNN7l5WhvOPFxPuD7Fazzd1p2YXg"
)
func TestingClaims(t *testing.T) *Claims {
t.Helper()
token := TestingToken(t)
return ClaimsFromToken(token)
}
func TestingToken(t *testing.T) *jwt.Token {
t.Helper()
token, _, err := TokenWithClaims(testingToken, testingPubKey, true)
if err != nil {
t.Fatalf("parse token: %v", err)
}
return token
}
func TestingToken2(t *testing.T) *jwt.Token {
t.Helper()
token, _, err := TokenWithClaims(testingToken2, testingPubKey, true)
if err != nil {
t.Fatalf("parse token: %v", err)
}
return token
}
func TestingSSO(t *testing.T, logger *zap.Logger) Client {
t.Helper()
ssoOpts := Opts{
AllowUnsafe: true,
Logger: logger,
ClientID: testingClientID,
}
sso, err := New(testingPubKey, testingRealm, ssoOpts)
if err != nil {
t.Fatalf("init SSO: %v", err)
}
return sso
}
func TestingTransport(t *testing.T) http.RoundTripper {
return &roundtripper.Transport{
ExtraHeader: http.Header{
"Authorization": []string{"Bearer " + testingToken},
},
}
}