Skip to content

Commit

Permalink
Merge pull request #193 from alphagov/186492678-acceptance-tests-perf…
Browse files Browse the repository at this point in the history
…ormance

Tweaks to get the acceptance tests running faster in environments wit…
  • Loading branch information
corlettb committed Dec 4, 2023
2 parents 589a22b + 7fbba10 commit b1a5233
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 38 deletions.
70 changes: 35 additions & 35 deletions acceptance_tests/auth_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,29 +12,29 @@ import (
. "github.com/onsi/gomega"
)

var _ = Describe("Auth-related acceptance tests", func() {
var _ = Describe("Auth-related acceptance tests", Ordered, func() {
type eventCommon struct {
OrgGUID string `json:"org_guid"`
OrgGUID string `json:"org_guid"`
EventGUID string `json:"event_guid"`
}

eventCommonTests := func(endpointPath string) {
var (
orgGUIDWithEvents string
httpClient = &http.Client{}
lastMonth = time.Now().AddDate(0, -1, 0).Format("2006-01-02")
nextMonth = time.Now().AddDate(0, 1, 0).Format("2006-01-02")
httpClient = &http.Client{}
rangeStart = time.Now().AddDate(0, 0, -2).Format("2006-01-02")
rangeStop = time.Now().AddDate(0, 0, 1).Format("2006-01-02")
)

BeforeEach(func() {
BeforeAll(func() {
By("Selecting an arbitrary org id with events", func() {
Eventually(func() bool {
u, err := url.Parse(BillingAPIURLFromEnv)
Expect(err).ToNot(HaveOccurred())
u = u.JoinPath(endpointPath)
q := u.Query()
q.Set("range_start", lastMonth)
q.Set("range_stop", nextMonth)
q.Set("range_start", rangeStart)
q.Set("range_stop", rangeStop)
u.RawQuery = q.Encode()

req, err := http.NewRequest("GET", u.String(), nil)
Expand Down Expand Up @@ -71,7 +71,7 @@ var _ = Describe("Auth-related acceptance tests", func() {
})
})

Context("Without an auth token", func () {
Context("Without an auth token", func() {
It("Returns 401 for single-org requests", func() {
u, err := url.Parse(BillingAPIURLFromEnv)
Expect(err).ToNot(HaveOccurred())
Expand Down Expand Up @@ -118,15 +118,15 @@ var _ = Describe("Auth-related acceptance tests", func() {
})
})

Context("With an admin auth token", func () {
Context("With an admin auth token", func() {
It("Returns events for single-org requests", func() {
u, err := url.Parse(BillingAPIURLFromEnv)
Expect(err).ToNot(HaveOccurred())
u = u.JoinPath(endpointPath)
q := u.Query()
q.Set("org_guid", orgGUIDWithEvents)
q.Set("range_start", lastMonth)
q.Set("range_stop", nextMonth)
q.Set("range_start", rangeStart)
q.Set("range_stop", rangeStop)
u.RawQuery = q.Encode()

req, err := http.NewRequest("GET", u.String(), nil)
Expand Down Expand Up @@ -156,8 +156,8 @@ var _ = Describe("Auth-related acceptance tests", func() {
q := u.Query()
q.Set("org_guid", orgGUIDWithEvents)
q.Add("org_guid", CFNonAdminBillingManagerOrgGUID)
q.Set("range_start", lastMonth)
q.Set("range_stop", nextMonth)
q.Set("range_start", rangeStart)
q.Set("range_stop", rangeStop)
u.RawQuery = q.Encode()

req, err := http.NewRequest("GET", u.String(), nil)
Expand All @@ -179,12 +179,12 @@ var _ = Describe("Auth-related acceptance tests", func() {
for _, ev := range events {
Expect(ev.EventGUID).ToNot(BeEmpty())
switch ev.OrgGUID {
case orgGUIDWithEvents:
foundOrgGUIDWithEvents = true
case CFNonAdminBillingManagerOrgGUID:
foundCFNonAdminBillingManagerOrgGUID = true
default:
Expect(false).To(BeTrue())
case orgGUIDWithEvents:
foundOrgGUIDWithEvents = true
case CFNonAdminBillingManagerOrgGUID:
foundCFNonAdminBillingManagerOrgGUID = true
default:
Expect(false).To(BeTrue())
}
}
Expect(foundOrgGUIDWithEvents).To(BeTrue())
Expand All @@ -196,8 +196,8 @@ var _ = Describe("Auth-related acceptance tests", func() {
Expect(err).ToNot(HaveOccurred())
u = u.JoinPath(endpointPath)
q := u.Query()
q.Set("range_start", lastMonth)
q.Set("range_stop", nextMonth)
q.Set("range_start", rangeStart)
q.Set("range_stop", rangeStop)
u.RawQuery = q.Encode()

req, err := http.NewRequest("GET", u.String(), nil)
Expand All @@ -217,15 +217,15 @@ var _ = Describe("Auth-related acceptance tests", func() {
})
})

Context("With a non-admin auth token", func () {
Context("With a non-admin auth token", func() {
It("Returns events for single-org requests", func() {
u, err := url.Parse(BillingAPIURLFromEnv)
Expect(err).ToNot(HaveOccurred())
u = u.JoinPath(endpointPath)
q := u.Query()
q.Set("org_guid", CFNonAdminBillingManagerOrgGUID)
q.Set("range_start", lastMonth)
q.Set("range_stop", nextMonth)
q.Set("range_start", rangeStart)
q.Set("range_stop", rangeStop)
u.RawQuery = q.Encode()

req, err := http.NewRequest("GET", u.String(), nil)
Expand Down Expand Up @@ -254,8 +254,8 @@ var _ = Describe("Auth-related acceptance tests", func() {
u = u.JoinPath(endpointPath)
q := u.Query()
q.Set("org_guid", orgGUIDWithEvents)
q.Set("range_start", lastMonth)
q.Set("range_stop", nextMonth)
q.Set("range_start", rangeStart)
q.Set("range_stop", rangeStop)
u.RawQuery = q.Encode()

req, err := http.NewRequest("GET", u.String(), nil)
Expand All @@ -278,8 +278,8 @@ var _ = Describe("Auth-related acceptance tests", func() {
q := u.Query()
q.Set("org_guid", orgGUIDWithEvents)
q.Add("org_guid", CFNonAdminBillingManagerOrgGUID)
q.Set("range_start", lastMonth)
q.Set("range_stop", nextMonth)
q.Set("range_start", rangeStart)
q.Set("range_stop", rangeStop)
u.RawQuery = q.Encode()

req, err := http.NewRequest("GET", u.String(), nil)
Expand All @@ -300,8 +300,8 @@ var _ = Describe("Auth-related acceptance tests", func() {
Expect(err).ToNot(HaveOccurred())
u = u.JoinPath(endpointPath)
q := u.Query()
q.Set("range_start", lastMonth)
q.Set("range_stop", nextMonth)
q.Set("range_start", rangeStart)
q.Set("range_stop", rangeStop)
u.RawQuery = q.Encode()

req, err := http.NewRequest("GET", u.String(), nil)
Expand All @@ -323,8 +323,8 @@ var _ = Describe("Auth-related acceptance tests", func() {
u = u.JoinPath(endpointPath)
u.RawQuery = fmt.Sprintf(
"range_start=%s&range_stop=%s&org_guid=%%",
lastMonth,
nextMonth,
rangeStart,
rangeStop,
)

req, err := http.NewRequest("GET", u.String(), nil)
Expand All @@ -343,10 +343,10 @@ var _ = Describe("Auth-related acceptance tests", func() {
}

Context("/usage_events", func() {
eventCommonTests("usage_events");
eventCommonTests("usage_events")
})

Context("/billable_events", func() {
eventCommonTests("billable_events");
eventCommonTests("billable_events")
})
})
12 changes: 9 additions & 3 deletions apiserver/auth/uaa_authorizer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -107,9 +107,15 @@ var _ = Describe("UAA", func() {

Describe("ClientAuthorizer", func() {
Describe("composeClaims()", func() {
token := jwt.NewWithClaims(jwt.SigningMethodRS256, jwt.MapClaims{
"foo": "bar",
"exp": time.Now().Add(1 * time.Hour).Unix(),
var (
token *jwt.Token
)

BeforeEach(func() {
token = jwt.NewWithClaims(jwt.SigningMethodRS256, jwt.MapClaims{
"foo": "bar",
"exp": time.Now().Add(1 * time.Hour).Unix(),
})
})

It("should fail if the token has expired", func() {
Expand Down

0 comments on commit b1a5233

Please sign in to comment.