| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package handler
- import (
- "net/http"
- "net/http/httptest"
- "net/url"
- "testing"
- "github.com/stretchr/testify/require"
- )
- func buildEncodedOAuthBindUserCookie(t *testing.T, userID int64, secret string) string {
- t.Helper()
- value, err := buildOAuthBindUserCookieValue(userID, secret)
- require.NoError(t, err)
- return value
- }
- func encodedCookie(name, value string) *http.Cookie {
- return &http.Cookie{
- Name: name,
- Value: encodeCookieValue(value),
- Path: "/",
- }
- }
- func findCookie(cookies []*http.Cookie, name string) *http.Cookie {
- for _, cookie := range cookies {
- if cookie.Name == name {
- return cookie
- }
- }
- return nil
- }
- func requireCookieCleared(t *testing.T, recorder *httptest.ResponseRecorder, name string) {
- t.Helper()
- cookie := findCookie(recorder.Result().Cookies(), name)
- require.NotNil(t, cookie)
- require.Equal(t, -1, cookie.MaxAge)
- }
- func decodeCookieValueForTest(t *testing.T, value string) string {
- t.Helper()
- decoded, err := decodeCookieValue(value)
- require.NoError(t, err)
- return decoded
- }
- func assertOAuthRedirectError(t *testing.T, location string, errorCode string, errorMessage string) {
- t.Helper()
- values := parseOAuthRedirectFragment(t, location)
- require.Equal(t, errorCode, values.Get("error"))
- require.Equal(t, errorMessage, values.Get("error_message"))
- }
- func parseOAuthRedirectFragment(t *testing.T, location string) url.Values {
- t.Helper()
- require.NotEmpty(t, location)
- parsed, err := url.Parse(location)
- require.NoError(t, err)
- rawValues := parsed.RawQuery
- if rawValues == "" {
- rawValues = parsed.Fragment
- }
- values, err := url.ParseQuery(rawValues)
- require.NoError(t, err)
- return values
- }
|