From b7473343c459865f8f56eab5843f0abe9d2024bd Mon Sep 17 00:00:00 2001 From: Artem Nikitin Date: Sat, 2 Apr 2016 08:00:04 +0200 Subject: [PATCH] Small refactoring, replacing recivers from value to pointer where it make sense --- main.go | 6 +++--- service/config_gen.go | 6 +++--- service/service.go | 2 +- tools/tools.go | 2 +- tools/upload_support.go | 6 +++--- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/main.go b/main.go index 86cba08..ad65c4b 100644 --- a/main.go +++ b/main.go @@ -36,7 +36,7 @@ func main() { runJob(getAWSClient(), getConfig()) } -func runJob(client *devicefarm.DeviceFarm, config config.RunConfig) { +func runJob(client *devicefarm.DeviceFarm, config *config.RunConfig) { projectArn := service.GetProjectArn(client, *project) deviceArn := service.GetDevicePoolArn(client, projectArn, *devicePool) appArn, url := service.CreateUpload(client, projectArn, *appPath) @@ -52,14 +52,14 @@ func runJob(client *devicefarm.DeviceFarm, config config.RunConfig) { } } -func getConfig() config.RunConfig { +func getConfig() *config.RunConfig { configFile := &config.RunConfig{} if *configJSON != "" { bytes, err := ioutil.ReadFile(*configJSON) errors.Validate(err, "Can't read config file") *configFile = config.Transform(bytes) } - return *configFile + return configFile } func getAWSClient() *devicefarm.DeviceFarm { diff --git a/service/config_gen.go b/service/config_gen.go index 47ce25b..cb21b3a 100644 --- a/service/config_gen.go +++ b/service/config_gen.go @@ -12,7 +12,7 @@ import ( "github.com/aws/aws-sdk-go/service/devicefarm" ) -func createScheduleRunInput(client *devicefarm.DeviceFarm, conf config.RunConfig, projectArn string) *devicefarm.ScheduleRunInput { +func createScheduleRunInput(client *devicefarm.DeviceFarm, conf *config.RunConfig, projectArn string) *devicefarm.ScheduleRunInput { var wg sync.WaitGroup result := &devicefarm.ScheduleRunInput{ ProjectArn: aws.String(projectArn), @@ -70,7 +70,7 @@ func createScheduleRunInput(client *devicefarm.DeviceFarm, conf config.RunConfig return result } -func processTestBlock(conf config.RunConfig, sri *devicefarm.ScheduleRunInput) { +func processTestBlock(conf *config.RunConfig, sri *devicefarm.ScheduleRunInput) { if conf.Test.Type != "" { sri.Test.Type = aws.String(conf.Test.Type) } @@ -90,7 +90,7 @@ func processTestBlock(conf config.RunConfig, sri *devicefarm.ScheduleRunInput) { } } -func processConfigurationBlock(conf config.RunConfig, sri *devicefarm.ScheduleRunInput) { +func processConfigurationBlock(conf *config.RunConfig, sri *devicefarm.ScheduleRunInput) { if conf.AdditionalData.BillingMethod != "" { sri.Configuration.BillingMethod = aws.String(conf.AdditionalData.BillingMethod) } diff --git a/service/service.go b/service/service.go index 2bb7bf6..e26d16c 100644 --- a/service/service.go +++ b/service/service.go @@ -74,7 +74,7 @@ func GetDevicePoolArn(client *devicefarm.DeviceFarm, projectArn, devicePool stri } // RunWithConfig will schedule run with setup from JSON config -func RunWithConfig(client *devicefarm.DeviceFarm, devicePoolArn, projectArn, appArn string, conf config.RunConfig) (string, string) { +func RunWithConfig(client *devicefarm.DeviceFarm, devicePoolArn, projectArn, appArn string, conf *config.RunConfig) (string, string) { params := createScheduleRunInput(client, conf, projectArn) params.DevicePoolArn = aws.String(devicePoolArn) params.AppArn = aws.String(appArn) diff --git a/tools/tools.go b/tools/tools.go index b2bf93f..6618e44 100644 --- a/tools/tools.go +++ b/tools/tools.go @@ -9,7 +9,7 @@ import ( func UploadFile(path, url string) int { log.Println("Uploading file from path:", path) file, info := prepareFile(path) - resp := sendRequest(url, file, info) + resp := sendRequest(url, &file, info) return getStatusOfUpload(resp) } diff --git a/tools/upload_support.go b/tools/upload_support.go index 9d9879f..f62499a 100644 --- a/tools/upload_support.go +++ b/tools/upload_support.go @@ -10,9 +10,9 @@ import ( "github.com/artemnikitin/devicefarm-ci-tool/errors" ) -func sendRequest(url string, file *os.File, info os.FileInfo) *http.Response { +func sendRequest(url string, file *io.Reader, info os.FileInfo) *http.Response { client := &http.Client{} - request, err := http.NewRequest("PUT", url, file) + request, err := http.NewRequest("PUT", url, *file) errors.Validate(err, "Failed to create HTTP request") request.Header.Add("Content-Type", "application/octet-stream") request.ContentLength = info.Size() @@ -21,7 +21,7 @@ func sendRequest(url string, file *os.File, info os.FileInfo) *http.Response { return resp } -func prepareFile(path string) (*os.File, os.FileInfo) { +func prepareFile(path string) (io.Reader, os.FileInfo) { file, err := os.Open(path) errors.Validate(err, "Failed to get file for upload") info, err := file.Stat()