summaryrefslogtreecommitdiffstats
path: root/utils/api_test.go
diff options
context:
space:
mode:
authorDerrick Anderson <derrick@andersonwebstudio.com>2018-02-12 16:13:01 -0500
committerDerrick Anderson <derrick@andersonwebstudio.com>2018-02-12 16:13:01 -0500
commit32c1f7be239ddb19d6c59b114d9ae1a543f8ba9c (patch)
tree5e1653318a6a14bcad80025793adab0f700deed9 /utils/api_test.go
parent62efb1df754bfe6b10a3c17ca6f89fd33b991f56 (diff)
parentc209e4457457edc042f063390c9a222a694f3a6d (diff)
downloadchat-32c1f7be239ddb19d6c59b114d9ae1a543f8ba9c.tar.gz
chat-32c1f7be239ddb19d6c59b114d9ae1a543f8ba9c.tar.bz2
chat-32c1f7be239ddb19d6c59b114d9ae1a543f8ba9c.zip
Merge branch 'release-4.7-revertmaster' into release-4.7
Diffstat (limited to 'utils/api_test.go')
-rw-r--r--utils/api_test.go49
1 files changed, 0 insertions, 49 deletions
diff --git a/utils/api_test.go b/utils/api_test.go
deleted file mode 100644
index 5e41c7bfe..000000000
--- a/utils/api_test.go
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved.
-// See License.txt for license information.
-
-package utils
-
-import (
- "crypto/ecdsa"
- "crypto/elliptic"
- "crypto/rand"
- "crypto/sha256"
- "encoding/asn1"
- "encoding/base64"
- "math/big"
- "net/http"
- "net/http/httptest"
- "net/url"
- "testing"
-
- "github.com/stretchr/testify/assert"
- "github.com/stretchr/testify/require"
-)
-
-func TestRenderWebError(t *testing.T) {
- r := httptest.NewRequest("GET", "http://foo", nil)
- w := httptest.NewRecorder()
- key, err := ecdsa.GenerateKey(elliptic.P256(), rand.Reader)
- require.NoError(t, err)
- RenderWebError(w, r, http.StatusTemporaryRedirect, url.Values{
- "foo": []string{"bar"},
- }, key)
-
- resp := w.Result()
- location, err := url.Parse(resp.Header.Get("Location"))
- require.NoError(t, err)
- require.NotEmpty(t, location.Query().Get("s"))
-
- type ecdsaSignature struct {
- R, S *big.Int
- }
- var rs ecdsaSignature
- s, err := base64.URLEncoding.DecodeString(location.Query().Get("s"))
- require.NoError(t, err)
- _, err = asn1.Unmarshal(s, &rs)
- require.NoError(t, err)
-
- assert.Equal(t, "bar", location.Query().Get("foo"))
- h := sha256.Sum256([]byte("/error?foo=bar"))
- assert.True(t, ecdsa.Verify(&key.PublicKey, h[:], rs.R, rs.S))
-}