forked from TrueCloudLab/frostfs-s3-gw
59 lines
1.6 KiB
Go
59 lines
1.6 KiB
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
|
|
"git.frostfs.info/TrueCloudLab/frostfs-s3-gw/api/resolver"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestConfigReload(t *testing.T) {
|
|
f, err := os.CreateTemp("", "conf")
|
|
require.NoError(t, err)
|
|
defer func() {
|
|
require.NoError(t, os.Remove(f.Name()))
|
|
}()
|
|
|
|
confData := `
|
|
pprof:
|
|
enabled: true
|
|
|
|
frostfsid:
|
|
contract: name.nns
|
|
|
|
resolve_order:
|
|
- nns
|
|
`
|
|
|
|
_, err = f.WriteString(confData)
|
|
require.NoError(t, err)
|
|
require.NoError(t, f.Close())
|
|
|
|
cfg := newSettings()
|
|
|
|
require.NoError(t, cfg.flags.Parse([]string{"--config", f.Name(), "--max_clients_count", "10"}))
|
|
require.NoError(t, cfg.reload())
|
|
|
|
require.True(t, cfg.config().GetBool(cfgPProfEnabled))
|
|
require.Equal(t, "name.nns", cfg.config().GetString(cfgFrostfsIDContract))
|
|
require.Equal(t, []string{resolver.NNSResolver}, cfg.config().GetStringSlice(cfgResolveOrder))
|
|
require.Equal(t, 10, cfg.config().GetInt(cfgMaxClientsCount))
|
|
|
|
require.NoError(t, os.Truncate(f.Name(), 0))
|
|
require.NoError(t, cfg.reload())
|
|
|
|
require.False(t, cfg.config().GetBool(cfgPProfEnabled))
|
|
require.Equal(t, "frostfsid.frostfs", cfg.config().GetString(cfgFrostfsIDContract))
|
|
require.Equal(t, []string{resolver.DNSResolver}, cfg.config().GetStringSlice(cfgResolveOrder))
|
|
require.Equal(t, 10, cfg.config().GetInt(cfgMaxClientsCount))
|
|
}
|
|
|
|
func TestSetTLSEnabled(t *testing.T) {
|
|
cfg := newSettings()
|
|
|
|
require.NoError(t, cfg.flags.Parse([]string{"--" + cfgTLSCertFile, "tls.crt", "--" + cfgTLSKeyFile, "tls.key"}))
|
|
require.NoError(t, cfg.reload())
|
|
|
|
require.True(t, cfg.config().GetBool(cfgServer+".0."+cfgTLSEnabled))
|
|
}
|