-
Notifications
You must be signed in to change notification settings - Fork 60
/
Copy pathconfiguration_test.go
37 lines (30 loc) · 992 Bytes
/
configuration_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package pgconfig
import (
"os"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestReadConfig(t *testing.T) {
controlData := `
restore_command = 'wal-g wal-fetch %f %p'
standby_mode = 'on'
recovery_target_timeline = latest
`
expected := map[string]string{
"restore_command": "wal-g wal-fetch %f %p",
"standby_mode": "on",
"recovery_target_timeline": "latest",
}
f, err := os.CreateTemp("", "readPGConfig*")
require.Nil(t, err)
defer func() { _ = os.Remove(f.Name()) }()
err = os.WriteFile(f.Name(), []byte(controlData), 0644)
require.Nil(t, err)
fileConfig, err := readConfig(f.Name())
require.Nil(t, err)
assert.Equal(t, len(expected), len(fileConfig))
assert.Equal(t, expected["restore_command"], fileConfig["restore_command"])
assert.Equal(t, expected["standby_mode"], fileConfig["standby_mode"])
assert.Equal(t, expected["recovery_target_timeline"], fileConfig["recovery_target_timeline"])
}