Save remote setup bindings to disk
This commit is contained in:
+37
-2
@@ -5924,7 +5924,13 @@ func TestUIOpenRemoteSyncSetupDialogPrefillsCurrentVaultSetupFlow(t *testing.T)
|
||||
func TestUISelectedLocalVaultRemoteSyncSummaryMentionsSetup(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
u := newUIWithSession("desktop", &session.Manager{})
|
||||
dir := t.TempDir()
|
||||
u := newUIWithSession("desktop", &session.Manager{}, statePaths{
|
||||
DefaultSaveAsPath: filepath.Join(dir, "vault.kdbx"),
|
||||
RecentVaultsPath: filepath.Join(dir, "recent-vaults.json"),
|
||||
RecentRemotesPath: filepath.Join(dir, "recent-remotes.json"),
|
||||
UIPreferencesPath: filepath.Join(dir, "ui-prefs.json"),
|
||||
})
|
||||
|
||||
if got := u.selectedLocalVaultRemoteSyncSummary("/vaults/family.kdbx"); got != "Open this vault to set up a WebDAV sync target for it." {
|
||||
t.Fatalf("selectedLocalVaultRemoteSyncSummary() = %q, want setup guidance", got)
|
||||
@@ -6003,7 +6009,13 @@ func TestUIRemoteSyncSetupPersistsBindingAfterSuccessfulPush(t *testing.T) {
|
||||
}))
|
||||
defer server.Close()
|
||||
|
||||
u := newUIWithSession("desktop", &session.Manager{})
|
||||
dir := t.TempDir()
|
||||
u := newUIWithSession("desktop", &session.Manager{}, statePaths{
|
||||
DefaultSaveAsPath: filepath.Join(dir, "vault.kdbx"),
|
||||
RecentVaultsPath: filepath.Join(dir, "recent-vaults.json"),
|
||||
RecentRemotesPath: filepath.Join(dir, "recent-remotes.json"),
|
||||
UIPreferencesPath: filepath.Join(dir, "ui-prefs.json"),
|
||||
})
|
||||
u.masterPassword.SetText(key.Password)
|
||||
u.vaultPath.SetText(currentPath)
|
||||
if err := u.openVaultAction(); err != nil {
|
||||
@@ -6038,6 +6050,29 @@ func TestUIRemoteSyncSetupPersistsBindingAfterSuccessfulPush(t *testing.T) {
|
||||
if got := u.recentRemotes[0].LocalVaultPath; got != currentPath {
|
||||
t.Fatalf("recentRemotes[0].LocalVaultPath = %q, want %q", got, currentPath)
|
||||
}
|
||||
|
||||
var reopened session.Manager
|
||||
if err := reopened.Open(currentPath, key); err != nil {
|
||||
t.Fatalf("reopened.Open(currentPath) error = %v", err)
|
||||
}
|
||||
reopenedModel, err := reopened.Current()
|
||||
if err != nil {
|
||||
t.Fatalf("reopened.Current() error = %v", err)
|
||||
}
|
||||
profiles := reopenedModel.RemoteProfiles
|
||||
if len(profiles) != 1 {
|
||||
t.Fatalf("len(reopened.RemoteProfiles) = %d, want 1 persisted profile", len(profiles))
|
||||
}
|
||||
if profiles[0].BaseURL != server.URL || profiles[0].Path != "vaults/other.kdbx" {
|
||||
t.Fatalf("reopened.RemoteProfiles[0] = %#v, want persisted setup target", profiles[0])
|
||||
}
|
||||
cred, err := reopenedModel.EntryByID(u.selectedVaultRemoteCredentialEntryID)
|
||||
if err != nil {
|
||||
t.Fatalf("reopened.EntryByID(saved credential) error = %v", err)
|
||||
}
|
||||
if cred.Username != "tjulian" || cred.Password != "token-1" {
|
||||
t.Fatalf("reopened saved credential = %#v, want tjulian/token-1", cred)
|
||||
}
|
||||
}
|
||||
|
||||
func TestUISaveCurrentRemoteBindingActionPersistsBindingIntoVault(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user