aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/golang.org/x/oauth2/jws/jws_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/golang.org/x/oauth2/jws/jws_test.go')
-rw-r--r--vendor/golang.org/x/oauth2/jws/jws_test.go46
1 files changed, 46 insertions, 0 deletions
diff --git a/vendor/golang.org/x/oauth2/jws/jws_test.go b/vendor/golang.org/x/oauth2/jws/jws_test.go
new file mode 100644
index 0000000..39a136a
--- /dev/null
+++ b/vendor/golang.org/x/oauth2/jws/jws_test.go
@@ -0,0 +1,46 @@
+// Copyright 2016 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package jws
+
+import (
+ "crypto/rand"
+ "crypto/rsa"
+ "testing"
+)
+
+func TestSignAndVerify(t *testing.T) {
+ header := &Header{
+ Algorithm: "RS256",
+ Typ: "JWT",
+ }
+ payload := &ClaimSet{
+ Iss: "http://google.com/",
+ Aud: "",
+ Exp: 3610,
+ Iat: 10,
+ }
+
+ privateKey, err := rsa.GenerateKey(rand.Reader, 2048)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ token, err := Encode(header, payload, privateKey)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ err = Verify(token, &privateKey.PublicKey)
+ if err != nil {
+ t.Fatal(err)
+ }
+}
+
+func TestVerifyFailsOnMalformedClaim(t *testing.T) {
+ err := Verify("abc.def", nil)
+ if err == nil {
+ t.Error("got no errors; want improperly formed JWT not to be verified")
+ }
+}