From c25b95e936dad7c26846f7acc181763b58a104db Mon Sep 17 00:00:00 2001 From: Paul Fortin Date: Sat, 20 Jan 2018 12:24:50 -0500 Subject: [PATCH] Add Makefile and re-format code --- .gitignore | 4 ++++ app/gosqs/message_attributes.go | 8 ++++---- app/servertest/server_test.go | 12 ++++++------ docker-compose.yml | 2 +- makefile.txt | 28 ++++++++++++++++++++++++++++ 5 files changed, 43 insertions(+), 11 deletions(-) create mode 100644 makefile.txt diff --git a/.gitignore b/.gitignore index 20666060f..bf93c65e8 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,7 @@ goaws goaws_linux_amd64 *.log + +setenv.sh + + diff --git a/app/gosqs/message_attributes.go b/app/gosqs/message_attributes.go index 35c1f7f4c..2d369bb95 100644 --- a/app/gosqs/message_attributes.go +++ b/app/gosqs/message_attributes.go @@ -1,11 +1,11 @@ package gosqs import ( - "fmt" "crypto/md5" "encoding/base64" "encoding/binary" "encoding/hex" + "fmt" "hash" "net/http" "sort" @@ -15,19 +15,19 @@ import ( type MessageAttributeValue struct { dataType string - value string + value string valueKey string } func extractMessageAttributes(req *http.Request) map[string]MessageAttributeValue { attributes := make(map[string]MessageAttributeValue) - for i := 1; true; i++ { + for i := 1; true; i++ { name := req.FormValue(fmt.Sprintf("MessageAttribute.%d.Name", i)) if name == "" { break } - + dataType := req.FormValue(fmt.Sprintf("MessageAttribute.%d.Value.DataType", i)) if dataType == "" { log.Warnf("DataType of MessageAttribute %s is missing, MD5 checksum will most probably be wrong!\n", name) diff --git a/app/servertest/server_test.go b/app/servertest/server_test.go index 04dfde55f..4d09757eb 100644 --- a/app/servertest/server_test.go +++ b/app/servertest/server_test.go @@ -43,21 +43,21 @@ func TestNewIntegration(t *testing.T) { attributes := make(map[string]*sqs.MessageAttributeValue) attributes["some string"] = &sqs.MessageAttributeValue{ StringValue: aws.String("string value with a special character \u2318"), - DataType: aws.String("String"), + DataType: aws.String("String"), } attributes["some number"] = &sqs.MessageAttributeValue{ StringValue: aws.String("123"), - DataType: aws.String("Number"), + DataType: aws.String("Number"), } attributes["some binary"] = &sqs.MessageAttributeValue{ - BinaryValue: []byte{1,2,3}, - DataType: aws.String("Binary"), + BinaryValue: []byte{1, 2, 3}, + DataType: aws.String("Binary"), } response, err := svc.SendMessage(&sqs.SendMessageInput{ - MessageBody: aws.String("hello world"), + MessageBody: aws.String("hello world"), MessageAttributes: attributes, - QueueUrl: queueURL, + QueueUrl: queueURL, }) assert.Equal(t, "5eb63bbbe01eeed093cb22bb8f5acdc3", *response.MD5OfMessageBody) diff --git a/docker-compose.yml b/docker-compose.yml index c71c77272..d41e6fbfe 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,7 +2,7 @@ version: '2' services: goaws: container_name: goaws - image: pafortin/goaws:1.0.0 + image: pafortin/goaws ports: - 4100:4100 volumes: diff --git a/makefile.txt b/makefile.txt new file mode 100644 index 000000000..b79717c2d --- /dev/null +++ b/makefile.txt @@ -0,0 +1,28 @@ +.DEFAULT_GOAL := run +VERSION=1.0.2 +GITHUB_API_KEY = ${GITHUBB_API_KEY} +APIJSON='{"tag_name": "$(VERSION)","target_commitish": "master","name": "$(VERSION)","body": "Release of version $(VERSION)","draft": true,"prerelease": true}' + +dep: + dep ensure + +fmt: + go fmt ./app/... + +test: + go test ./app/... + +run: dep fmt test + go run app/cmd/goaws.go + +git-release: + curl --data $(APIJSON) https://api.github.com/repos/p4tin/goaws/releases?access_token=$(GITHUB_API_KEY) + +linux: + GOOS=linux GOARCH=arm GOARM=5 go build -o goaws_linux_amd64 app/cmd/goaws.go + +docker-release: linux + docker build -t pafortin/goaws . + docker tag pafortin/goaws pafortin/goaws:$(VERSION) + +