Skip to content

Commit

Permalink
feat(ci): restore S3 test
Browse files Browse the repository at this point in the history
  • Loading branch information
rande committed Mar 16, 2021
1 parent d803866 commit 5d0430a
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 14 deletions.
7 changes: 7 additions & 0 deletions .github/workflows/go.yml
Expand Up @@ -35,6 +35,13 @@ jobs:
go get ./...
- name: Test
env:
GONODE_TEST_AWS_VAULT_S3_BUCKET: ${{ secrets.GONODE_TEST_AWS_VAULT_S3_BUCKET }}
GONODE_TEST_OFFLINE: ${{ secrets.GONODE_TEST_OFFLINE }}
GONODE_TEST_S3_ACCESS_KEY: ${{ secrets.GONODE_TEST_S3_ACCESS_KEY }}
GONODE_TEST_S3_ENDPOINT: ${{ secrets.GONODE_TEST_S3_ENDPOINT }}
GONODE_TEST_S3_REGION: ${{ secrets.GONODE_TEST_S3_REGION }}
GONODE_TEST_S3_SECRET: ${{ secrets.GONODE_TEST_S3_SECRET }}
run: |
make test
Expand Down
5 changes: 4 additions & 1 deletion Makefile
Expand Up @@ -5,6 +5,7 @@ GO_FILES = $(shell find . -type f -name "*.go")
GONODE_MODULES = $(shell ls -d ./modules/* | grep -v go)
GONODE_CORE = $(shell ls -d ./core/* | grep -v go)
GOPATH = $(shell go env GOPATH)
GONODE_TEST_OFFLINE ?= "yes"

install:
$(call back,glide install)
Expand All @@ -15,7 +16,9 @@ test:
mkdir -p data
echo "mode: atomic" > data/coverage.out

GONODE_TEST_OFFLINE=true GOPATH=${GOPATH} go test -v -failfast -covermode=atomic -coverprofile=data/coverage_core.out $(GONODE_CORE)
env
echo ${GONODE_TEST_OFFLINE}
GOPATH=${GOPATH} go test -v -failfast -covermode=atomic -coverprofile=data/coverage_core.out $(GONODE_CORE)
GOPATH=${GOPATH} go test -v -failfast -covermode=atomic -coverprofile=data/coverage_modules.out $(GONODE_MODULES)
GOPATH=${GOPATH} go test -v -failfast -covermode=atomic -coverpkg ./... -coverprofile=data/coverage_integration.out ./test/modules
go vet $(GONODE_CORE) $(GONODE_MODULES) ./test/modules/
Expand Down
31 changes: 18 additions & 13 deletions core/vault/vault_driver_s3_test.go
Expand Up @@ -13,18 +13,26 @@ import (
"bytes"
"fmt"
"os"
"syscall"

"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/credentials"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/s3"
)

func getEnv(name, def string) string {
value := os.Getenv(name)
if len(value) == 0 {
value = def
}

return value
}

// this is just a test to validata how the aws sdk behave
func Test_Vault_Basic_S3_Usage(t *testing.T) {

if _, offline := syscall.Getenv("GONODE_TEST_OFFLINE"); offline == true {
if getEnv("GONODE_TEST_OFFLINE", "yes") == "yes" {
t.Skip("OFFLINE TEST ONLY")
return
}
Expand All @@ -33,15 +41,8 @@ func Test_Vault_Basic_S3_Usage(t *testing.T) {
var headResult *s3.HeadObjectOutput
var getResult *s3.GetObjectOutput

root := os.Getenv("GONODE_TEST_AWS_VAULT_ROOT")
if len(root) == 0 {
root = "local"
}

profile := os.Getenv("GONODE_TEST_AWS_PROFILE")
if len(profile) == 0 {
profile = "gonode-test"
}
root := getEnv("GITHUB_RUN_ID", getEnv("GONODE_TEST_AWS_VAULT_ROOT", "local"))
profile := getEnv("GONODE_TEST_AWS_PROFILE", "gonode-test")

chainProvider := credentials.NewChainCredentials([]credentials.Provider{
&credentials.EnvProvider{},
Expand All @@ -53,6 +54,10 @@ func Test_Vault_Basic_S3_Usage(t *testing.T) {
Filename: os.Getenv("GONODE_TEST_AWS_CREDENTIALS_FILE"),
Profile: profile,
},
&credentials.StaticProvider{Value: credentials.Value{
AccessKeyID: getEnv("GONODE_TEST_S3_ACCESS_KEY", ""),
SecretAccessKey: getEnv("GONODE_TEST_S3_SECRET", ""),
}},
})

_, err = chainProvider.Get()
Expand All @@ -64,8 +69,8 @@ func Test_Vault_Basic_S3_Usage(t *testing.T) {
// init vault
v := &DriverS3{
Root: root,
Region: "eu-west-1",
EndPoint: "s3-eu-west-1.amazonaws.com",
Region: getEnv("GONODE_TEST_S3_REGION", "eu-west-1"),
EndPoint: getEnv("GONODE_TEST_S3_ENDPOINT", "s3-eu-west-1.amazonaws.com"),
Credentials: chainProvider,
}

Expand Down

0 comments on commit 5d0430a

Please sign in to comment.