Skip to content

Commit

Permalink
test: run tests in parallel (#1009)
Browse files Browse the repository at this point in the history
  • Loading branch information
dunglas authored Feb 17, 2025
1 parent a2c0f38 commit a2f9831
Show file tree
Hide file tree
Showing 17 changed files with 333 additions and 85 deletions.
3 changes: 0 additions & 3 deletions .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,6 @@ linters:
- nolintlint
- canonicalheader

# deprecated
- exportloopref

issues:
exclude-rules:
- path: _test\.go
Expand Down
68 changes: 68 additions & 0 deletions authorization_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,8 @@ var AuthTestData = []AuthorizationTestData{
}

func TestAuthorizeMultipleAuthorizationHeader(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
r, _ := http.NewRequest(http.MethodGet, defaultHubURL, nil)
r.Header.Add("Authorization", testdata.validEmpty)
Expand All @@ -181,6 +183,8 @@ func TestAuthorizeMultipleAuthorizationHeader(t *testing.T) {
}

func TestAuthorizeAuthorizationHeaderTooShort(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
r, _ := http.NewRequest(http.MethodGet, defaultHubURL, nil)
r.Header.Add("Authorization", "Bearer x")
Expand All @@ -194,6 +198,8 @@ func TestAuthorizeAuthorizationHeaderTooShort(t *testing.T) {
}

func TestAuthorizeAuthorizationHeaderNoBearer(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
r, _ := http.NewRequest(http.MethodGet, defaultHubURL, nil)
r.Header.Add("Authorization", "Greater "+testdata.validEmpty)
Expand All @@ -207,6 +213,8 @@ func TestAuthorizeAuthorizationHeaderNoBearer(t *testing.T) {
}

func TestAuthorizeAuthorizationHeaderInvalidAlg(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
r, _ := http.NewRequest(http.MethodGet, defaultHubURL, nil)
r.Header.Add("Authorization", bearerPrefix+createDummyNoneSignedJWT())
Expand All @@ -221,6 +229,8 @@ func TestAuthorizeAuthorizationHeaderInvalidAlg(t *testing.T) {
}

func TestAuthorizeAuthorizationHeaderInvalidKey(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
r, _ := http.NewRequest(http.MethodGet, defaultHubURL, nil)
r.Header.Add("Authorization", bearerPrefix+testdata.validEmpty)
Expand All @@ -235,6 +245,8 @@ func TestAuthorizeAuthorizationHeaderInvalidKey(t *testing.T) {
}

func TestAuthorizeAuthorizationHeaderInvalidSignature(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
r, _ := http.NewRequest(http.MethodGet, defaultHubURL, nil)
r.Header.Add("Authorization", bearerPrefix+testdata.validEmpty[:len(testdata.validEmpty)-8]+"12345678")
Expand All @@ -249,6 +261,8 @@ func TestAuthorizeAuthorizationHeaderInvalidSignature(t *testing.T) {
}

func TestAuthorizeAuthorizationHeaderNoContent(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
r, _ := http.NewRequest(http.MethodGet, defaultHubURL, nil)
r.Header.Add("Authorization", bearerPrefix+testdata.validEmpty)
Expand All @@ -263,6 +277,8 @@ func TestAuthorizeAuthorizationHeaderNoContent(t *testing.T) {
}

func TestAuthorizeAuthorizationHeader(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
r, _ := http.NewRequest(http.MethodGet, defaultHubURL, nil)
r.Header.Add("Authorization", bearerPrefix+testdata.valid)
Expand All @@ -277,6 +293,8 @@ func TestAuthorizeAuthorizationHeader(t *testing.T) {
}

func TestAuthorizeAuthorizationHeaderWithCert(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
if testdata.validForCert != "" {
r, _ := http.NewRequest(http.MethodGet, defaultHubURL, nil)
Expand All @@ -293,6 +311,8 @@ func TestAuthorizeAuthorizationHeaderWithCert(t *testing.T) {
}

func TestAuthorizeAuthorizationHeaderNamespaced(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
if testdata.validNamespaced != "" {
r, _ := http.NewRequest(http.MethodGet, defaultHubURL, nil)
Expand All @@ -309,6 +329,8 @@ func TestAuthorizeAuthorizationHeaderNamespaced(t *testing.T) {
}

func TestAuthorizeAuthorizationHeaderWrongAlgorithm(t *testing.T) {
t.Parallel()

for idx, testdata := range AuthTestData {
r, _ := http.NewRequest(http.MethodGet, defaultHubURL, nil)
r.Header.Add("Authorization", bearerPrefix+testdata.valid)
Expand All @@ -324,6 +346,8 @@ func TestAuthorizeAuthorizationHeaderWrongAlgorithm(t *testing.T) {
}

func TestAuthorizeAuthorizationQueryTooShort(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
r, _ := http.NewRequest(http.MethodGet, defaultHubURL, nil)
query := r.URL.Query()
Expand All @@ -339,6 +363,8 @@ func TestAuthorizeAuthorizationQueryTooShort(t *testing.T) {
}

func TestAuthorizeAuthorizationQueryInvalidAlg(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
r, _ := http.NewRequest(http.MethodGet, defaultHubURL, nil)
query := r.URL.Query()
Expand All @@ -355,6 +381,8 @@ func TestAuthorizeAuthorizationQueryInvalidAlg(t *testing.T) {
}

func TestAuthorizeAuthorizationQueryInvalidKey(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
r, _ := http.NewRequest(http.MethodGet, defaultHubURL, nil)
query := r.URL.Query()
Expand All @@ -371,6 +399,8 @@ func TestAuthorizeAuthorizationQueryInvalidKey(t *testing.T) {
}

func TestAuthorizeAuthorizationQueryInvalidSignature(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
r, _ := http.NewRequest(http.MethodGet, defaultHubURL, nil)
query := r.URL.Query()
Expand All @@ -387,6 +417,8 @@ func TestAuthorizeAuthorizationQueryInvalidSignature(t *testing.T) {
}

func TestAuthorizeAuthorizationQueryNoContent(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
r, _ := http.NewRequest(http.MethodGet, defaultHubURL, nil)
query := r.URL.Query()
Expand All @@ -403,6 +435,8 @@ func TestAuthorizeAuthorizationQueryNoContent(t *testing.T) {
}

func TestAuthorizeAuthorizationQuery(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
r, _ := http.NewRequest(http.MethodGet, defaultHubURL, nil)
query := r.URL.Query()
Expand All @@ -419,6 +453,8 @@ func TestAuthorizeAuthorizationQuery(t *testing.T) {
}

func TestAuthorizeAuthorizationQueryNamespaced(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
if testdata.validNamespaced != "" {
r, _ := http.NewRequest(http.MethodGet, defaultHubURL, nil)
Expand All @@ -437,6 +473,8 @@ func TestAuthorizeAuthorizationQueryNamespaced(t *testing.T) {
}

func TestAuthorizeAuthorizationQueryRsaWithCert(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
if testdata.validForCert != "" {
r, _ := http.NewRequest(http.MethodGet, defaultHubURL, nil)
Expand All @@ -455,6 +493,8 @@ func TestAuthorizeAuthorizationQueryRsaWithCert(t *testing.T) {
}

func TestAuthorizeAuthorizationQueryWrongAlgorithm(t *testing.T) {
t.Parallel()

for idx, testdata := range AuthTestData {
r, _ := http.NewRequest(http.MethodGet, defaultHubURL, nil)
query := r.URL.Query()
Expand All @@ -472,6 +512,8 @@ func TestAuthorizeAuthorizationQueryWrongAlgorithm(t *testing.T) {
}

func TestAuthorizeCookieInvalidAlg(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
r, _ := http.NewRequest(http.MethodGet, defaultHubURL, nil)
r.AddCookie(&http.Cookie{Name: defaultCookieName, Value: createDummyNoneSignedJWT()})
Expand All @@ -485,6 +527,8 @@ func TestAuthorizeCookieInvalidAlg(t *testing.T) {
}

func TestAuthorizeCookieInvalidKey(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
r, _ := http.NewRequest(http.MethodGet, defaultHubURL, nil)
r.AddCookie(&http.Cookie{Name: defaultCookieName, Value: testdata.validEmpty})
Expand All @@ -499,6 +543,8 @@ func TestAuthorizeCookieInvalidKey(t *testing.T) {
}

func TestAuthorizeCookieInvalidSignature(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
r, _ := http.NewRequest(http.MethodGet, defaultHubURL, nil)
r.AddCookie(&http.Cookie{Name: defaultCookieName, Value: testdata.validEmpty[:len(testdata.validEmpty)-8] + "12345678"})
Expand All @@ -513,6 +559,8 @@ func TestAuthorizeCookieInvalidSignature(t *testing.T) {
}

func TestAuthorizeCookieNoContent(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
r, _ := http.NewRequest(http.MethodGet, defaultHubURL, nil)
r.AddCookie(&http.Cookie{Name: defaultCookieName, Value: testdata.validEmpty})
Expand All @@ -527,6 +575,8 @@ func TestAuthorizeCookieNoContent(t *testing.T) {
}

func TestAuthorizeCookie(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
r, _ := http.NewRequest(http.MethodGet, defaultHubURL, nil)
r.AddCookie(&http.Cookie{Name: defaultCookieName, Value: testdata.valid})
Expand All @@ -541,6 +591,8 @@ func TestAuthorizeCookie(t *testing.T) {
}

func TestAuthorizeCookieNoOriginNoReferer(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
r, _ := http.NewRequest(http.MethodPost, defaultHubURL, nil)
r.AddCookie(&http.Cookie{Name: defaultCookieName, Value: testdata.valid})
Expand All @@ -554,6 +606,8 @@ func TestAuthorizeCookieNoOriginNoReferer(t *testing.T) {
}

func TestAuthorizeCookieOriginNotAllowed(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
r, _ := http.NewRequest(http.MethodPost, defaultHubURL, nil)
r.Header.Add("Origin", "http://example.com")
Expand All @@ -568,6 +622,8 @@ func TestAuthorizeCookieOriginNotAllowed(t *testing.T) {
}

func TestAuthorizeCookieRefererNotAllowed(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
r, _ := http.NewRequest(http.MethodPost, defaultHubURL, nil)
r.Header.Add("Referer", "http://example.com/foo/bar")
Expand All @@ -582,6 +638,8 @@ func TestAuthorizeCookieRefererNotAllowed(t *testing.T) {
}

func TestAuthorizeCookieInvalidReferer(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
r, _ := http.NewRequest(http.MethodPost, defaultHubURL, nil)
r.Header.Add("Referer", "http://192.168.0.%31/")
Expand All @@ -596,6 +654,8 @@ func TestAuthorizeCookieInvalidReferer(t *testing.T) {
}

func TestAuthorizeCookieOriginHasPriority(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
r, _ := http.NewRequest(http.MethodPost, defaultHubURL, nil)
r.Header.Add("Origin", "http://example.net")
Expand All @@ -612,6 +672,8 @@ func TestAuthorizeCookieOriginHasPriority(t *testing.T) {
}

func TestAuthorizeAllOriginsAllowed(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
r, _ := http.NewRequest(http.MethodPost, defaultHubURL, nil)
r.Header.Add("Origin", "http://example.com")
Expand All @@ -625,6 +687,8 @@ func TestAuthorizeAllOriginsAllowed(t *testing.T) {
}

func TestAuthorizeCustomCookieName(t *testing.T) {
t.Parallel()

for _, testdata := range AuthTestData {
r, _ := http.NewRequest(http.MethodPost, defaultHubURL, nil)
r.Header.Add("Origin", "http://example.com")
Expand All @@ -638,6 +702,8 @@ func TestAuthorizeCustomCookieName(t *testing.T) {
}

func TestCanReceive(t *testing.T) {
t.Parallel()

tss := &TopicSelectorStore{}
assert.True(t, canReceive(tss, []string{"foo", "bar"}, []string{"foo", "bar"}))
assert.True(t, canReceive(tss, []string{"foo", "bar"}, []string{"bar"}))
Expand All @@ -648,6 +714,8 @@ func TestCanReceive(t *testing.T) {
}

func TestCanDispatch(t *testing.T) {
t.Parallel()

tss := &TopicSelectorStore{}
assert.True(t, canDispatch(tss, []string{"foo", "bar"}, []string{"foo", "bar"}))
assert.True(t, canDispatch(tss, []string{"foo", "bar"}, []string{"*"}))
Expand Down
Loading

0 comments on commit a2f9831

Please sign in to comment.