Skip to content

Commit bcf32f4

Browse files
committed
Fix tests
1 parent 51a8a7b commit bcf32f4

14 files changed

+91
-22
lines changed

bulk_test.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ import (
99

1010
func TestBulkResourceModifyDelete(t *testing.T) {
1111
t.Parallel()
12+
13+
client := newTestClient(t)
14+
1215
org, err := client.GetOrganization(getDefaultOrg())
1316
if err != nil {
1417
t.Fatal(err)
@@ -31,7 +34,7 @@ func TestBulkResourceModifyDelete(t *testing.T) {
3134
}
3235

3336
for i := 0; i <= 100; i++ {
34-
ravenClient.CaptureMessage(fmt.Sprintf("Testing message %d", i), nil, nil)
37+
ravenClient.CaptureMessageAndWait(fmt.Sprintf("Testing message %d", i), nil, nil)
3538
}
3639

3740
t.Run("Fetch all messages for project", func(t *testing.T) {

client.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ func (c *Client) hasError(response *http.Response) error {
7575
}
7676

7777
if err := json.Unmarshal(body, &apierror); err != nil {
78-
return err
78+
apierror.Detail = string(body)
7979
}
8080

8181
return error(apierror)
@@ -130,6 +130,7 @@ func (c *Client) newRequest(method, endpoint string, in interface{}) (*http.Requ
130130
}
131131
req.Header.Add("Content-Type", "application/json")
132132
req.Header.Add("Authorization", fmt.Sprintf("Bearer %s", c.AuthToken))
133+
req.Header.Add("Accept", "application/json")
133134
req.Close = true
134135

135136
return req, nil

client_test.go

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,31 +2,39 @@ package sentry
22

33
import (
44
"fmt"
5-
"log"
65
"math/rand"
76
"os"
87
"testing"
98
)
109

11-
var (
12-
authtoken = os.Getenv("SENTRY_AUTH_TOKEN")
13-
endpoint = os.Getenv("SENTRY_ENDPOINT")
14-
defaultorg = os.Getenv("SENTRY_DEFAULT_ORG")
15-
client, clienterr = NewClient(authtoken, &endpoint, nil)
16-
)
17-
1810
func getDefaultOrg() string {
11+
defaultorg := os.Getenv("SENTRY_DEFAULT_ORG")
12+
1913
if defaultorg == "" {
2014
return "sentry"
2115
}
2216

23-
if authtoken == "" && endpoint == "" {
24-
log.Fatalf("Failed to setup tests. Please have SENTRY_AUTH_TOKEN and SENTRY_ENDPOINT set")
17+
return defaultorg
18+
}
19+
20+
func newTestClient(t *testing.T) *Client {
21+
authtoken := os.Getenv("SENTRY_AUTH_TOKEN")
22+
endpoint := os.Getenv("SENTRY_ENDPOINT")
23+
24+
if authtoken == "" {
25+
t.Fatal("Need a authtoken to continue. Please set SENTRY_AUTH_TOKEN")
2526
}
2627

27-
log.Printf("Using sentry slug organization %s", defaultorg)
28+
if endpoint == "" {
29+
endpoint = "https://sentry.io/api/0/"
30+
}
2831

29-
return defaultorg
32+
client, clienterr := NewClient(authtoken, &endpoint, nil)
33+
if clienterr != nil {
34+
t.Fatal(clienterr)
35+
}
36+
37+
return client
3038
}
3139

3240
func generateIdentifier(prefix string) string {
@@ -36,6 +44,9 @@ func generateIdentifier(prefix string) string {
3644
func TestClientBadEndpoint(t *testing.T) {
3745
t.Parallel()
3846
badendpoint := ""
47+
48+
authtoken := os.Getenv("SENTRY_AUTH_TOKEN")
49+
3950
_, berr := NewClient(authtoken, &badendpoint, nil)
4051
if berr == nil {
4152
t.Error("Should have gotten an error for an empty endpoint")

error.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66

77
// APIError is used when the api returns back a non 200 response
88
type APIError struct {
9-
Detail string `json:"detail"`
9+
Detail string `json:"detail,omitempty"`
1010
StatusCode int `json:"-"`
1111
}
1212

events_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ import (
1111
func TestEventsResource(t *testing.T) {
1212
t.Parallel()
1313

14+
client := newTestClient(t)
15+
1416
org, err := client.GetOrganization(getDefaultOrg())
1517
if err != nil {
1618
t.Fatal(err)

file_test.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,15 @@ package sentry
22

33
import (
44
"bytes"
5+
"fmt"
56
"testing"
67
)
78

89
func TestReleaseFileResource(t *testing.T) {
910
t.Parallel()
1011

12+
client := newTestClient(t)
13+
1114
org, err := client.GetOrganization(getDefaultOrg())
1215
if err != nil {
1316
t.Fatal(err)
@@ -32,16 +35,18 @@ func TestReleaseFileResource(t *testing.T) {
3235
Hello World!
3336
`
3437

38+
filename := fmt.Sprintf("%s-example.txt", project.ID)
39+
3540
file, err := client.UploadReleaseFile(org, project, release,
36-
"example.txt",
41+
filename,
3742
bytes.NewBuffer([]byte(data)),
3843
"Content-Type:text/plain; encoding=utf-8")
3944

4045
if err != nil {
4146
t.Error("Failed to save file to sentry", err)
4247
}
4348

44-
if file.Name != "example.txt" {
49+
if file.Name != filename {
4550
t.Error("File did not save as example.txt")
4651
}
4752
t.Run("Fetch the release files for this release", func(t *testing.T) {

issue_test.go

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
package sentry
22

33
import (
4+
"fmt"
45
"testing"
6+
7+
"github.com/getsentry/raven-go"
58
)
69

710
func TestIssueResource(t *testing.T) {
8-
t.Parallel()
911

12+
client := newTestClient(t)
1013
org, err := client.GetOrganization(getDefaultOrg())
1114
if err != nil {
1215
t.Fatal(err)
@@ -18,6 +21,20 @@ func TestIssueResource(t *testing.T) {
1821
project, cleanupproj := createProjectHelper(t, team)
1922
defer cleanupproj()
2023

24+
dsnkey, err := client.CreateClientKey(org, project, "testing key")
25+
if err != nil {
26+
t.Fatal(err)
27+
}
28+
29+
ravenClient, err := raven.New(dsnkey.DSN.Secret)
30+
if err != nil {
31+
t.Fatal(err)
32+
}
33+
34+
for i := 0; i <= 10; i++ {
35+
ravenClient.CaptureMessage(fmt.Sprintf("Testing message %d", i), nil, nil)
36+
}
37+
2138
t.Run("Get all issues with a query of resolved", func(t *testing.T) {
2239
query := "is:resolved"
2340
issues, _, err := client.GetIssues(org, project, nil, nil, &query)
@@ -35,7 +52,7 @@ func TestIssueResource(t *testing.T) {
3552
t.Error(err)
3653
}
3754
if len(issues) <= 0 {
38-
t.Error("No issues found for this project")
55+
t.Fatal("No issues found for this project")
3956
}
4057
if link.Previous.Results {
4158
t.Error("Should be no new results")

keys_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@ import (
66

77
func TestKeysResource(t *testing.T) {
88
t.Parallel()
9+
10+
client := newTestClient(t)
911
org, err := client.GetOrganization(getDefaultOrg())
12+
1013
if err != nil {
1114
t.Fatal(err)
1215
}

organization_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import (
77

88
func TestOrganization(t *testing.T) {
99
t.Parallel()
10+
11+
client := newTestClient(t)
1012
t.Run("Organization Create", func(t *testing.T) {
1113
if os.Getenv("TEST_ORGS") == "" {
1214
t.Skip("Skipping testing of orgs since TEST_ORGS not set")

project_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@ import (
55
)
66

77
func createProjectHelper(t *testing.T, team Team) (Project, func() error) {
8+
client := newTestClient(t)
89
org, err := client.GetOrganization(getDefaultOrg())
910
if err != nil {
11+
1012
t.Fatal(err)
1113
}
1214

@@ -21,6 +23,7 @@ func createProjectHelper(t *testing.T, team Team) (Project, func() error) {
2123

2224
func TestProjectResource(t *testing.T) {
2325
t.Parallel()
26+
client := newTestClient(t)
2427
org, err := client.GetOrganization(getDefaultOrg())
2528
if err != nil {
2629
t.Fatal(err)

release_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66

77
func TestReleaseResource(t *testing.T) {
88
t.Parallel()
9+
client := newTestClient(t)
910
org, err := client.GetOrganization(getDefaultOrg())
1011
if err != nil {
1112
t.Fatal(err)

stat_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ func TestStat(t *testing.T) {
1212
hourlater := time.Duration(1) * time.Hour
1313
later := now - int64(hourlater.Seconds())
1414

15+
client := newTestClient(t)
16+
1517
org, err := client.GetOrganization(getDefaultOrg())
1618
if err != nil {
1719
t.Fatal(err)

team_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66

77
func createTeamHelper(t *testing.T) (Team, func() error) {
88

9+
client := newTestClient(t)
910
org, err := client.GetOrganization(getDefaultOrg())
1011
if err != nil {
1112
t.Fatal(err)
@@ -24,6 +25,7 @@ func createTeamHelper(t *testing.T) (Team, func() error) {
2425

2526
func TestTeamResource(t *testing.T) {
2627
t.Parallel()
28+
client := newTestClient(t)
2729

2830
org, err := client.GetOrganization(getDefaultOrg())
2931
if err != nil {

userfeedback_test.go

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
package sentry
22

33
import (
4+
"fmt"
45
"testing"
6+
7+
"github.com/getsentry/raven-go"
58
)
69

710
func TestUserFeedbackResource(t *testing.T) {
8-
t.Parallel()
911

12+
client := newTestClient(t)
1013
org, err := client.GetOrganization(getDefaultOrg())
1114
if err != nil {
1215
t.Fatal(err)
@@ -18,10 +21,24 @@ func TestUserFeedbackResource(t *testing.T) {
1821
defer cleanupproj()
1922
defer cleanup()
2023

21-
t.Run("Submit user feedback without a issue", func(t *testing.T) {
24+
dsnkey, err := client.CreateClientKey(org, project, "testing key")
25+
if err != nil {
26+
t.Fatal(err)
27+
}
28+
29+
ravenClient, err := raven.New(dsnkey.DSN.Secret)
30+
if err != nil {
31+
t.Fatal(err)
32+
}
33+
34+
for i := 0; i <= 10; i++ {
35+
ravenClient.CaptureMessageAndWait(fmt.Sprintf("Testing message %d", i), nil, nil)
36+
}
37+
38+
t.Run("Submit user feedback with a issue", func(t *testing.T) {
2239
issues, _, _ := client.GetIssues(org, project, nil, nil, nil)
2340

24-
if len(issues) <= 0 {
41+
if len(issues) == 0 {
2542
t.Fatal("No issues found.")
2643
}
2744

0 commit comments

Comments
 (0)