git.iko.soy/typeable/oauth2-proxy
on master help sign in
Merge pull request #361 from nawa/fix-linting

Fix linting error about const

commitcfc2daa22087bcecc793e936abafba6c38ac54d3 authorJoel Speed <Joel.speed@hotmail.co.uk> dateWed 22 Jan 2020, 12:18 (7 years ago) parent5f86ea5dec3647
8 files changed+52−33
providers/auth_test.go+23 providers/azure_test.go+7−8 providers/bitbucket_test.go+4−4 providers/digitalocean_test.go+3−3 providers/github_test.go+5−5 providers/keycloak_test.go+4−7 providers/linkedin_test.go+3−3 providers/nextcloud_test.go+3−3
providers/auth_test.gonew file+23
@@ -0,0 +1,23 @@
1+package providers
2+
3+import (
4+ "fmt"
5+ "net/http"
6+ "net/url"
7+
8+ "github.com/pusher/oauth2_proxy/pkg/apis/sessions"
9+)
10+
11+var authorizedAccessToken = "imaginary_access_token"
12+
13+func CreateAuthorizedSession() *sessions.SessionState {
14+ return &sessions.SessionState{AccessToken: authorizedAccessToken}
15+}
16+
17+func IsAuthorizedInHeader(reqHeader http.Header) bool {
18+ return reqHeader.Get("Authorization") == fmt.Sprintf("Bearer %s", authorizedAccessToken)
19+}
20+
21+func IsAuthorizedInURL(reqURL *url.URL) bool {
22+ return reqURL.Query().Get("access_token") == authorizedAccessToken
23+}
providers/azure_test.go+7−8
@@ -7,7 +7,6 @@ import (
77 "testing"
88 "time"
99
10− "github.com/pusher/oauth2_proxy/pkg/apis/sessions"
1110 "github.com/stretchr/testify/assert"
1211)
1312
@@ -118,7 +117,7 @@ func testAzureBackend(payload string) *httptest.Server {
118117 } else if r.Method == "POST" && r.Body != nil {
119118 w.WriteHeader(200)
120119 w.Write([]byte(payload))
121− } else if r.Header.Get("Authorization") != "Bearer imaginary_access_token" {
120+ } else if !IsAuthorizedInHeader(r.Header) {
122121 w.WriteHeader(403)
123122 } else {
124123 w.WriteHeader(200)
@@ -134,7 +133,7 @@ func TestAzureProviderGetEmailAddress(t *testing.T) {
134133 bURL, _ := url.Parse(b.URL)
135134 p := testAzureProvider(bURL.Host)
136135
137− session := &sessions.SessionState{AccessToken: "imaginary_access_token"}
136+ session := CreateAuthorizedSession()
138137 email, err := p.GetEmailAddress(session)
139138 assert.Equal(t, nil, err)
140139 assert.Equal(t, "user@windows.net", email)
@@ -147,7 +146,7 @@ func TestAzureProviderGetEmailAddressMailNull(t *testing.T) {
147146 bURL, _ := url.Parse(b.URL)
148147 p := testAzureProvider(bURL.Host)
149148
150− session := &sessions.SessionState{AccessToken: "imaginary_access_token"}
149+ session := CreateAuthorizedSession()
151150 email, err := p.GetEmailAddress(session)
152151 assert.Equal(t, nil, err)
153152 assert.Equal(t, "user@windows.net", email)
@@ -160,7 +159,7 @@ func TestAzureProviderGetEmailAddressGetUserPrincipalName(t *testing.T) {
160159 bURL, _ := url.Parse(b.URL)
161160 p := testAzureProvider(bURL.Host)
162161
163− session := &sessions.SessionState{AccessToken: "imaginary_access_token"}
162+ session := CreateAuthorizedSession()
164163 email, err := p.GetEmailAddress(session)
165164 assert.Equal(t, nil, err)
166165 assert.Equal(t, "user@windows.net", email)
@@ -173,7 +172,7 @@ func TestAzureProviderGetEmailAddressFailToGetEmailAddress(t *testing.T) {
173172 bURL, _ := url.Parse(b.URL)
174173 p := testAzureProvider(bURL.Host)
175174
176− session := &sessions.SessionState{AccessToken: "imaginary_access_token"}
175+ session := CreateAuthorizedSession()
177176 email, err := p.GetEmailAddress(session)
178177 assert.Equal(t, "type assertion to string failed", err.Error())
179178 assert.Equal(t, "", email)
@@ -186,7 +185,7 @@ func TestAzureProviderGetEmailAddressEmptyUserPrincipalName(t *testing.T) {
186185 bURL, _ := url.Parse(b.URL)
187186 p := testAzureProvider(bURL.Host)
188187
189− session := &sessions.SessionState{AccessToken: "imaginary_access_token"}
188+ session := CreateAuthorizedSession()
190189 email, err := p.GetEmailAddress(session)
191190 assert.Equal(t, nil, err)
192191 assert.Equal(t, "", email)
@@ -199,7 +198,7 @@ func TestAzureProviderGetEmailAddressIncorrectOtherMails(t *testing.T) {
199198 bURL, _ := url.Parse(b.URL)
200199 p := testAzureProvider(bURL.Host)
201200
202− session := &sessions.SessionState{AccessToken: "imaginary_access_token"}
201+ session := CreateAuthorizedSession()
203202 email, err := p.GetEmailAddress(session)
204203 assert.Equal(t, "type assertion to string failed", err.Error())
205204 assert.Equal(t, "", email)
providers/bitbucket_test.go+4−4
@@ -51,7 +51,7 @@ func testBitbucketBackend(payload string) *httptest.Server {
5151 if !paths[url.Path] {
5252 log.Printf("%s not in %+v\n", url.Path, paths)
5353 w.WriteHeader(404)
54− } else if r.URL.Query().Get("access_token") != "imaginary_access_token" {
54+ } else if !IsAuthorizedInURL(r.URL) {
5555 w.WriteHeader(403)
5656 } else {
5757 w.WriteHeader(200)
@@ -119,7 +119,7 @@ func TestBitbucketProviderGetEmailAddress(t *testing.T) {
119119 bURL, _ := url.Parse(b.URL)
120120 p := testBitbucketProvider(bURL.Host, "", "")
121121
122− session := &sessions.SessionState{AccessToken: "imaginary_access_token"}
122+ session := CreateAuthorizedSession()
123123 email, err := p.GetEmailAddress(session)
124124 assert.Equal(t, nil, err)
125125 assert.Equal(t, "michael.bland@gsa.gov", email)
@@ -132,7 +132,7 @@ func TestBitbucketProviderGetEmailAddressAndGroup(t *testing.T) {
132132 bURL, _ := url.Parse(b.URL)
133133 p := testBitbucketProvider(bURL.Host, "bioinformatics", "")
134134
135− session := &sessions.SessionState{AccessToken: "imaginary_access_token"}
135+ session := CreateAuthorizedSession()
136136 email, err := p.GetEmailAddress(session)
137137 assert.Equal(t, nil, err)
138138 assert.Equal(t, "michael.bland@gsa.gov", email)
@@ -163,7 +163,7 @@ func TestBitbucketProviderGetEmailAddressEmailNotPresentInPayload(t *testing.T)
163163 bURL, _ := url.Parse(b.URL)
164164 p := testBitbucketProvider(bURL.Host, "", "")
165165
166− session := &sessions.SessionState{AccessToken: "imaginary_access_token"}
166+ session := CreateAuthorizedSession()
167167 email, err := p.GetEmailAddress(session)
168168 assert.Equal(t, "", email)
169169 assert.Equal(t, nil, err)
providers/digitalocean_test.go+3−3
@@ -34,7 +34,7 @@ func testDigitalOceanBackend(payload string) *httptest.Server {
3434 func(w http.ResponseWriter, r *http.Request) {
3535 if r.URL.Path != path {
3636 w.WriteHeader(404)
37− } else if r.Header.Get("Authorization") != "Bearer imaginary_access_token" {
37+ } else if !IsAuthorizedInHeader(r.Header) {
3838 w.WriteHeader(403)
3939 } else {
4040 w.WriteHeader(200)
@@ -98,7 +98,7 @@ func TestDigitalOceanProviderGetEmailAddress(t *testing.T) {
9898 bURL, _ := url.Parse(b.URL)
9999 p := testDigitalOceanProvider(bURL.Host)
100100
101− session := &sessions.SessionState{AccessToken: "imaginary_access_token"}
101+ session := CreateAuthorizedSession()
102102 email, err := p.GetEmailAddress(session)
103103 assert.Equal(t, nil, err)
104104 assert.Equal(t, "user@example.com", email)
@@ -127,7 +127,7 @@ func TestDigitalOceanProviderGetEmailAddressEmailNotPresentInPayload(t *testing.
127127 bURL, _ := url.Parse(b.URL)
128128 p := testDigitalOceanProvider(bURL.Host)
129129
130− session := &sessions.SessionState{AccessToken: "imaginary_access_token"}
130+ session := CreateAuthorizedSession()
131131 email, err := p.GetEmailAddress(session)
132132 assert.NotEqual(t, nil, err)
133133 assert.Equal(t, "", email)
providers/github_test.go+5−5
@@ -104,7 +104,7 @@ func TestGitHubProviderGetEmailAddress(t *testing.T) {
104104 bURL, _ := url.Parse(b.URL)
105105 p := testGitHubProvider(bURL.Host)
106106
107− session := &sessions.SessionState{AccessToken: "imaginary_access_token"}
107+ session := CreateAuthorizedSession()
108108 email, err := p.GetEmailAddress(session)
109109 assert.Equal(t, nil, err)
110110 assert.Equal(t, "michael.bland@gsa.gov", email)
@@ -117,7 +117,7 @@ func TestGitHubProviderGetEmailAddressNotVerified(t *testing.T) {
117117 bURL, _ := url.Parse(b.URL)
118118 p := testGitHubProvider(bURL.Host)
119119
120− session := &sessions.SessionState{AccessToken: "imaginary_access_token"}
120+ session := CreateAuthorizedSession()
121121 email, err := p.GetEmailAddress(session)
122122 assert.Equal(t, nil, err)
123123 assert.Empty(t, "", email)
@@ -135,7 +135,7 @@ func TestGitHubProviderGetEmailAddressWithOrg(t *testing.T) {
135135 p := testGitHubProvider(bURL.Host)
136136 p.Org = "testorg1"
137137
138− session := &sessions.SessionState{AccessToken: "imaginary_access_token"}
138+ session := CreateAuthorizedSession()
139139 email, err := p.GetEmailAddress(session)
140140 assert.Equal(t, nil, err)
141141 assert.Equal(t, "michael.bland@gsa.gov", email)
@@ -166,7 +166,7 @@ func TestGitHubProviderGetEmailAddressEmailNotPresentInPayload(t *testing.T) {
166166 bURL, _ := url.Parse(b.URL)
167167 p := testGitHubProvider(bURL.Host)
168168
169− session := &sessions.SessionState{AccessToken: "imaginary_access_token"}
169+ session := CreateAuthorizedSession()
170170 email, err := p.GetEmailAddress(session)
171171 assert.NotEqual(t, nil, err)
172172 assert.Equal(t, "", email)
@@ -179,7 +179,7 @@ func TestGitHubProviderGetUserName(t *testing.T) {
179179 bURL, _ := url.Parse(b.URL)
180180 p := testGitHubProvider(bURL.Host)
181181
182− session := &sessions.SessionState{AccessToken: "imaginary_access_token"}
182+ session := CreateAuthorizedSession()
183183 email, err := p.GetUserName(session)
184184 assert.Equal(t, nil, err)
185185 assert.Equal(t, "mbland", email)
providers/keycloak_test.go+4−7
@@ -10,9 +10,6 @@ import (
1010 "github.com/pusher/oauth2_proxy/pkg/apis/sessions"
1111)
1212
13−const imaginaryAccessToken = "imaginary_access_token"
14−const bearerAccessToken = "Bearer " + imaginaryAccessToken
15−
1613func testKeycloakProvider(hostname, group string) *KeycloakProvider {
1714 p := NewKeycloakProvider(
1815 &ProviderData{
@@ -44,7 +41,7 @@ func testKeycloakBackend(payload string) *httptest.Server {
4441 url := r.URL
4542 if url.Path != path {
4643 w.WriteHeader(404)
47− } else if r.Header.Get("Authorization") != bearerAccessToken {
44+ } else if !IsAuthorizedInHeader(r.Header) {
4845 w.WriteHeader(403)
4946 } else {
5047 w.WriteHeader(200)
@@ -100,7 +97,7 @@ func TestKeycloakProviderGetEmailAddress(t *testing.T) {
10097 bURL, _ := url.Parse(b.URL)
10198 p := testKeycloakProvider(bURL.Host, "")
10299
103− session := &sessions.SessionState{AccessToken: imaginaryAccessToken}
100+ session := CreateAuthorizedSession()
104101 email, err := p.GetEmailAddress(session)
105102 assert.Equal(t, nil, err)
106103 assert.Equal(t, "michael.bland@gsa.gov", email)
@@ -113,7 +110,7 @@ func TestKeycloakProviderGetEmailAddressAndGroup(t *testing.T) {
113110 bURL, _ := url.Parse(b.URL)
114111 p := testKeycloakProvider(bURL.Host, "test-grp1")
115112
116− session := &sessions.SessionState{AccessToken: imaginaryAccessToken}
113+ session := CreateAuthorizedSession()
117114 email, err := p.GetEmailAddress(session)
118115 assert.Equal(t, nil, err)
119116 assert.Equal(t, "michael.bland@gsa.gov", email)
@@ -144,7 +141,7 @@ func TestKeycloakProviderGetEmailAddressEmailNotPresentInPayload(t *testing.T) {
144141 bURL, _ := url.Parse(b.URL)
145142 p := testKeycloakProvider(bURL.Host, "")
146143
147− session := &sessions.SessionState{AccessToken: imaginaryAccessToken}
144+ session := CreateAuthorizedSession()
148145 email, err := p.GetEmailAddress(session)
149146 assert.NotEqual(t, nil, err)
150147 assert.Equal(t, "", email)
providers/linkedin_test.go+3−3
@@ -34,7 +34,7 @@ func testLinkedInBackend(payload string) *httptest.Server {
3434 func(w http.ResponseWriter, r *http.Request) {
3535 if r.URL.Path != path {
3636 w.WriteHeader(404)
37− } else if r.Header.Get("Authorization") != "Bearer imaginary_access_token" {
37+ } else if !IsAuthorizedInHeader(r.Header) {
3838 w.WriteHeader(403)
3939 } else {
4040 w.WriteHeader(200)
@@ -98,7 +98,7 @@ func TestLinkedInProviderGetEmailAddress(t *testing.T) {
9898 bURL, _ := url.Parse(b.URL)
9999 p := testLinkedInProvider(bURL.Host)
100100
101− session := &sessions.SessionState{AccessToken: "imaginary_access_token"}
101+ session := CreateAuthorizedSession()
102102 email, err := p.GetEmailAddress(session)
103103 assert.Equal(t, nil, err)
104104 assert.Equal(t, "user@linkedin.com", email)
@@ -127,7 +127,7 @@ func TestLinkedInProviderGetEmailAddressEmailNotPresentInPayload(t *testing.T) {
127127 bURL, _ := url.Parse(b.URL)
128128 p := testLinkedInProvider(bURL.Host)
129129
130− session := &sessions.SessionState{AccessToken: "imaginary_access_token"}
130+ session := CreateAuthorizedSession()
131131 email, err := p.GetEmailAddress(session)
132132 assert.NotEqual(t, nil, err)
133133 assert.Equal(t, "", email)
providers/nextcloud_test.go+3−3
@@ -39,7 +39,7 @@ func testNextcloudBackend(payload string) *httptest.Server {
3939 func(w http.ResponseWriter, r *http.Request) {
4040 if r.URL.Path != path || r.URL.RawQuery != query {
4141 w.WriteHeader(404)
42− } else if r.Header.Get("Authorization") != "Bearer imaginary_access_token_nextcloud" {
42+ } else if !IsAuthorizedInHeader(r.Header) {
4343 w.WriteHeader(403)
4444 } else {
4545 w.WriteHeader(200)
@@ -96,7 +96,7 @@ func TestNextcloudProviderGetEmailAddress(t *testing.T) {
9696 p.ValidateURL.Path = userPath
9797 p.ValidateURL.RawQuery = formatJSON
9898
99− session := &sessions.SessionState{AccessToken: "imaginary_access_token_nextcloud"}
99+ session := CreateAuthorizedSession()
100100 email, err := p.GetEmailAddress(session)
101101 assert.Equal(t, nil, err)
102102 assert.Equal(t, "michael.bland@gsa.gov", email)
@@ -131,7 +131,7 @@ func TestNextcloudProviderGetEmailAddressEmailNotPresentInPayload(t *testing.T)
131131 p.ValidateURL.Path = userPath
132132 p.ValidateURL.RawQuery = formatJSON
133133
134− session := &sessions.SessionState{AccessToken: "imaginary_access_token_nextcloud"}
134+ session := CreateAuthorizedSession()
135135 email, err := p.GetEmailAddress(session)
136136 assert.NotEqual(t, nil, err)
137137 assert.Equal(t, "", email)