func setup(t *testing.T, cacheSize string) (*config.Wrapper, *bolt.DB, config.FolderConfiguration) { dir, _ := ioutil.TempDir("", "stf-mt") configFile, _ := ioutil.TempFile(dir, "config") deviceID, _ := protocol.DeviceIDFromString("FFR6LPZ-7K4PTTV-UXQSMUU-CPQ5YWH-OEDFIIQ-JUG777G-2YQXXR5-YD6AWQR") realCfg := config.New(deviceID, "local") cfg := config.Wrap(configFile.Name(), realCfg) databasePath := path.Join(path.Dir(cfg.ConfigPath()), "boltdb") database, _ := bolt.Open(databasePath, 0600, nil) folderCfg := config.FolderConfiguration{ ID: folder, CacheSize: cacheSize, } cfg.SetFolder(folderCfg) return cfg, database, folderCfg }
func setup(deviceID protocol.DeviceID, dir string, peers ...protocol.DeviceID) (*config.Wrapper, *bolt.DB, string) { configFile, _ := ioutil.TempFile(dir, "config") realCfg := config.New(deviceID, deviceID.String()[:5]) cfg := config.Wrap(configFile.Name(), realCfg) databasePath := path.Join(path.Dir(cfg.ConfigPath()), "boltdb") database, _ := bolt.Open(databasePath, 0600, nil) folder := "syncthingfusetest" folderCfg := config.FolderConfiguration{ ID: folder, CacheSize: "1MiB", Devices: make([]stconfig.FolderDeviceConfiguration, len(peers)), } for i, peer := range peers { folderCfg.Devices[i] = stconfig.FolderDeviceConfiguration{DeviceID: peer} } cfg.SetFolder(folderCfg) return cfg, database, folder }
func getConfiguration() *config.Wrapper { cfgFile := locations[locConfigFile] // Load the configuration file, if it exists. If it does not, create a template. if info, err := os.Stat(cfgFile); err == nil { if !info.Mode().IsRegular() { l.Fatalln("Config file is not a file?") } cfg, err = config.Load(cfgFile, myID) if err != nil { l.Fatalln("Configuration:", err) } } else { l.Infoln("No config file; starting with empty defaults") myName, _ := os.Hostname() newCfg := defaultConfig(myName) cfg = config.Wrap(cfgFile, newCfg) cfg.Save() l.Infof("Edit %s to taste or use the GUI\n", cfgFile) } return cfg }