// Configuration helper - called after the user has put in the defaults func configHelper(name string) { // See if already have a token token := fs.ConfigFileGet(name, "token") if token != "" { fmt.Printf("Already have a dropbox token - refresh?\n") if !fs.Confirm() { return } } // Get a dropbox db, err := newDropbox(name) if err != nil { log.Fatalf("Failed to create dropbox client: %v", err) } // This method will ask the user to visit an URL and paste the generated code. if err := db.Auth(); err != nil { log.Fatalf("Failed to authorize: %v", err) } // Get the token token = db.AccessToken() // Stuff it in the config file if it has changed old := fs.ConfigFileGet(name, "token") if token != old { fs.ConfigFileSet(name, "token", token) fs.SaveConfig() } }
// TestInit tests basic intitialisation func TestInit(t *testing.T) { var err error // Never ask for passwords, fail instead. // If your local config is encrypted set environment variable // "RCLONE_CONFIG_PASS=hunter2" (or your password) *fs.AskPassword = false fs.LoadConfig() // Set extra config if supplied for _, item := range ExtraConfig { fs.ConfigFileSet(item.Name, item.Key, item.Value) } fs.Config.Verbose = *verbose fs.Config.Quiet = !*verbose fs.Config.DumpHeaders = *dumpHeaders fs.Config.DumpBodies = *dumpBodies t.Logf("Using remote %q", RemoteName) if RemoteName == "" { RemoteName, err = fstest.LocalRemote() require.NoError(t, err) } subRemoteName, subRemoteLeaf, err = fstest.RandomRemoteName(RemoteName) require.NoError(t, err) remote, err = fs.NewFs(subRemoteName) if err == fs.ErrorNotFoundInConfigFile { t.Logf("Didn't find %q in config file - skipping tests", RemoteName) return } require.NoError(t, err, fmt.Sprintf("unexpected error: %v", err)) fstest.TestMkdir(t, remote) }