Skip to content

Commit

Permalink
Multiple buckets creation based on a config (kyma-project#2040)
Browse files Browse the repository at this point in the history
* bucket creation based on slice from config

* storage test fixes
  • Loading branch information
Ressetkk authored Feb 17, 2020
1 parent 6e73f0d commit 4ced6dc
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 29 deletions.
6 changes: 4 additions & 2 deletions development/prow-installer/cmd/installer/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,10 @@ func main() {
if err != nil {
log.Fatalf("An error occurred during storage client configuration: %v", err)
}
if err := storageClient.CreateBucket(ctx, readConfig.BucketName); err != nil {
log.Fatalf("Failed to create bucket: %s, %s", readConfig.BucketName, err)
for _, bucket := range readConfig.Buckets {
if err := storageClient.CreateBucket(ctx, bucket); err != nil {
log.Fatalf("Failed to create bucket: %s, %s", bucket, err)
}
}

iamService, err := serviceaccount.NewService(*credentialsFile)
Expand Down
4 changes: 3 additions & 1 deletion development/prow-installer/config/prow-installer-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ oauth: testoauth999
project: sap-kyma-neighbors-dev
zone: europe-west3-c
location: europe-west3
bucket_name: test-prow-bucket
buckets:
- test-prow-bucket
- test-prow-bucket-2
keyring_name: test-prow-keyring
encryption_key_name: test-prow-key
kubeconfig: ""
Expand Down
2 changes: 1 addition & 1 deletion development/prow-installer/pkg/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ type Config struct {
Project string `yaml:"project"`
Zone string `yaml:"zone"`
Location string `yaml:"location"`
BucketName string `yaml:"bucket_name"`
Buckets []string `yaml:"buckets"`
KeyringName string `yaml:"keyring_name"`
EncryptionKeyName string `yaml:"encryption_key_name"`
Kubeconfig string `yaml:"kubeconfig,omitempty"`
Expand Down
27 changes: 2 additions & 25 deletions development/prow-installer/pkg/storage/storage_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package storage

import (
"context"
"fmt"
"testing"

"github.com/kyma-project/test-infra/development/prow-installer/pkg/storage/automock"
Expand Down Expand Up @@ -32,7 +33,6 @@ func TestClient_Read(t *testing.T) {
mockClient, err := New(opts, mockAPI)
if err != nil {
t.Errorf("failed before running a test")
t.Fail()
}

data, err := mockClient.Read(ctx, testGCSBucket, testGCSStorageObject)
Expand All @@ -52,7 +52,6 @@ func TestClient_Read(t *testing.T) {
mockClient, err := New(opts, mockAPI)
if err != nil {
t.Errorf("failed before running a test")
t.Fail()
}

data, err := mockClient.Read(ctx, "", testGCSStorageObject)
Expand All @@ -73,7 +72,6 @@ func TestClient_Read(t *testing.T) {
mockClient, err := New(opts, mockAPI)
if err != nil {
t.Errorf("failed before running a test")
t.Fail()
}

data, err := mockClient.Read(ctx, testGCSBucket, "")
Expand All @@ -99,7 +97,6 @@ func TestClient_Write(t *testing.T) {
mockClient, err := New(opts, mockAPI)
if err != nil {
t.Errorf("failed before running a test")
t.Fail()
}

err = mockClient.Write(ctx, []byte(testBucketContent), testGCSBucket, testGCSStorageObject)
Expand All @@ -118,7 +115,6 @@ func TestClient_Write(t *testing.T) {
mockClient, err := New(opts, mockAPI)
if err != nil {
t.Errorf("failed before running a test")
t.Fail()
}

err = mockClient.Write(ctx, []byte(testBucketContent), "", testGCSStorageObject)
Expand All @@ -138,7 +134,6 @@ func TestClient_Write(t *testing.T) {
mockClient, err := New(opts, mockAPI)
if err != nil {
t.Errorf("failed before running a test")
t.Fail()
}

err = mockClient.Write(ctx, []byte(testBucketContent), testGCSBucket, "")
Expand All @@ -158,7 +153,6 @@ func TestClient_Write(t *testing.T) {
mockClient, err := New(opts, mockAPI)
if err != nil {
t.Errorf("failed before running a test")
t.Fail()
}

err = mockClient.Write(ctx, []byte(""), testGCSBucket, testGCSStorageObject)
Expand All @@ -180,11 +174,9 @@ func TestNew(t *testing.T) {
mockClient, err := New(opts, mockAPI)
if mockClient == nil {
t.Errorf("New() expected client to not be nil")
t.Fail()
}
if err != nil {
t.Errorf("New() error should be nil %v", err)
t.Fail()
}
mockAPI.AssertNumberOfCalls(t, "Read", 0)
mockAPI.AssertNumberOfCalls(t, "Write", 0)
Expand All @@ -201,7 +193,6 @@ func TestNew(t *testing.T) {
mockClient, err := New(opts, mockAPI)
if mockClient != nil {
t.Errorf("New() expected client to be nil")
t.Fail()
}
if err == nil {
t.Errorf("New() error is nil, expected an error")
Expand All @@ -222,11 +213,9 @@ func TestNew(t *testing.T) {
mockClient, err := New(opts, mockAPI)
if mockClient != nil {
t.Errorf("New() expected client to be nil")
t.Fail()
}
if err == nil {
t.Errorf("New() error is nil, expected an error")
t.Fail()
}
mockAPI.AssertNumberOfCalls(t, "Read", 0)
mockAPI.AssertNumberOfCalls(t, "Write", 0)
Expand All @@ -243,11 +232,9 @@ func TestNew(t *testing.T) {
mockClient, err := New(opts, mockAPI)
if mockClient == nil {
t.Errorf("New() expected client to not be nil")
t.Fail()
}
if err != nil {
t.Errorf("New() error is nil, expected an error")
t.Fail()
}
mockAPI.AssertNumberOfCalls(t, "Read", 0)
mockAPI.AssertNumberOfCalls(t, "Write", 0)
Expand All @@ -264,11 +251,9 @@ func TestNew(t *testing.T) {
mockClient, err := New(opts, mockAPI)
if mockClient != nil {
t.Errorf("New() expected client to be nil")
t.Fail()
}
if err == nil {
t.Errorf("New() error is nil, expected an error")
t.Fail()
}
mockAPI.AssertNumberOfCalls(t, "Read", 0)
mockAPI.AssertNumberOfCalls(t, "Write", 0)
Expand All @@ -284,11 +269,9 @@ func TestNew(t *testing.T) {
mockClient, err := New(opts, mockAPI)
if mockClient != nil {
t.Errorf("New() expected client to be nil")
t.Fail()
}
if err == nil {
t.Errorf("New() error is nil, expected an error")
t.Fail()
}
mockAPI.AssertNumberOfCalls(t, "Read", 0)
mockAPI.AssertNumberOfCalls(t, "Write", 0)
Expand All @@ -305,11 +288,9 @@ func TestNew(t *testing.T) {
mockClient, err := New(opts, nil)
if mockClient != nil {
t.Errorf("New() expected client to be nil")
t.Fail()
}
if err == nil {
t.Errorf("New() error is nil, expected an error")
t.Fail()
}
mockAPI.AssertNumberOfCalls(t, "Read", 0)
mockAPI.AssertNumberOfCalls(t, "Write", 0)
Expand All @@ -326,8 +307,7 @@ func TestClient_CreateBucket(t *testing.T) {
ctx := context.Background()
opts := Option{}
opts = opts.WithPrefix(testGCSPrefix).WithProjectID(testGCSProj).WithLocationID(testGCSLocation).WithServiceAccount("not-empty-gcp-will-validate")

mockAPI.On("CreateBucket", ctx, testGCSBucket).Return(nil)
mockAPI.On("CreateBucket", ctx, fmt.Sprintf("%s-%s", testGCSPrefix, testGCSBucket)).Return(nil) // we need to check if the prefixed name is created

mockClient, err := New(opts, mockAPI)
if err != nil {
Expand All @@ -351,7 +331,6 @@ func TestClient_CreateBucket(t *testing.T) {
mockClient, err := New(opts, mockAPI)
if err != nil {
t.Errorf("failed before running a test")
t.Fail()
}

err = mockClient.CreateBucket(ctx, "")
Expand All @@ -376,7 +355,6 @@ func TestClient_DeleteBucket(t *testing.T) {
mockClient, err := New(opts, mockAPI)
if err != nil {
t.Errorf("failed before running a test")
t.Fail()
}

err = mockClient.DeleteBucket(ctx, testGCSBucket)
Expand All @@ -395,7 +373,6 @@ func TestClient_DeleteBucket(t *testing.T) {
mockClient, err := New(opts, mockAPI)
if err != nil {
t.Errorf("failed before running a test")
t.Fail()
}

err = mockClient.DeleteBucket(ctx, "")
Expand Down

0 comments on commit 4ced6dc

Please sign in to comment.