Fix global settings propagation
This commit fixes an issue caused by a refactor where setting global or local AWS credentials in a config file fails.
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
package main_test
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"github.com/benbjohnson/litestream"
|
||||
@@ -8,6 +10,37 @@ import (
|
||||
"github.com/benbjohnson/litestream/s3"
|
||||
)
|
||||
|
||||
func TestReadConfigFile(t *testing.T) {
|
||||
// Ensure global AWS settings are propagated down to replica configurations.
|
||||
t.Run("PropagateGlobalSettings", func(t *testing.T) {
|
||||
filename := filepath.Join(t.TempDir(), "litestream.yml")
|
||||
if err := ioutil.WriteFile(filename, []byte(`
|
||||
access-key-id: XXX
|
||||
secret-access-key: YYY
|
||||
|
||||
dbs:
|
||||
- path: /path/to/db
|
||||
replicas:
|
||||
- url: s3://foo/bar
|
||||
`[1:]), 0666); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
config, err := main.ReadConfigFile(filename)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
} else if got, want := config.AccessKeyID, `XXX`; got != want {
|
||||
t.Fatalf("AccessKeyID=%v, want %v", got, want)
|
||||
} else if got, want := config.SecretAccessKey, `YYY`; got != want {
|
||||
t.Fatalf("SecretAccessKey=%v, want %v", got, want)
|
||||
} else if got, want := config.DBs[0].Replicas[0].AccessKeyID, `XXX`; got != want {
|
||||
t.Fatalf("Replica.AccessKeyID=%v, want %v", got, want)
|
||||
} else if got, want := config.DBs[0].Replicas[0].SecretAccessKey, `YYY`; got != want {
|
||||
t.Fatalf("Replica.SecretAccessKey=%v, want %v", got, want)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func TestNewFileReplicaFromConfig(t *testing.T) {
|
||||
r, err := main.NewReplicaFromConfig(&main.ReplicaConfig{Path: "/foo"}, nil)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user