package main import ( "bytes" "io" "reflect" "testing" ) func TestDefaultValues(t *testing.T) { expected := OptionsConfiguration{ ListenAddress: []string{":22000"}, ReadOnly: false, GUIEnabled: true, GUIAddress: "127.0.0.1:8080", GlobalAnnServer: "announce.syncthing.net:22025", GlobalAnnEnabled: true, LocalAnnEnabled: true, ParallelRequests: 16, MaxSendKbps: 0, RescanIntervalS: 60, ReconnectIntervalS: 60, MaxChangeKbps: 1000, StartBrowser: true, } cfg, err := readConfigXML(bytes.NewReader(nil)) if err != io.EOF { t.Error(err) } if !reflect.DeepEqual(cfg.Options, expected) { t.Errorf("Default config differs;\n E: %#v\n A: %#v", expected, cfg.Options) } } func TestNoListenAddress(t *testing.T) { data := []byte(`
dynamic
`) cfg, err := readConfigXML(bytes.NewReader(data)) if err != nil { t.Error(err) } expected := []string{""} if !reflect.DeepEqual(cfg.Options.ListenAddress, expected) { t.Errorf("Unexpected ListenAddress %#v", cfg.Options.ListenAddress) } } func TestOverriddenValues(t *testing.T) { data := []byte(`
dynamic
:23000 true false false 125.2.2.2:8080 syncthing.nym.se:22025 false false 32 1234 600 6000 2345 false
`) expected := OptionsConfiguration{ ListenAddress: []string{":23000"}, ReadOnly: true, GUIEnabled: false, GUIAddress: "125.2.2.2:8080", GlobalAnnServer: "syncthing.nym.se:22025", GlobalAnnEnabled: false, LocalAnnEnabled: false, ParallelRequests: 32, MaxSendKbps: 1234, RescanIntervalS: 600, ReconnectIntervalS: 6000, MaxChangeKbps: 2345, StartBrowser: false, } cfg, err := readConfigXML(bytes.NewReader(data)) if err != nil { t.Error(err) } if !reflect.DeepEqual(cfg.Options, expected) { t.Errorf("Overridden config differs;\n E: %#v\n A: %#v", expected, cfg.Options) } }