config_test.go 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package cmd
  2. import (
  3. "encoding/json"
  4. "io/ioutil"
  5. "os"
  6. "testing"
  7. )
  8. func clearConfigFile() {
  9. os.Remove(configPath)
  10. }
  11. func TestConfigSaveConfig(t *testing.T) {
  12. clearConfigFile()
  13. config := Config{
  14. ListenAddr: ":7474",
  15. RemoteAddr: "do.wuhaolin.cn:45234",
  16. Password: "cGfU96a9o/sPM0bJ6xRPJiQCOSmfDF9UYNsAKhsxgfK2HWS1oAvQDXM10fVX5oz8g0Rr5WP2WkMGhupKXS83qDrTVSwJU2kwUT6Z7o90w5SJfpxJFnI9+oCwcZYY2QiIf1YixPMSEd2bs4XHk2IERdfc8RcofF6Hu6+Y6LoB1eyxeJ40dXsaJ1ClCkKEwZWRt8jvBYK0THoDqS4j6eQlYRDYB2w/59btHhydolt5ofBlwFkhOyCOH6zLjeOLxUCnd2hYR63KikGuvOFO3g4TS88rMpBNxjbgzH2Xbs4VSGqqwv8t0s1S+TiSvvQ8pKttXLni32a/2v12mrL+uPhvGQ==",
  17. }
  18. config.SaveConfig()
  19. file, err := os.Open(configPath)
  20. if err != nil {
  21. t.Errorf("打开配置文件 %s 出错:%s", configPath, err)
  22. }
  23. defer file.Close()
  24. tmp := make(map[string]string)
  25. err = json.NewDecoder(file).Decode(&tmp)
  26. if err != nil {
  27. t.Error(err)
  28. }
  29. if tmp["listen"] != ":7474" || tmp["password"] != "cGfU96a9o/sPM0bJ6xRPJiQCOSmfDF9UYNsAKhsxgfK2HWS1oAvQDXM10fVX5oz8g0Rr5WP2WkMGhupKXS83qDrTVSwJU2kwUT6Z7o90w5SJfpxJFnI9+oCwcZYY2QiIf1YixPMSEd2bs4XHk2IERdfc8RcofF6Hu6+Y6LoB1eyxeJ40dXsaJ1ClCkKEwZWRt8jvBYK0THoDqS4j6eQlYRDYB2w/59btHhydolt5ofBlwFkhOyCOH6zLjeOLxUCnd2hYR63KikGuvOFO3g4TS88rMpBNxjbgzH2Xbs4VSGqqwv8t0s1S+TiSvvQ8pKttXLni32a/2v12mrL+uPhvGQ==" || tmp["remote"] != "do.wuhaolin.cn:45234" {
  30. t.Error("数据保存后不一致")
  31. }
  32. }
  33. func TestConfigReadConfig(t *testing.T) {
  34. clearConfigFile()
  35. jsonConfig := []byte(`
  36. {
  37. "listen": ":7474",
  38. "remote": "do.wuhaolin.cn:45234",
  39. "password": "cGfU96a9o/sPM0bJ6xRPJiQCOSmfDF9UYNsAKhsxgfK2HWS1oAvQDXM10fVX5oz8g0Rr5WP2WkMGhupKXS83qDrTVSwJU2kwUT6Z7o90w5SJfpxJFnI9+oCwcZYY2QiIf1YixPMSEd2bs4XHk2IERdfc8RcofF6Hu6+Y6LoB1eyxeJ40dXsaJ1ClCkKEwZWRt8jvBYK0THoDqS4j6eQlYRDYB2w/59btHhydolt5ofBlwFkhOyCOH6zLjeOLxUCnd2hYR63KikGuvOFO3g4TS88rMpBNxjbgzH2Xbs4VSGqqwv8t0s1S+TiSvvQ8pKttXLni32a/2v12mrL+uPhvGQ=="
  40. }`)
  41. err := ioutil.WriteFile(configPath, jsonConfig, 0644)
  42. if err != nil {
  43. t.Error(err)
  44. }
  45. config := Config{}
  46. config.ReadConfig()
  47. if config.ListenAddr != ":7474" || config.RemoteAddr != "do.wuhaolin.cn:45234" || config.Password != "cGfU96a9o/sPM0bJ6xRPJiQCOSmfDF9UYNsAKhsxgfK2HWS1oAvQDXM10fVX5oz8g0Rr5WP2WkMGhupKXS83qDrTVSwJU2kwUT6Z7o90w5SJfpxJFnI9+oCwcZYY2QiIf1YixPMSEd2bs4XHk2IERdfc8RcofF6Hu6+Y6LoB1eyxeJ40dXsaJ1ClCkKEwZWRt8jvBYK0THoDqS4j6eQlYRDYB2w/59btHhydolt5ofBlwFkhOyCOH6zLjeOLxUCnd2hYR63KikGuvOFO3g4TS88rMpBNxjbgzH2Xbs4VSGqqwv8t0s1S+TiSvvQ8pKttXLni32a/2v12mrL+uPhvGQ==" {
  48. t.Error("读取的配置数据不一致")
  49. }
  50. }