mirror of
https://github.com/zrepl/zrepl.git
synced 2025-06-24 19:51:43 +02:00
fixup: add test for global section
This commit is contained in:
parent
525a875825
commit
0c3a694470
82
config/config_global_test.go
Normal file
82
config/config_global_test.go
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
package config
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
|
"github.com/zrepl/yaml-config"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func testValidGlobalSection(t *testing.T, s string) *Config {
|
||||||
|
jobdef := `
|
||||||
|
jobs:
|
||||||
|
- name: dummyjob
|
||||||
|
type: sink
|
||||||
|
serve:
|
||||||
|
type: tcp
|
||||||
|
listen: ":2342"
|
||||||
|
clients: {
|
||||||
|
"10.0.0.1":"foo"
|
||||||
|
}
|
||||||
|
root_dataset: zoot/foo
|
||||||
|
`
|
||||||
|
_, err := ParseConfigBytes([]byte(jobdef))
|
||||||
|
require.NoError(t, err)
|
||||||
|
return testValidConfig(t, s + jobdef)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestOutletTypes(t *testing.T) {
|
||||||
|
conf := testValidGlobalSection(t, `
|
||||||
|
global:
|
||||||
|
logging:
|
||||||
|
- type: stdout
|
||||||
|
level: debug
|
||||||
|
format: human
|
||||||
|
- type: syslog
|
||||||
|
level: info
|
||||||
|
retry_interval: 20s
|
||||||
|
format: human
|
||||||
|
- type: tcp
|
||||||
|
level: debug
|
||||||
|
format: json
|
||||||
|
address: logserver.example.com:1234
|
||||||
|
- type: tcp
|
||||||
|
level: debug
|
||||||
|
format: json
|
||||||
|
address: encryptedlogserver.example.com:1234
|
||||||
|
retry_interval: 20s
|
||||||
|
tls:
|
||||||
|
ca: /etc/zrepl/log/ca.crt
|
||||||
|
cert: /etc/zrepl/log/key.pem
|
||||||
|
key: /etc/zrepl/log/cert.pem
|
||||||
|
`)
|
||||||
|
assert.Equal(t, 4, len(*conf.Global.Logging))
|
||||||
|
assert.NotNil(t, (*conf.Global.Logging)[3].Ret.(*TCPLoggingOutlet).TLS)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestDefaultLoggingOutlet(t *testing.T) {
|
||||||
|
conf := testValidGlobalSection(t, "")
|
||||||
|
assert.Equal(t, 1, len(*conf.Global.Logging))
|
||||||
|
o := (*conf.Global.Logging)[0].Ret.(StdoutLoggingOutlet)
|
||||||
|
assert.Equal(t, "warn", o.Level)
|
||||||
|
assert.Equal(t, "human", o.Format)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestPrometheusMonitoring(t *testing.T) {
|
||||||
|
conf := testValidGlobalSection(t, `
|
||||||
|
global:
|
||||||
|
monitoring:
|
||||||
|
- type: prometheus
|
||||||
|
listen: ':9091'
|
||||||
|
`)
|
||||||
|
assert.Equal(t, ":9091", conf.Global.Monitoring[0].Ret.(*PrometheusMonitoring).Listen)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestLoggingOutletEnumList_SetDefaults(t *testing.T) {
|
||||||
|
e := &LoggingOutletEnumList{}
|
||||||
|
var i yaml.Defaulter = e
|
||||||
|
require.NotPanics(t, func() {
|
||||||
|
i.SetDefault()
|
||||||
|
assert.Equal(t, "warn", (*e)[0].Ret.(StdoutLoggingOutlet).Level)
|
||||||
|
})
|
||||||
|
}
|
@ -2,12 +2,10 @@ package config
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/kr/pretty"
|
"github.com/kr/pretty"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
"path"
|
"path"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"testing"
|
"testing"
|
||||||
"github.com/stretchr/testify/assert"
|
|
||||||
"github.com/stretchr/testify/require"
|
|
||||||
"github.com/zrepl/yaml-config"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestSampleConfigsAreParsedWithoutErrors(t *testing.T) {
|
func TestSampleConfigsAreParsedWithoutErrors(t *testing.T) {
|
||||||
@ -37,15 +35,6 @@ func TestSampleConfigsAreParsedWithoutErrors(t *testing.T) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestLoggingOutletEnumList_SetDefaults(t *testing.T) {
|
|
||||||
e := &LoggingOutletEnumList{}
|
|
||||||
var i yaml.Defaulter = e
|
|
||||||
require.NotPanics(t, func() {
|
|
||||||
i.SetDefault()
|
|
||||||
assert.Equal(t, "warn", (*e)[0].Ret.(StdoutLoggingOutlet).Level)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
func testValidConfig(t *testing.T, input string) (*Config) {
|
func testValidConfig(t *testing.T, input string) (*Config) {
|
||||||
t.Helper()
|
t.Helper()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user