55 "errors"
66 "io"
77 "io/ioutil"
8- "math/rand"
98 "mime/multipart"
109 "net/http/httptest"
1110 "os"
@@ -22,8 +21,8 @@ import (
2221)
2322
2423var (
25- firstApplicationToken = "APorrUa5b1IIK3y "
26- secondApplicationToken = "AKo_Pp6ww_9vZal "
24+ firstApplicationToken = "Aaaaaaaaaaaaaaa "
25+ secondApplicationToken = "Abbbbbbbbbbbbbb "
2726)
2827
2928func TestApplicationSuite (t * testing.T ) {
@@ -38,9 +37,15 @@ type ApplicationSuite struct {
3837 recorder * httptest.ResponseRecorder
3938}
4039
40+ var originalGenerateApplicationToken func () string
41+ var originalGenerateImageName func () string
42+
4143func (s * ApplicationSuite ) BeforeTest (suiteName , testName string ) {
44+ originalGenerateApplicationToken = generateApplicationToken
45+ originalGenerateImageName = generateImageName
46+ generateApplicationToken = test .Tokens (firstApplicationToken , secondApplicationToken )
47+ generateImageName = test .Tokens (firstApplicationToken [1 :], secondApplicationToken [1 :])
4248 mode .Set (mode .TestDev )
43- rand .Seed (50 )
4449 s .recorder = httptest .NewRecorder ()
4550 s .db = testdb .NewDB (s .T ())
4651 s .ctx , _ = gin .CreateTestContext (s .recorder )
@@ -49,6 +54,8 @@ func (s *ApplicationSuite) BeforeTest(suiteName, testName string) {
4954}
5055
5156func (s * ApplicationSuite ) AfterTest (suiteName , testName string ) {
57+ generateApplicationToken = originalGenerateApplicationToken
58+ generateImageName = originalGenerateImageName
5259 s .db .Close ()
5360}
5461
@@ -268,37 +275,45 @@ func (s *ApplicationSuite) Test_UploadAppImage_WithImageFile_expectSuccess() {
268275
269276 s .a .UploadApplicationImage (s .ctx )
270277
278+ imgName := s .db .GetApplicationByID (1 ).Image
279+
271280 assert .Equal (s .T (), 200 , s .recorder .Code )
272- _ , err = os .Stat ("PorrUa5b1IIK3yKo_Pp6ww_9v.png" )
281+ _ , err = os .Stat (imgName )
273282 assert .Nil (s .T (), err )
274283
275284 s .a .DeleteApplication (s .ctx )
276285
277- _ , err = os .Stat ("PorrUa5b1IIK3yKo_Pp6ww_9v.png" )
286+ _ , err = os .Stat (imgName )
278287 assert .True (s .T (), os .IsNotExist (err ))
279288}
280289
281290func (s * ApplicationSuite ) Test_UploadAppImage_WithImageFile_DeleteExstingImageAndGenerateNewName () {
291+ existingImageName := "2lHMAel6BDHLL-HrwphcviX-l.png"
292+ firstGeneratedImageName := firstApplicationToken [1 :] + ".png"
293+ secondGeneratedImageName := secondApplicationToken [1 :] + ".png"
282294 s .db .User (5 )
283- s .db .CreateApplication (& model.Application {UserID : 5 , ID : 1 , Image : "PorrUa5b1IIK3yKo_Pp6ww_9v.png" })
295+ s .db .CreateApplication (& model.Application {UserID : 5 , ID : 1 , Image : existingImageName })
284296
285297 cType , buffer , err := upload (map [string ]* os.File {"file" : mustOpen ("../test/assets/image.png" )})
286298 assert .Nil (s .T (), err )
287299 s .ctx .Request = httptest .NewRequest ("POST" , "/irrelevant" , & buffer )
288300 s .ctx .Request .Header .Set ("Content-Type" , cType )
289301 test .WithUser (s .ctx , 5 )
290302 s .ctx .Params = gin.Params {{Key : "id" , Value : "1" }}
291- fakeImage (s .T (), "PorrUa5b1IIK3yKo_Pp6ww_9v.png" )
303+ fakeImage (s .T (), existingImageName )
304+ fakeImage (s .T (), firstGeneratedImageName )
292305
293306 s .a .UploadApplicationImage (s .ctx )
294307
295308 assert .Equal (s .T (), 200 , s .recorder .Code )
296309
297- _ , err = os .Stat ("PorrUa5b1IIK3yKo_Pp6ww_9v.png" )
310+ _ , err = os .Stat (existingImageName )
298311 assert .True (s .T (), os .IsNotExist (err ))
299- _ , err = os .Stat ("Zal6-ySIuL-T3EMLCcFtityHn.png" )
312+
313+ _ , err = os .Stat (secondGeneratedImageName )
300314 assert .Nil (s .T (), err )
301- assert .Nil (s .T (), os .Remove ("Zal6-ySIuL-T3EMLCcFtityHn.png" ))
315+ assert .Nil (s .T (), os .Remove (secondGeneratedImageName ))
316+ assert .Nil (s .T (), os .Remove (firstGeneratedImageName ))
302317}
303318
304319func (s * ApplicationSuite ) Test_UploadAppImage_WithImageFile_DeleteExistingImage () {
@@ -320,7 +335,7 @@ func (s *ApplicationSuite) Test_UploadAppImage_WithImageFile_DeleteExistingImage
320335 _ , err = os .Stat ("existing.png" )
321336 assert .True (s .T (), os .IsNotExist (err ))
322337
323- os .Remove ("PorrUa5b1IIK3yKo_Pp6ww_9v .png" )
338+ os .Remove (firstApplicationToken [ 1 :] + " .png" )
324339}
325340
326341func (s * ApplicationSuite ) Test_UploadAppImage_WithTextFile_expectBadRequest () {
0 commit comments