github.com/ssube/gitlab-ci-multi-runner@v1.2.1-0.20160607142738-b8d1285632e6/commands/helpers/artifacts_uploader_test.go (about) 1 package helpers 2 3 import ( 4 "os" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 9 "gitlab.com/gitlab-org/gitlab-ci-multi-runner/common" 10 "gitlab.com/gitlab-org/gitlab-ci-multi-runner/helpers" 11 "io/ioutil" 12 ) 13 14 var UploaderCredentials = common.BuildCredentials{ 15 ID: 1000, 16 Token: "test", 17 URL: "test", 18 } 19 20 func TestArtifactsUploaderRequirements(t *testing.T) { 21 helpers.MakeFatalToPanic() 22 23 cmd := ArtifactsUploaderCommand{} 24 assert.Panics(t, func() { 25 cmd.Execute(nil) 26 }) 27 } 28 29 func TestArtifactsUploaderTooLarge(t *testing.T) { 30 network := &testNetwork{ 31 uploadState: common.UploadTooLarge, 32 } 33 cmd := ArtifactsUploaderCommand{ 34 BuildCredentials: UploaderCredentials, 35 network: network, 36 } 37 38 assert.Panics(t, func() { 39 cmd.Execute(nil) 40 }) 41 42 assert.Equal(t, 1, network.uploadCalled) 43 } 44 45 func TestArtifactsUploaderForbidden(t *testing.T) { 46 network := &testNetwork{ 47 uploadState: common.UploadForbidden, 48 } 49 cmd := ArtifactsUploaderCommand{ 50 BuildCredentials: UploaderCredentials, 51 network: network, 52 } 53 54 assert.Panics(t, func() { 55 cmd.Execute(nil) 56 }) 57 58 assert.Equal(t, 1, network.uploadCalled) 59 } 60 61 func TestArtifactsUploaderRetry(t *testing.T) { 62 network := &testNetwork{ 63 uploadState: common.UploadFailed, 64 } 65 cmd := ArtifactsUploaderCommand{ 66 BuildCredentials: UploaderCredentials, 67 network: network, 68 retryHelper: retryHelper{ 69 Retry: 2, 70 }, 71 } 72 73 assert.Panics(t, func() { 74 cmd.Execute(nil) 75 }) 76 77 assert.Equal(t, 3, network.uploadCalled) 78 } 79 80 func TestArtifactsUploaderSucceeded(t *testing.T) { 81 network := &testNetwork{ 82 uploadState: common.UploadSucceeded, 83 } 84 cmd := ArtifactsUploaderCommand{ 85 BuildCredentials: UploaderCredentials, 86 network: network, 87 fileArchiver: fileArchiver{ 88 Paths: []string{artifactsTestArchivedFile}, 89 }, 90 } 91 92 ioutil.WriteFile(artifactsTestArchivedFile, nil, 0600) 93 defer os.Remove(artifactsTestArchivedFile) 94 95 cmd.Execute(nil) 96 assert.Equal(t, 1, network.uploadCalled) 97 fi, _ := os.Stat(artifactsTestArchivedFile) 98 assert.NotNil(t, fi) 99 }