MCPcopy Create free account
hub / github.com/smallstep/cli / TestParse

Function TestParse

token/parse_test.go:59–137  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

57)
58
59func TestParse(t *testing.T) {
60 mustKeys := func(s string) interface{} {
61 keys := new(jose.JSONWebKeySet)
62 if err := json.Unmarshal([]byte(s), keys); err != nil {
63 t.Fatal(err)
64 }
65 return keys
66 }
67 mustJoseClaims := func(tok string) jose.Claims {
68 jwt, err := jose.ParseSigned(tok)
69 if err != nil {
70 t.Fatal(err)
71 }
72 var c jose.Claims
73 if err := jwt.UnsafeClaimsWithoutVerification(&c); err != nil {
74 t.Fatal(err)
75 }
76 return c
77 }
78
79 type args struct {
80 token string
81 key interface{}
82 }
83 tests := []struct {
84 name string
85 args args
86 want Payload
87 wantErr bool
88 }{
89 {"ok JWK", args{jwkToken, mustKeys(jwkJWKSet)}, Payload{
90 Claims: mustJoseClaims(jwkToken),
91 SHA: "2dd4f7d653c5a4f18248a903c6e3d67b1704923419c9f744fd680fc65242f3b2",
92 SANs: []string{"foo.bar.zar"},
93 }, false},
94 {"ok OIDC", args{oidcToken, mustKeys(gcpJWKSet)}, Payload{
95 Claims: mustJoseClaims(oidcToken),
96 AuthorizedParty: "1087160488420-8qt7bavg3qesdhs6it824mhnfgcfe8il.apps.googleusercontent.com",
97 AtHash: "YU2TASx-n660jQfNoHvHyg",
98 Email: "mariano@smallstep.com",
99 EmailVerified: true,
100 Hd: "smallstep.com",
101 Nonce: "8eda056b32220adcb6a27163571df253a7639f34ad64441b2429a3de2c5d7eaf",
102 }, false},
103 {"ok GCP", args{gcpToken, mustKeys(gcpJWKSet)}, Payload{
104 Claims: mustJoseClaims(gcpToken),
105 AuthorizedParty: "106652250211606546223",
106 Email: "847250625900-compute@developer.gserviceaccount.com",
107 EmailVerified: true,
108 Google: &GCPGooglePayload{
109 ComputeEngine: GCPComputeEnginePayload{
110 InstanceID: "3015378661047007286",
111 InstanceName: "kops-admin",
112 InstanceCreationTimestamp: jose.NewNumericDate(time.Unix(1555441346, 0)),
113 ProjectID: "kops-dev-2019-01",
114 ProjectNumber: 847250625900,
115 Zone: "us-central1-c",
116 },

Callers

nothing calls this directly

Calls 2

ParseFunction · 0.85
RunMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…