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)) }