@@ -29,7 +29,7 @@ func generateImg() bytes.Buffer {
29
29
return buff
30
30
}
31
31
32
- func createAttachment (t * testing.T , session * TestSession , repoURL , filename string , buff bytes.Buffer , expectedStatus int ) string {
32
+ func createAttachment (t * testing.T , session * TestSession , csrf , repoURL , filename string , buff bytes.Buffer , expectedStatus int ) string {
33
33
body := & bytes.Buffer {}
34
34
35
35
// Setup multi-part
@@ -41,8 +41,6 @@ func createAttachment(t *testing.T, session *TestSession, repoURL, filename stri
41
41
err = writer .Close ()
42
42
assert .NoError (t , err )
43
43
44
- csrf := GetCSRF (t , session , repoURL )
45
-
46
44
req := NewRequestWithBody (t , "POST" , repoURL + "/issues/attachments" , body )
47
45
req .Header .Add ("X-Csrf-Token" , csrf )
48
46
req .Header .Add ("Content-Type" , writer .FormDataContentType ())
@@ -59,15 +57,14 @@ func createAttachment(t *testing.T, session *TestSession, repoURL, filename stri
59
57
func TestCreateAnonymousAttachment (t * testing.T ) {
60
58
defer tests .PrepareTestEnv (t )()
61
59
session := emptyTestSession (t )
62
- // this test is not right because it just doesn't pass the CSRF validation
63
- createAttachment (t , session , "user2/repo1" , "image.png" , generateImg (), http .StatusBadRequest )
60
+ createAttachment (t , session , GetCSRF (t , session , "/user/login" ), "user2/repo1" , "image.png" , generateImg (), http .StatusSeeOther )
64
61
}
65
62
66
63
func TestCreateIssueAttachment (t * testing.T ) {
67
64
defer tests .PrepareTestEnv (t )()
68
65
const repoURL = "user2/repo1"
69
66
session := loginUser (t , "user2" )
70
- uuid := createAttachment (t , session , repoURL , "image.png" , generateImg (), http .StatusOK )
67
+ uuid := createAttachment (t , session , GetCSRF ( t , session , repoURL ), repoURL , "image.png" , generateImg (), http .StatusOK )
71
68
72
69
req := NewRequest (t , "GET" , repoURL + "/issues/new" )
73
70
resp := session .MakeRequest (t , req , http .StatusOK )
0 commit comments