@@ -29,7 +29,7 @@ func generateImg() bytes.Buffer {
2929 return buff
3030}
3131
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 {
3333 body := & bytes.Buffer {}
3434
3535 // Setup multi-part
@@ -41,8 +41,6 @@ func createAttachment(t *testing.T, session *TestSession, repoURL, filename stri
4141 err = writer .Close ()
4242 assert .NoError (t , err )
4343
44- csrf := GetCSRF (t , session , repoURL )
45-
4644 req := NewRequestWithBody (t , "POST" , repoURL + "/issues/attachments" , body )
4745 req .Header .Add ("X-Csrf-Token" , csrf )
4846 req .Header .Add ("Content-Type" , writer .FormDataContentType ())
@@ -59,15 +57,14 @@ func createAttachment(t *testing.T, session *TestSession, repoURL, filename stri
5957func TestCreateAnonymousAttachment (t * testing.T ) {
6058 defer tests .PrepareTestEnv (t )()
6159 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 )
6461}
6562
6663func TestCreateIssueAttachment (t * testing.T ) {
6764 defer tests .PrepareTestEnv (t )()
6865 const repoURL = "user2/repo1"
6966 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 )
7168
7269 req := NewRequest (t , "GET" , repoURL + "/issues/new" )
7370 resp := session .MakeRequest (t , req , http .StatusOK )
0 commit comments