diff --git a/appstate/remote_binding_test.go b/appstate/remote_binding_test.go index 36009f2..8a25ba6 100644 --- a/appstate/remote_binding_test.go +++ b/appstate/remote_binding_test.go @@ -24,18 +24,18 @@ func TestRemoteBindingResolveUsesVaultProfileAndCredentialEntry(t *testing.T) { }, RemoteProfiles: []vault.RemoteProfile{ { - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }, }, } binding := RemoteBinding{ - LocalVaultPath: "/tmp/family.kdbx", - RemoteProfileID: "family-webdav", + LocalVaultPath: "/tmp/bellagio.kdbx", + RemoteProfileID: "bellagio-webdav", CredentialEntryID: "linuscaldwell-webdav", SyncMode: SyncModeAutomaticOnOpenSave, } @@ -47,8 +47,8 @@ func TestRemoteBindingResolveUsesVaultProfileAndCredentialEntry(t *testing.T) { if got := resolved.Profile.BaseURL; got != "https://dav.example.invalid/remote.php/dav" { t.Fatalf("resolved profile base URL = %q, want remote.php/dav URL", got) } - if got := resolved.Profile.Path; got != "files/family/keepass.kdbx" { - t.Fatalf("resolved profile path = %q, want files/family/keepass.kdbx", got) + if got := resolved.Profile.Path; got != "files/bellagio/keepass.kdbx" { + t.Fatalf("resolved profile path = %q, want files/bellagio/keepass.kdbx", got) } if got := resolved.Credentials.Username; got != "linuscaldwell" { t.Fatalf("resolved credentials username = %q, want linuscaldwell", got) @@ -68,8 +68,8 @@ func TestRemoteBindingResolveFailsWhenVaultReferenceIsMissing(t *testing.T) { } _, err := (RemoteBinding{ - LocalVaultPath: "/tmp/family.kdbx", - RemoteProfileID: "family-webdav", + LocalVaultPath: "/tmp/bellagio.kdbx", + RemoteProfileID: "bellagio-webdav", CredentialEntryID: "missing-creds", }).Resolve(model) if !errors.Is(err, vault.ErrRemoteProfileNotFound) { @@ -77,16 +77,16 @@ func TestRemoteBindingResolveFailsWhenVaultReferenceIsMissing(t *testing.T) { } model.RemoteProfiles = []vault.RemoteProfile{{ - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }} _, err = (RemoteBinding{ - LocalVaultPath: "/tmp/family.kdbx", - RemoteProfileID: "family-webdav", + LocalVaultPath: "/tmp/bellagio.kdbx", + RemoteProfileID: "bellagio-webdav", CredentialEntryID: "missing-creds", }).Resolve(model) if !errors.Is(err, vault.ErrEntryNotFound) { @@ -98,8 +98,8 @@ func TestRemoteBindingJSONStoresOnlyNonSecretReferences(t *testing.T) { t.Parallel() content, err := json.Marshal(RemoteBinding{ - LocalVaultPath: "/tmp/family.kdbx", - RemoteProfileID: "family-webdav", + LocalVaultPath: "/tmp/bellagio.kdbx", + RemoteProfileID: "bellagio-webdav", CredentialEntryID: "remote-creds-1", SyncMode: SyncModeAutomaticOnOpenSave, }) @@ -121,11 +121,11 @@ func TestConfigureRemoteBindingStoresProfileAndCredentialsInVault(t *testing.T) var model vault.Model binding, err := ConfigureRemoteBinding(&model, RemoteBindingInput{ - LocalVaultPath: "/tmp/family.kdbx", - RemoteProfileID: "family-webdav", - RemoteProfileName: "Family Vault", + LocalVaultPath: "/tmp/bellagio.kdbx", + RemoteProfileID: "bellagio-webdav", + RemoteProfileName: "Bellagio Vault", BaseURL: "https://dav.example.invalid/remote.php/dav", - RemotePath: "files/family/keepass.kdbx", + RemotePath: "files/bellagio/keepass.kdbx", CredentialEntryID: "remote-creds-1", CredentialTitle: "Bellagio WebDAV Sign-In", Username: "linuscaldwell", @@ -155,10 +155,10 @@ func TestConfigureRemoteBindingStoresProfileAndCredentialsInVault(t *testing.T) t.Fatalf("stored credential entry URL = %q, want remote.php/dav URL", credentials.URL) } - if binding.LocalVaultPath != "/tmp/family.kdbx" { - t.Fatalf("binding LocalVaultPath = %q, want /tmp/family.kdbx", binding.LocalVaultPath) + if binding.LocalVaultPath != "/tmp/bellagio.kdbx" { + t.Fatalf("binding LocalVaultPath = %q, want /tmp/bellagio.kdbx", binding.LocalVaultPath) } - if binding.RemoteProfileID != "family-webdav" || binding.CredentialEntryID != "remote-creds-1" { + if binding.RemoteProfileID != "bellagio-webdav" || binding.CredentialEntryID != "remote-creds-1" { t.Fatalf("binding = %#v, want only vault references", binding) } } @@ -173,9 +173,9 @@ func TestConfigureRemoteBindingRejectsIncompleteInput(t *testing.T) { { name: "missing_local_vault_path", input: RemoteBindingInput{ - RemoteProfileID: "family-webdav", + RemoteProfileID: "bellagio-webdav", BaseURL: "https://dav.example.invalid/remote.php/dav", - RemotePath: "files/family/keepass.kdbx", + RemotePath: "files/bellagio/keepass.kdbx", CredentialEntryID: "remote-creds-1", Password: "bellagio-pass-1", }, @@ -183,9 +183,9 @@ func TestConfigureRemoteBindingRejectsIncompleteInput(t *testing.T) { { name: "missing_remote_base_url", input: RemoteBindingInput{ - LocalVaultPath: "/tmp/family.kdbx", - RemoteProfileID: "family-webdav", - RemotePath: "files/family/keepass.kdbx", + LocalVaultPath: "/tmp/bellagio.kdbx", + RemoteProfileID: "bellagio-webdav", + RemotePath: "files/bellagio/keepass.kdbx", CredentialEntryID: "remote-creds-1", Password: "bellagio-pass-1", }, @@ -193,10 +193,10 @@ func TestConfigureRemoteBindingRejectsIncompleteInput(t *testing.T) { { name: "missing_credential_entry_id", input: RemoteBindingInput{ - LocalVaultPath: "/tmp/family.kdbx", - RemoteProfileID: "family-webdav", + LocalVaultPath: "/tmp/bellagio.kdbx", + RemoteProfileID: "bellagio-webdav", BaseURL: "https://dav.example.invalid/remote.php/dav", - RemotePath: "files/family/keepass.kdbx", + RemotePath: "files/bellagio/keepass.kdbx", Password: "bellagio-pass-1", }, }, @@ -224,17 +224,17 @@ func TestRemoveRemoteBindingRemovesProfileAndCredentialsFromVault(t *testing.T) Password: "bellagio-pass-1", }}, RemoteProfiles: []vault.RemoteProfile{{ - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }}, } err := RemoveRemoteBinding(&model, RemoteBinding{ - LocalVaultPath: "/tmp/family.kdbx", - RemoteProfileID: "family-webdav", + LocalVaultPath: "/tmp/bellagio.kdbx", + RemoteProfileID: "bellagio-webdav", CredentialEntryID: "remote-creds-1", }) if err != nil { diff --git a/appstate/state_test.go b/appstate/state_test.go index 3bf8e1c..e57bbcd 100644 --- a/appstate/state_test.go +++ b/appstate/state_test.go @@ -172,18 +172,18 @@ func TestRemoteProfilesReturnsVaultProfiles(t *testing.T) { model: vault.Model{ RemoteProfiles: []vault.RemoteProfile{ { - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }, { ID: "archive-webdav", Name: "Archive Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/archive.kdbx", + Path: "files/bellagio/archive.kdbx", }, }, }, @@ -197,7 +197,7 @@ func TestRemoteProfilesReturnsVaultProfiles(t *testing.T) { if len(got) != 2 { t.Fatalf("len(RemoteProfiles()) = %d, want 2", len(got)) } - if got[0].ID != "archive-webdav" || got[1].ID != "family-webdav" { + if got[0].ID != "archive-webdav" || got[1].ID != "bellagio-webdav" { t.Fatalf("RemoteProfiles() = %#v, want sorted by name/id", got) } } @@ -1045,11 +1045,11 @@ func TestOpenBoundRemoteVaultResolvesClientFromVaultBinding(t *testing.T) { }, RemoteProfiles: []vault.RemoteProfile{ { - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }, }, }, @@ -1062,8 +1062,8 @@ func TestOpenBoundRemoteVaultResolvesClientFromVaultBinding(t *testing.T) { } err := state.OpenBoundRemoteVault(RemoteBinding{ - LocalVaultPath: "/tmp/family.kdbx", - RemoteProfileID: "family-webdav", + LocalVaultPath: "/tmp/bellagio.kdbx", + RemoteProfileID: "bellagio-webdav", CredentialEntryID: "remote-creds-1", SyncMode: SyncModeAutomaticOnOpenSave, }, vault.MasterKey{Password: "correct horse battery staple"}) @@ -1080,8 +1080,8 @@ func TestOpenBoundRemoteVaultResolvesClientFromVaultBinding(t *testing.T) { if got := sess.remoteClient.Password; got != "bellagio-pass-1" { t.Fatalf("remote client password = %q, want bellagio-pass-1", got) } - if got := sess.remotePath; got != "files/family/keepass.kdbx" { - t.Fatalf("remotePath = %q, want files/family/keepass.kdbx", got) + if got := sess.remotePath; got != "files/bellagio/keepass.kdbx" { + t.Fatalf("remotePath = %q, want files/bellagio/keepass.kdbx", got) } if len(state.CurrentPath) != 0 { t.Fatalf("CurrentPath = %v, want empty", state.CurrentPath) @@ -1101,7 +1101,7 @@ func TestOpenBoundRemoteVaultReturnsResolutionErrors(t *testing.T) { state := State{Session: sess} err := state.OpenBoundRemoteVault(RemoteBinding{ - LocalVaultPath: "/tmp/family.kdbx", + LocalVaultPath: "/tmp/bellagio.kdbx", RemoteProfileID: "missing-profile", CredentialEntryID: "remote-creds-1", }, vault.MasterKey{Password: "correct horse battery staple"}) @@ -1117,11 +1117,11 @@ func TestConfigureRemoteBindingPersistsIntoCurrentVaultAndMarksDirty(t *testing. state := State{Session: sess} binding, err := state.ConfigureRemoteBinding(RemoteBindingInput{ - LocalVaultPath: "/tmp/family.kdbx", - RemoteProfileID: "family-webdav", - RemoteProfileName: "Family Vault", + LocalVaultPath: "/tmp/bellagio.kdbx", + RemoteProfileID: "bellagio-webdav", + RemoteProfileName: "Bellagio Vault", BaseURL: "https://dav.example.invalid/remote.php/dav", - RemotePath: "files/family/keepass.kdbx", + RemotePath: "files/bellagio/keepass.kdbx", CredentialEntryID: "remote-creds-1", CredentialTitle: "Bellagio WebDAV Sign-In", Username: "linuscaldwell", @@ -1136,8 +1136,8 @@ func TestConfigureRemoteBindingPersistsIntoCurrentVaultAndMarksDirty(t *testing. if !state.Dirty { t.Fatal("Dirty = false, want true after ConfigureRemoteBinding") } - if got := binding.RemoteProfileID; got != "family-webdav" { - t.Fatalf("binding.RemoteProfileID = %q, want family-webdav", got) + if got := binding.RemoteProfileID; got != "bellagio-webdav" { + t.Fatalf("binding.RemoteProfileID = %q, want bellagio-webdav", got) } if got := len(sess.model.RemoteProfiles); got != 1 { t.Fatalf("len(RemoteProfiles) = %d, want 1", got) @@ -1156,10 +1156,10 @@ func TestConfigureRemoteBindingRequiresMutableSession(t *testing.T) { state := State{Session: stubSession{model: vault.Model{}}} _, err := state.ConfigureRemoteBinding(RemoteBindingInput{ - LocalVaultPath: "/tmp/family.kdbx", - RemoteProfileID: "family-webdav", + LocalVaultPath: "/tmp/bellagio.kdbx", + RemoteProfileID: "bellagio-webdav", BaseURL: "https://dav.example.invalid/remote.php/dav", - RemotePath: "files/family/keepass.kdbx", + RemotePath: "files/bellagio/keepass.kdbx", CredentialEntryID: "remote-creds-1", Password: "bellagio-pass-1", }) @@ -1179,18 +1179,18 @@ func TestRemoveRemoteBindingRemovesVaultDataAndMarksDirty(t *testing.T) { Password: "bellagio-pass-1", }}, RemoteProfiles: []vault.RemoteProfile{{ - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }}, }} state := State{Session: sess} err := state.RemoveRemoteBinding(RemoteBinding{ - LocalVaultPath: "/tmp/family.kdbx", - RemoteProfileID: "family-webdav", + LocalVaultPath: "/tmp/bellagio.kdbx", + RemoteProfileID: "bellagio-webdav", CredentialEntryID: "remote-creds-1", }) if err != nil { diff --git a/main_test.go b/main_test.go index 3137b5f..117a648 100644 --- a/main_test.go +++ b/main_test.go @@ -222,13 +222,13 @@ func TestUICurrentVaultSummary(t *testing.T) { t.Parallel() u := newUIWithSession("phone", summarySession{hasVault: true}) - u.vaultPath.SetText("/vaults/family.kdbx") - u.recentVaultGroups["/vaults/family.kdbx"] = []string{"Root", "Internet"} + u.vaultPath.SetText("/vaults/bellagio.kdbx") + u.recentVaultGroups["/vaults/bellagio.kdbx"] = []string{"Root", "Internet"} got := u.currentVaultSummary() want := vaultSummary{ - Title: "family.kdbx", - Detail: "/vaults/family.kdbx", + Title: "bellagio.kdbx", + Detail: "/vaults/bellagio.kdbx", Context: "Resume in: Root / Internet", } if got != want { @@ -1772,18 +1772,18 @@ func TestUIOpenRemoteActionUsesSelectedVaultBinding(t *testing.T) { Path: []string{"Crew", "Internet"}, }}, RemoteProfiles: []vault.RemoteProfile{{ - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }}, }, } u := newUIWithSession("desktop", sess) u.masterPassword.SetText("correct horse battery staple") - u.selectedVaultRemoteProfileID = "family-webdav" + u.selectedVaultRemoteProfileID = "bellagio-webdav" u.selectedVaultRemoteCredentialEntryID = "remote-creds-1" if err := u.openRemoteAction(); err != nil { @@ -1799,13 +1799,13 @@ func TestUIOpenRemoteActionUsesSelectedVaultBinding(t *testing.T) { if got := sess.remoteClient.Password; got != "bellagio-pass-1" { t.Fatalf("remoteClient.Password = %q, want bellagio-pass-1", got) } - if got := sess.remotePath; got != "files/family/keepass.kdbx" { - t.Fatalf("remotePath = %q, want files/family/keepass.kdbx", got) + if got := sess.remotePath; got != "files/bellagio/keepass.kdbx" { + t.Fatalf("remotePath = %q, want files/bellagio/keepass.kdbx", got) } if got := u.remoteBaseURL.Text(); got != "https://dav.example.invalid/remote.php/dav" { t.Fatalf("remoteBaseURL = %q, want resolved profile base URL", got) } - if got := u.remotePath.Text(); got != "files/family/keepass.kdbx" { + if got := u.remotePath.Text(); got != "files/bellagio/keepass.kdbx" { t.Fatalf("remotePath editor = %q, want resolved profile path", got) } } @@ -1823,18 +1823,18 @@ func TestUIOpenRemoteActionUsesImplicitSingleVaultBinding(t *testing.T) { Path: []string{"Crew", "Internet"}, }}, RemoteProfiles: []vault.RemoteProfile{{ - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }}, }, } u := newUIWithSession("desktop", sess) u.masterPassword.SetText("correct horse battery staple") - u.vaultPath.SetText("/vaults/family.kdbx") + u.vaultPath.SetText("/vaults/bellagio.kdbx") if err := u.openRemoteAction(); err != nil { t.Fatalf("openRemoteAction() error = %v", err) @@ -1849,8 +1849,8 @@ func TestUIOpenRemoteActionUsesImplicitSingleVaultBinding(t *testing.T) { if got := sess.remoteClient.Password; got != "bellagio-pass-1" { t.Fatalf("remoteClient.Password = %q, want bellagio-pass-1", got) } - if got := sess.remotePath; got != "files/family/keepass.kdbx" { - t.Fatalf("remotePath = %q, want files/family/keepass.kdbx", got) + if got := sess.remotePath; got != "files/bellagio/keepass.kdbx" { + t.Fatalf("remotePath = %q, want files/bellagio/keepass.kdbx", got) } } @@ -1858,7 +1858,7 @@ func TestUIOpenRemoteActionBootstrapsFromLocalVaultBinding(t *testing.T) { t.Parallel() key := vault.MasterKey{Password: "correct horse battery staple"} - localPath := filepath.Join(t.TempDir(), "family.kdbx") + localPath := filepath.Join(t.TempDir(), "bellagio.kdbx") remoteModel := vault.Model{ Entries: []vault.Entry{{ @@ -1890,10 +1890,10 @@ func TestUIOpenRemoteActionBootstrapsFromLocalVaultBinding(t *testing.T) { localModel := vault.Model{} if _, err := appstate.ConfigureRemoteBinding(&localModel, appstate.RemoteBindingInput{ LocalVaultPath: localPath, - RemoteProfileID: "family-webdav", - RemoteProfileName: "family.kdbx · dav.example.invalid", + RemoteProfileID: "bellagio-webdav", + RemoteProfileName: "bellagio.kdbx · dav.example.invalid", BaseURL: server.URL, - RemotePath: "files/family/keepass.kdbx", + RemotePath: "files/bellagio/keepass.kdbx", CredentialEntryID: "remote-creds-1", CredentialTitle: "Bellagio WebDAV Sign-In · linuscaldwell", Username: "linuscaldwell", @@ -1909,9 +1909,9 @@ func TestUIOpenRemoteActionBootstrapsFromLocalVaultBinding(t *testing.T) { u.masterPassword.SetText(key.Password) u.applyRecentRemoteRecord(recentRemoteRecord{ BaseURL: server.URL, - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", LocalVaultPath: localPath, - RemoteProfileID: "family-webdav", + RemoteProfileID: "bellagio-webdav", CredentialEntryID: "remote-creds-1", }) @@ -1935,7 +1935,7 @@ func TestUIStartOpenRemoteActionUsesSelectedVaultBinding(t *testing.T) { t.Parallel() localKey := vault.MasterKey{Password: "correct horse battery staple"} - localPath := filepath.Join(t.TempDir(), "family.kdbx") + localPath := filepath.Join(t.TempDir(), "bellagio.kdbx") localModel := vault.Model{ Entries: []vault.Entry{{ ID: "remote-creds-1", @@ -1945,11 +1945,11 @@ func TestUIStartOpenRemoteActionUsesSelectedVaultBinding(t *testing.T) { Path: []string{"Crew", "Internet"}, }}, RemoteProfiles: []vault.RemoteProfile{{ - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }}, } @@ -1987,7 +1987,7 @@ func TestUIStartOpenRemoteActionUsesSelectedVaultBinding(t *testing.T) { u := newUIWithSession("desktop", manager) u.masterPassword.SetText(localKey.Password) u.vaultPath.SetText(localPath) - u.selectedVaultRemoteProfileID = "family-webdav" + u.selectedVaultRemoteProfileID = "bellagio-webdav" u.selectedVaultRemoteCredentialEntryID = "remote-creds-1" u.startOpenRemoteAction() @@ -2001,7 +2001,7 @@ func TestUIStartOpenRemoteActionUsesSelectedVaultBinding(t *testing.T) { if got := u.remoteBaseURL.Text(); got != server.URL { t.Fatalf("remoteBaseURL = %q, want server URL from selected profile", got) } - if got := u.remotePath.Text(); got != "files/family/keepass.kdbx" { + if got := u.remotePath.Text(); got != "files/bellagio/keepass.kdbx" { t.Fatalf("remotePath = %q, want selected profile path", got) } } @@ -2010,7 +2010,7 @@ func TestUIStartOpenRemoteActionUsesImplicitSingleVaultBinding(t *testing.T) { t.Parallel() localKey := vault.MasterKey{Password: "correct horse battery staple"} - localPath := filepath.Join(t.TempDir(), "family.kdbx") + localPath := filepath.Join(t.TempDir(), "bellagio.kdbx") localModel := vault.Model{ Entries: []vault.Entry{{ ID: "remote-creds-1", @@ -2020,11 +2020,11 @@ func TestUIStartOpenRemoteActionUsesImplicitSingleVaultBinding(t *testing.T) { Path: []string{"Crew", "Internet"}, }}, RemoteProfiles: []vault.RemoteProfile{{ - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }}, } @@ -2074,7 +2074,7 @@ func TestUIStartOpenRemoteActionUsesImplicitSingleVaultBinding(t *testing.T) { if got := u.remoteBaseURL.Text(); got != server.URL { t.Fatalf("remoteBaseURL = %q, want server URL from implicit profile", got) } - if got := u.remotePath.Text(); got != "files/family/keepass.kdbx" { + if got := u.remotePath.Text(); got != "files/bellagio/keepass.kdbx" { t.Fatalf("remotePath = %q, want implicit profile path", got) } } @@ -2083,7 +2083,7 @@ func TestUIStartOpenRemoteActionBootstrapsFromLocalVaultBinding(t *testing.T) { t.Parallel() key := vault.MasterKey{Password: "correct horse battery staple"} - localPath := filepath.Join(t.TempDir(), "family.kdbx") + localPath := filepath.Join(t.TempDir(), "bellagio.kdbx") remoteModel := vault.Model{ Entries: []vault.Entry{{ @@ -2115,10 +2115,10 @@ func TestUIStartOpenRemoteActionBootstrapsFromLocalVaultBinding(t *testing.T) { localModel := vault.Model{} if _, err := appstate.ConfigureRemoteBinding(&localModel, appstate.RemoteBindingInput{ LocalVaultPath: localPath, - RemoteProfileID: "family-webdav", - RemoteProfileName: "family.kdbx · dav.example.invalid", + RemoteProfileID: "bellagio-webdav", + RemoteProfileName: "bellagio.kdbx · dav.example.invalid", BaseURL: server.URL, - RemotePath: "files/family/keepass.kdbx", + RemotePath: "files/bellagio/keepass.kdbx", CredentialEntryID: "remote-creds-1", CredentialTitle: "Bellagio WebDAV Sign-In · linuscaldwell", Username: "linuscaldwell", @@ -2135,9 +2135,9 @@ func TestUIStartOpenRemoteActionBootstrapsFromLocalVaultBinding(t *testing.T) { u.masterPassword.SetText(key.Password) u.applyRecentRemoteRecord(recentRemoteRecord{ BaseURL: server.URL, - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", LocalVaultPath: localPath, - RemoteProfileID: "family-webdav", + RemoteProfileID: "bellagio-webdav", CredentialEntryID: "remote-creds-1", }) @@ -2169,7 +2169,7 @@ func TestUIOpenVaultActionSelectsSoleSavedRemoteBinding(t *testing.T) { t.Parallel() key := vault.MasterKey{Password: "correct horse battery staple"} - path := filepath.Join(t.TempDir(), "family.kdbx") + path := filepath.Join(t.TempDir(), "bellagio.kdbx") model := vault.Model{ Entries: []vault.Entry{{ ID: "remote-creds-1", @@ -2179,11 +2179,11 @@ func TestUIOpenVaultActionSelectsSoleSavedRemoteBinding(t *testing.T) { Path: []string{"Crew", "Internet"}, }}, RemoteProfiles: []vault.RemoteProfile{{ - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }}, } writeKDBXMainTestFile(t, path, model, key) @@ -2196,9 +2196,9 @@ func TestUIOpenVaultActionSelectsSoleSavedRemoteBinding(t *testing.T) { }) u.recentRemotes = []recentRemoteRecord{{ BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", LocalVaultPath: path, - RemoteProfileID: "family-webdav", + RemoteProfileID: "bellagio-webdav", CredentialEntryID: "remote-creds-1", SyncMode: string(appstate.SyncModeManual), }} @@ -2213,8 +2213,8 @@ func TestUIOpenVaultActionSelectsSoleSavedRemoteBinding(t *testing.T) { t.Fatalf("openVaultAction() error = %v", err) } - if got := u.selectedVaultRemoteProfileID; got != "family-webdav" { - t.Fatalf("selectedVaultRemoteProfileID = %q, want family-webdav", got) + if got := u.selectedVaultRemoteProfileID; got != "bellagio-webdav" { + t.Fatalf("selectedVaultRemoteProfileID = %q, want bellagio-webdav", got) } if got := u.selectedVaultRemoteCredentialEntryID; got != "remote-creds-1" { t.Fatalf("selectedVaultRemoteCredentialEntryID = %q, want remote-creds-1", got) @@ -2222,7 +2222,7 @@ func TestUIOpenVaultActionSelectsSoleSavedRemoteBinding(t *testing.T) { if got := u.remoteBaseURL.Text(); got != "https://dav.example.invalid/remote.php/dav" { t.Fatalf("remoteBaseURL = %q, want resolved profile base URL", got) } - if got := u.remotePath.Text(); got != "files/family/keepass.kdbx" { + if got := u.remotePath.Text(); got != "files/bellagio/keepass.kdbx" { t.Fatalf("remotePath = %q, want resolved profile path", got) } if got := u.selectedVaultRemoteSyncMode; got != appstate.SyncModeManual { @@ -2234,7 +2234,7 @@ func TestUIStartOpenVaultActionSelectsSoleSavedRemoteBinding(t *testing.T) { t.Parallel() key := vault.MasterKey{Password: "correct horse battery staple"} - path := filepath.Join(t.TempDir(), "family.kdbx") + path := filepath.Join(t.TempDir(), "bellagio.kdbx") model := vault.Model{ Entries: []vault.Entry{{ ID: "remote-creds-1", @@ -2244,11 +2244,11 @@ func TestUIStartOpenVaultActionSelectsSoleSavedRemoteBinding(t *testing.T) { Path: []string{"Crew", "Internet"}, }}, RemoteProfiles: []vault.RemoteProfile{{ - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }}, } writeKDBXMainTestFile(t, path, model, key) @@ -2274,8 +2274,8 @@ func TestUIStartOpenVaultActionSelectsSoleSavedRemoteBinding(t *testing.T) { if got := u.state.ErrorMessage; got != "" { t.Fatalf("ErrorMessage after apply = %q, want empty", got) } - if got := u.selectedVaultRemoteProfileID; got != "family-webdav" { - t.Fatalf("selectedVaultRemoteProfileID = %q, want family-webdav", got) + if got := u.selectedVaultRemoteProfileID; got != "bellagio-webdav" { + t.Fatalf("selectedVaultRemoteProfileID = %q, want bellagio-webdav", got) } if got := u.selectedVaultRemoteCredentialEntryID; got != "remote-creds-1" { t.Fatalf("selectedVaultRemoteCredentialEntryID = %q, want remote-creds-1", got) @@ -2283,7 +2283,7 @@ func TestUIStartOpenVaultActionSelectsSoleSavedRemoteBinding(t *testing.T) { if got := u.remoteBaseURL.Text(); got != "https://dav.example.invalid/remote.php/dav" { t.Fatalf("remoteBaseURL = %q, want resolved profile base URL", got) } - if got := u.remotePath.Text(); got != "files/family/keepass.kdbx" { + if got := u.remotePath.Text(); got != "files/bellagio/keepass.kdbx" { t.Fatalf("remotePath = %q, want resolved profile path", got) } } @@ -2292,7 +2292,7 @@ func TestUIOpenVaultActionAutomaticallySynchronizesFromRemoteBinding(t *testing. t.Parallel() key := vault.MasterKey{Password: "correct horse battery staple"} - path := filepath.Join(t.TempDir(), "family.kdbx") + path := filepath.Join(t.TempDir(), "bellagio.kdbx") localModel := vault.Model{ Entries: []vault.Entry{{ ID: "remote-creds-1", @@ -2302,11 +2302,11 @@ func TestUIOpenVaultActionAutomaticallySynchronizesFromRemoteBinding(t *testing. Path: []string{"Crew", "Internet"}, }}, RemoteProfiles: []vault.RemoteProfile{{ - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://stale.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }}, } writeKDBXMainTestFile(t, path, localModel, key) @@ -2341,9 +2341,9 @@ func TestUIOpenVaultActionAutomaticallySynchronizesFromRemoteBinding(t *testing. }) u.recentRemotes = []recentRemoteRecord{{ BaseURL: server.URL, - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", LocalVaultPath: path, - RemoteProfileID: "family-webdav", + RemoteProfileID: "bellagio-webdav", CredentialEntryID: "remote-creds-1", SyncMode: string(appstate.SyncModeAutomaticOnOpenSave), }} @@ -2370,18 +2370,18 @@ func TestUIOpenVaultActionKeepsLocalVaultOpenWhenAutoSyncFails(t *testing.T) { t.Parallel() key := vault.MasterKey{Password: "correct horse battery staple"} - path := filepath.Join(t.TempDir(), "family.kdbx") + path := filepath.Join(t.TempDir(), "bellagio.kdbx") localModel := vault.Model{ Entries: []vault.Entry{ {ID: "entry-1", Title: "Local Cache", Path: []string{"Root", "Internet"}}, {ID: "remote-creds-1", Title: "Bellagio WebDAV Sign-In", Username: "linuscaldwell", Password: "bellagio-pass-1", Path: []string{"Crew", "Internet"}}, }, RemoteProfiles: []vault.RemoteProfile{{ - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://unreachable.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }}, } writeKDBXMainTestFile(t, path, localModel, key) @@ -2394,9 +2394,9 @@ func TestUIOpenVaultActionKeepsLocalVaultOpenWhenAutoSyncFails(t *testing.T) { }) u.recentRemotes = []recentRemoteRecord{{ BaseURL: "https://unreachable.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", LocalVaultPath: path, - RemoteProfileID: "family-webdav", + RemoteProfileID: "bellagio-webdav", CredentialEntryID: "remote-creds-1", SyncMode: string(appstate.SyncModeAutomaticOnOpenSave), }} @@ -2426,7 +2426,7 @@ func TestUISaveActionAutomaticallySynchronizesToRemoteBinding(t *testing.T) { t.Parallel() key := vault.MasterKey{Password: "correct horse battery staple"} - path := filepath.Join(t.TempDir(), "family.kdbx") + path := filepath.Join(t.TempDir(), "bellagio.kdbx") localModel := vault.Model{ Entries: []vault.Entry{{ ID: "remote-creds-1", @@ -2436,11 +2436,11 @@ func TestUISaveActionAutomaticallySynchronizesToRemoteBinding(t *testing.T) { Path: []string{"Crew", "Internet"}, }}, RemoteProfiles: []vault.RemoteProfile{{ - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://stale.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }}, } writeKDBXMainTestFile(t, path, localModel, key) @@ -2487,9 +2487,9 @@ func TestUISaveActionAutomaticallySynchronizesToRemoteBinding(t *testing.T) { }) u.recentRemotes = []recentRemoteRecord{{ BaseURL: server.URL, - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", LocalVaultPath: path, - RemoteProfileID: "family-webdav", + RemoteProfileID: "bellagio-webdav", CredentialEntryID: "remote-creds-1", SyncMode: string(appstate.SyncModeAutomaticOnOpenSave), }} @@ -2523,7 +2523,7 @@ func TestPickExistingFileOutputExtractsPathFromPortalNoise(t *testing.T) { output := strings.Join([]string{ "(zenity:1): Gdk-DEBUG: Ignoring portal setting", - "/home/tester/vaults/family.kdbx", + "/home/tester/vaults/bellagio.kdbx", "", }, "\n") @@ -2531,8 +2531,8 @@ func TestPickExistingFileOutputExtractsPathFromPortalNoise(t *testing.T) { if err != nil { t.Fatalf("parsePickedFilePath() error = %v", err) } - if got != "/home/tester/vaults/family.kdbx" { - t.Fatalf("parsePickedFilePath() = %q, want /home/tester/vaults/family.kdbx", got) + if got != "/home/tester/vaults/bellagio.kdbx" { + t.Fatalf("parsePickedFilePath() = %q, want /home/tester/vaults/bellagio.kdbx", got) } } @@ -4164,9 +4164,9 @@ func TestUIBannerActionLabelsExposeCancelAndRetryForLifecycleOpen(t *testing.T) func TestCompactPathDirectorySummaryCollapsesLongPaths(t *testing.T) { t.Parallel() - got := compactPathDirectorySummary("/home/julian/vaults/family/main.kdbx") - if got != "home/.../family" { - t.Fatalf("compactPathDirectorySummary() = %q, want %q", got, "home/.../family") + got := compactPathDirectorySummary("/home/julian/vaults/bellagio/main.kdbx") + if got != "home/.../bellagio" { + t.Fatalf("compactPathDirectorySummary() = %q, want %q", got, "home/.../bellagio") } short := compactPathDirectorySummary("/tmp/main.kdbx") @@ -4772,7 +4772,7 @@ func TestUIRecentRemoteConnectionsPersistVaultBindingMetadata(t *testing.T) { first.recentRemotesPath = configPath first.recentRemotes = nil first.currentPath = []string{"Root", "Internet"} - first.vaultPath.SetText("/vaults/family.kdbx") + first.vaultPath.SetText("/vaults/bellagio.kdbx") first.selectedVaultRemoteProfileID = "remote-profile-1" first.selectedVaultRemoteCredentialEntryID = "remote-creds-1" first.selectedVaultRemoteSyncMode = appstate.SyncModeAutomaticOnOpenSave @@ -4787,8 +4787,8 @@ func TestUIRecentRemoteConnectionsPersistVaultBindingMetadata(t *testing.T) { t.Fatalf("len(recentRemotes) = %d, want 1", got) } record := second.recentRemotes[0] - if record.LocalVaultPath != "/vaults/family.kdbx" { - t.Fatalf("recentRemotes[0].LocalVaultPath = %q, want /vaults/family.kdbx", record.LocalVaultPath) + if record.LocalVaultPath != "/vaults/bellagio.kdbx" { + t.Fatalf("recentRemotes[0].LocalVaultPath = %q, want /vaults/bellagio.kdbx", record.LocalVaultPath) } if record.RemoteProfileID != "remote-profile-1" { t.Fatalf("recentRemotes[0].RemoteProfileID = %q, want remote-profile-1", record.RemoteProfileID) @@ -4877,14 +4877,14 @@ func TestUIApplyRecentRemoteRecordRestoresVaultBindingSelection(t *testing.T) { u.applyRecentRemoteRecord(recentRemoteRecord{ BaseURL: "https://dav.example.com", Path: "vaults/home.kdbx", - LocalVaultPath: "/vaults/family.kdbx", + LocalVaultPath: "/vaults/bellagio.kdbx", RemoteProfileID: "remote-profile-1", CredentialEntryID: "remote-creds-1", SyncMode: string(appstate.SyncModeAutomaticOnOpenSave), }) - if got := u.vaultPath.Text(); got != "/vaults/family.kdbx" { - t.Fatalf("vaultPath = %q, want /vaults/family.kdbx", got) + if got := u.vaultPath.Text(); got != "/vaults/bellagio.kdbx" { + t.Fatalf("vaultPath = %q, want /vaults/bellagio.kdbx", got) } if got := u.selectedVaultRemoteProfileID; got != "remote-profile-1" { t.Fatalf("selectedVaultRemoteProfileID = %q, want remote-profile-1", got) @@ -5429,8 +5429,8 @@ func TestRestoreStartupLifecycleTargetUsesLocalCacheFromRecentRemote(t *testing. u.recentVaultUsedAt["/tmp/older.kdbx"] = time.Date(2026, time.April, 5, 1, 2, 3, 0, time.UTC) u.recentRemotes = []recentRemoteRecord{{ BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", - LocalVaultPath: "/tmp/family-cache.kdbx", + Path: "files/bellagio/keepass.kdbx", + LocalVaultPath: "/tmp/bellagio-cache.kdbx", UsedAt: time.Date(2026, time.April, 5, 2, 2, 3, 0, time.UTC).Format(time.RFC3339Nano), }} @@ -5439,8 +5439,8 @@ func TestRestoreStartupLifecycleTargetUsesLocalCacheFromRecentRemote(t *testing. if got := u.lifecycleMode; got != "local" { t.Fatalf("lifecycleMode after restore = %q, want local", got) } - if got := u.vaultPath.Text(); got != "/tmp/family-cache.kdbx" { - t.Fatalf("vaultPath after restore = %q, want /tmp/family-cache.kdbx", got) + if got := u.vaultPath.Text(); got != "/tmp/bellagio-cache.kdbx" { + t.Fatalf("vaultPath after restore = %q, want /tmp/bellagio-cache.kdbx", got) } } @@ -5532,18 +5532,18 @@ func TestUIAvailableRemoteProfilesUsesVaultProfiles(t *testing.T) { u := newUIWithModel("desktop", vault.Model{ RemoteProfiles: []vault.RemoteProfile{ { - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }, { ID: "archive-webdav", Name: "Archive Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/archive.kdbx", + Path: "files/bellagio/archive.kdbx", }, }, }) @@ -5552,7 +5552,7 @@ func TestUIAvailableRemoteProfilesUsesVaultProfiles(t *testing.T) { if len(got) != 2 { t.Fatalf("len(availableRemoteProfiles()) = %d, want 2", len(got)) } - if got[0].ID != "archive-webdav" || got[1].ID != "family-webdav" { + if got[0].ID != "archive-webdav" || got[1].ID != "bellagio-webdav" { t.Fatalf("availableRemoteProfiles() = %#v, want profiles sorted by name/id", got) } } @@ -5590,23 +5590,23 @@ func TestUISelectVaultRemoteProfileUpdatesSelectionAndTargetFields(t *testing.T) u := newUIWithModel("desktop", vault.Model{ RemoteProfiles: []vault.RemoteProfile{{ - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }}, }) - u.selectVaultRemoteProfile("family-webdav") + u.selectVaultRemoteProfile("bellagio-webdav") - if got := u.selectedVaultRemoteProfileID; got != "family-webdav" { - t.Fatalf("selectedVaultRemoteProfileID = %q, want family-webdav", got) + if got := u.selectedVaultRemoteProfileID; got != "bellagio-webdav" { + t.Fatalf("selectedVaultRemoteProfileID = %q, want bellagio-webdav", got) } if got := u.remoteBaseURL.Text(); got != "https://dav.example.invalid/remote.php/dav" { t.Fatalf("remoteBaseURL = %q, want resolved profile base URL", got) } - if got := u.remotePath.Text(); got != "files/family/keepass.kdbx" { + if got := u.remotePath.Text(); got != "files/bellagio/keepass.kdbx" { t.Fatalf("remotePath = %q, want resolved profile path", got) } } @@ -5660,11 +5660,11 @@ func TestUIShouldHideSavedRemoteBindingSelectorsForSingleChoice(t *testing.T) { Path: []string{"Crew", "Internet"}, }}, RemoteProfiles: []vault.RemoteProfile{{ - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }}, }) @@ -5684,11 +5684,11 @@ func TestUISavedRemoteBindingSummaryUsesImplicitSingleChoice(t *testing.T) { Path: []string{"Crew", "Internet"}, }}, RemoteProfiles: []vault.RemoteProfile{{ - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }}, }) @@ -5696,8 +5696,8 @@ func TestUISavedRemoteBindingSummaryUsesImplicitSingleChoice(t *testing.T) { if !ok { t.Fatal("savedRemoteBindingSummary() ok = false, want true") } - if profileLabel != "Family Vault" { - t.Fatalf("profileLabel = %q, want Family Vault", profileLabel) + if profileLabel != "Bellagio Vault" { + t.Fatalf("profileLabel = %q, want Bellagio Vault", profileLabel) } if credentialLabel != "Bellagio WebDAV Sign-In · linuscaldwell" { t.Fatalf("credentialLabel = %q, want Bellagio WebDAV Sign-In · linuscaldwell", credentialLabel) @@ -5718,11 +5718,11 @@ func TestUISavedRemoteBindingSummaryMentionsAutomaticSyncMode(t *testing.T) { Path: []string{"Crew", "Internet"}, }}, RemoteProfiles: []vault.RemoteProfile{{ - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }}, }) u.selectedVaultRemoteSyncMode = appstate.SyncModeAutomaticOnOpenSave @@ -5747,11 +5747,11 @@ func TestUISavedRemoteBindingHeadingUsesSyncLanguageForSingleChoice(t *testing.T Path: []string{"Crew", "Internet"}, }}, RemoteProfiles: []vault.RemoteProfile{{ - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }}, }) @@ -5771,11 +5771,11 @@ func TestUIOpenSelectedVaultRemoteButtonLabelUsesSyncLanguageForSingleChoice(t * Path: []string{"Crew", "Internet"}, }}, RemoteProfiles: []vault.RemoteProfile{{ - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }}, }) @@ -5814,11 +5814,11 @@ func TestUIShouldShowDirectRemoteSyncShortcutForSavedBinding(t *testing.T) { Path: []string{"Crew", "Internet"}, }}, RemoteProfiles: []vault.RemoteProfile{{ - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }}, }) u.state.Section = appstate.SectionEntries @@ -5844,11 +5844,11 @@ func TestUIRemoteSyncShortcutsHaveParityAcrossModes(t *testing.T) { Path: []string{"Crew", "Internet"}, }}, RemoteProfiles: []vault.RemoteProfile{{ - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }}, }) u.state.Section = appstate.SectionEntries @@ -5964,11 +5964,11 @@ func TestUIShouldHideRemoteSyncSetupShortcutWhenSavedBindingExists(t *testing.T) Path: []string{"Crew", "Internet"}, }}, RemoteProfiles: []vault.RemoteProfile{{ - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }}, }) u.state.Section = appstate.SectionEntries @@ -5992,7 +5992,7 @@ func TestUILifecycleRemoteSyncActionLabelUsesSetupLanguageWithoutSavedBinding(t t.Parallel() u := newUIWithSession("desktop", &session.Manager{}) - u.vaultPath.SetText("/vaults/family.kdbx") + u.vaultPath.SetText("/vaults/bellagio.kdbx") if !u.shouldShowLifecycleRemoteSyncAction() { t.Fatal("shouldShowLifecycleRemoteSyncAction() = false, want true with a selected vault") @@ -6012,12 +6012,12 @@ func TestUILifecycleRemoteSyncActionLabelUsesSettingsLanguageWithSavedBinding(t RecentRemotesPath: filepath.Join(dir, "recent-remotes.json"), UIPreferencesPath: filepath.Join(dir, "ui-prefs.json"), }) - u.vaultPath.SetText("/vaults/family.kdbx") + u.vaultPath.SetText("/vaults/bellagio.kdbx") u.recentRemotes = []recentRemoteRecord{{ BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", - LocalVaultPath: "/vaults/family.kdbx", - RemoteProfileID: "family-webdav", + Path: "files/bellagio/keepass.kdbx", + LocalVaultPath: "/vaults/bellagio.kdbx", + RemoteProfileID: "bellagio-webdav", CredentialEntryID: "remote-creds-1", SyncMode: string(appstate.SyncModeManual), }} @@ -6038,11 +6038,11 @@ func TestUIShouldShowRemoteSyncSettingsShortcutForSavedBinding(t *testing.T) { Path: []string{"Crew", "Internet"}, }}, RemoteProfiles: []vault.RemoteProfile{{ - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }}, }) u.state.Section = appstate.SectionEntries @@ -6073,11 +6073,11 @@ func TestUIShouldShowRemoveRemoteSyncShortcutForSavedBinding(t *testing.T) { Path: []string{"Crew", "Internet"}, }}, RemoteProfiles: []vault.RemoteProfile{{ - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }}, }) u.state.Section = appstate.SectionEntries @@ -6109,14 +6109,14 @@ func TestUIOpenRemoteSyncSetupDialogPrefillsCurrentVaultSetupFlow(t *testing.T) Path: []string{"Crew", "Internet"}, }}, RemoteProfiles: []vault.RemoteProfile{{ - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }}, }) - u.vaultPath.SetText("/vaults/family.kdbx") + u.vaultPath.SetText("/vaults/bellagio.kdbx") u.openRemoteSyncSetupDialog() @@ -6132,13 +6132,13 @@ func TestUIOpenRemoteSyncSetupDialogPrefillsCurrentVaultSetupFlow(t *testing.T) if got := u.syncDirection; got != syncDirectionPush { t.Fatalf("syncDirection = %q, want push", got) } - if got := u.syncLocalPath.Text(); got != "/vaults/family.kdbx" { + if got := u.syncLocalPath.Text(); got != "/vaults/bellagio.kdbx" { t.Fatalf("syncLocalPath = %q, want current vault path", got) } if got := u.syncRemoteBaseURL.Text(); got != "https://dav.example.invalid/remote.php/dav" { t.Fatalf("syncRemoteBaseURL = %q, want saved remote base URL", got) } - if got := u.syncRemotePath.Text(); got != "files/family/keepass.kdbx" { + if got := u.syncRemotePath.Text(); got != "files/bellagio/keepass.kdbx" { t.Fatalf("syncRemotePath = %q, want saved remote path", got) } if got := u.syncRemoteUsername.Text(); got != "linuscaldwell" { @@ -6153,7 +6153,7 @@ func TestUILifecycleRemoteSyncActionOpensSetupAfterVaultOpen(t *testing.T) { t.Parallel() key := vault.MasterKey{Password: "correct horse battery staple"} - path := filepath.Join(t.TempDir(), "family.kdbx") + path := filepath.Join(t.TempDir(), "bellagio.kdbx") writeKDBXMainTestFile(t, path, vault.Model{ Entries: []vault.Entry{{ ID: "vault-console", @@ -6186,7 +6186,7 @@ func TestUILifecycleRemoteSyncActionOpensSettingsAfterVaultOpen(t *testing.T) { t.Parallel() key := vault.MasterKey{Password: "correct horse battery staple"} - path := filepath.Join(t.TempDir(), "family.kdbx") + path := filepath.Join(t.TempDir(), "bellagio.kdbx") writeKDBXMainTestFile(t, path, vault.Model{ Entries: []vault.Entry{ { @@ -6207,11 +6207,11 @@ func TestUILifecycleRemoteSyncActionOpensSettingsAfterVaultOpen(t *testing.T) { }, }, RemoteProfiles: []vault.RemoteProfile{{ - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }}, }, key) @@ -6226,9 +6226,9 @@ func TestUILifecycleRemoteSyncActionOpensSettingsAfterVaultOpen(t *testing.T) { u.vaultPath.SetText(path) u.recentRemotes = []recentRemoteRecord{{ BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", LocalVaultPath: path, - RemoteProfileID: "family-webdav", + RemoteProfileID: "bellagio-webdav", CredentialEntryID: "remote-creds-1", SyncMode: string(appstate.SyncModeManual), }} @@ -6257,7 +6257,7 @@ func TestUISelectedLocalVaultRemoteSyncSummaryMentionsSetup(t *testing.T) { 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." { + if got := u.selectedLocalVaultRemoteSyncSummary("/vaults/bellagio.kdbx"); got != "Open this vault to set up a WebDAV sync target for it." { t.Fatalf("selectedLocalVaultRemoteSyncSummary() = %q, want setup guidance", got) } } @@ -6274,14 +6274,14 @@ func TestUISelectedLocalVaultRemoteSyncSummaryMentionsAutomaticSync(t *testing.T }) u.recentRemotes = []recentRemoteRecord{{ BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", - LocalVaultPath: "/vaults/family.kdbx", - RemoteProfileID: "family-webdav", + Path: "files/bellagio/keepass.kdbx", + LocalVaultPath: "/vaults/bellagio.kdbx", + RemoteProfileID: "bellagio-webdav", CredentialEntryID: "remote-creds-1", SyncMode: string(appstate.SyncModeAutomaticOnOpenSave), }} - if got := u.selectedLocalVaultRemoteSyncSummary("/vaults/family.kdbx"); got != "Saved remote sync target: keepass.kdbx · dav.example.invalid · Syncs automatically on open and save." { + if got := u.selectedLocalVaultRemoteSyncSummary("/vaults/bellagio.kdbx"); got != "Saved remote sync target: keepass.kdbx · dav.example.invalid · Syncs automatically on open and save." { t.Fatalf("selectedLocalVaultRemoteSyncSummary() = %q, want automatic sync guidance", got) } } @@ -6298,14 +6298,14 @@ func TestUISelectedLocalVaultRemoteSyncSummaryMentionsManualSync(t *testing.T) { }) u.recentRemotes = []recentRemoteRecord{{ BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", - LocalVaultPath: "/vaults/family.kdbx", - RemoteProfileID: "family-webdav", + Path: "files/bellagio/keepass.kdbx", + LocalVaultPath: "/vaults/bellagio.kdbx", + RemoteProfileID: "bellagio-webdav", CredentialEntryID: "remote-creds-1", SyncMode: string(appstate.SyncModeManual), }} - if got := u.selectedLocalVaultRemoteSyncSummary("/vaults/family.kdbx"); got != "Saved remote sync target: keepass.kdbx · dav.example.invalid · Sync manually when you choose Use Remote Sync." { + if got := u.selectedLocalVaultRemoteSyncSummary("/vaults/bellagio.kdbx"); got != "Saved remote sync target: keepass.kdbx · dav.example.invalid · Sync manually when you choose Use Remote Sync." { t.Fatalf("selectedLocalVaultRemoteSyncSummary() = %q, want manual sync guidance", got) } } @@ -6352,20 +6352,20 @@ func TestUISyncDialogUsesRemoteSettingsCopyForExistingBinding(t *testing.T) { Path: []string{"Crew", "Internet"}, }}, RemoteProfiles: []vault.RemoteProfile{{ - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }}, }) u.state.Section = appstate.SectionEntries - u.vaultPath.SetText("/vaults/family.kdbx") + u.vaultPath.SetText("/vaults/bellagio.kdbx") u.recentRemotes = []recentRemoteRecord{{ BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", - LocalVaultPath: "/vaults/family.kdbx", - RemoteProfileID: "family-webdav", + Path: "files/bellagio/keepass.kdbx", + LocalVaultPath: "/vaults/bellagio.kdbx", + RemoteProfileID: "bellagio-webdav", CredentialEntryID: "remote-creds-1", SyncMode: string(appstate.SyncModeManual), }} @@ -6584,11 +6584,11 @@ func TestUIRemoveSelectedRemoteBindingActionClearsVaultBindingAndRecentRefs(t *t Path: []string{"Crew", "Internet"}, }}, RemoteProfiles: []vault.RemoteProfile{{ - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }}, }, key) @@ -6603,9 +6603,9 @@ func TestUIRemoveSelectedRemoteBindingActionClearsVaultBindingAndRecentRefs(t *t u.vaultPath.SetText(currentPath) u.recentRemotes = []recentRemoteRecord{{ BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", LocalVaultPath: currentPath, - RemoteProfileID: "family-webdav", + RemoteProfileID: "bellagio-webdav", CredentialEntryID: "remote-creds-1", SyncMode: string(appstate.SyncModeAutomaticOnOpenSave), }} @@ -6664,9 +6664,9 @@ func TestUISaveCurrentRemoteBindingActionPersistsBindingIntoVault(t *testing.T) u := newUIWithModel("desktop", vault.Model{}) u.currentPath = []string{"Crew", "Internet"} - u.vaultPath.SetText("/tmp/family.kdbx") + u.vaultPath.SetText("/tmp/bellagio.kdbx") u.remoteBaseURL.SetText("https://dav.example.invalid/remote.php/dav") - u.remotePath.SetText("files/family/keepass.kdbx") + u.remotePath.SetText("files/bellagio/keepass.kdbx") u.remoteUsername.SetText("linuscaldwell") u.remotePassword.SetText("bellagio-pass-1") @@ -6735,18 +6735,18 @@ func TestUIAdvancedSyncMatchingRemoteCredentialEntriesUsesBaseURL(t *testing.T) func TestUIAdvancedSyncMatchingRemoteCredentialEntriesUsesSavedBindingForCurrentVault(t *testing.T) { t.Parallel() - localVaultPath := filepath.Join(t.TempDir(), "family.kdbx") + localVaultPath := filepath.Join(t.TempDir(), "bellagio.kdbx") u := newUIWithState("desktop", &uiSession{model: vault.Model{ Entries: []vault.Entry{ {ID: "remote-creds-1", Title: "Bellagio WebDAV Sign-In", Username: "linuscaldwell", Path: []string{"Crew", "Internet"}}, {ID: "entry-2", Title: "Vault Console", Username: "dannyocean", URL: "https://vault.crew.example.invalid", Path: []string{"Crew", "Internet"}}, }, RemoteProfiles: []vault.RemoteProfile{{ - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: vault.RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }}, }}, statePaths{ DefaultSaveAsPath: filepath.Join(t.TempDir(), "default.kdbx"), @@ -6757,12 +6757,12 @@ func TestUIAdvancedSyncMatchingRemoteCredentialEntriesUsesSavedBindingForCurrent u.vaultPath.SetText(localVaultPath) u.syncSourceMode = syncSourceRemote u.syncRemoteBaseURL.SetText("https://dav.example.invalid/remote.php/dav") - u.syncRemotePath.SetText("files/family/keepass.kdbx") + u.syncRemotePath.SetText("files/bellagio/keepass.kdbx") u.recentRemotes = []recentRemoteRecord{{ BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", LocalVaultPath: localVaultPath, - RemoteProfileID: "family-webdav", + RemoteProfileID: "bellagio-webdav", CredentialEntryID: "remote-creds-1", }} @@ -6804,9 +6804,9 @@ func TestUISaveCurrentRemoteBindingActionRequiresCompleteRemoteSignIn(t *testing t.Parallel() u := newUIWithModel("desktop", vault.Model{}) - u.vaultPath.SetText("/tmp/family.kdbx") + u.vaultPath.SetText("/tmp/bellagio.kdbx") u.remoteBaseURL.SetText("https://dav.example.invalid/remote.php/dav") - u.remotePath.SetText("files/family/keepass.kdbx") + u.remotePath.SetText("files/bellagio/keepass.kdbx") if err := u.saveCurrentRemoteBindingAction(); err == nil { t.Fatal("saveCurrentRemoteBindingAction() error = nil, want validation error") @@ -6982,9 +6982,9 @@ func TestFriendlyRecentRemoteLabelUsesVaultNameBeforeHost(t *testing.T) { got := friendlyRecentRemoteLabel(recentRemoteRecord{ BaseURL: "https://dav.example.com/remote.php/webdav/", - Path: "vaults/family/home.kdbx", + Path: "vaults/bellagio/mint.kdbx", }) - want := "home.kdbx · dav.example.com" + want := "mint.kdbx · dav.example.com" if got != want { t.Fatalf("friendlyRecentRemoteLabel() = %q, want %q", got, want) } diff --git a/vault/kdbx_test.go b/vault/kdbx_test.go index 371edbf..5a41a89 100644 --- a/vault/kdbx_test.go +++ b/vault/kdbx_test.go @@ -244,11 +244,11 @@ func TestSaveKDBXRoundTripsRemoteProfiles(t *testing.T) { model := Model{ RemoteProfiles: []RemoteProfile{ { - ID: "family-webdav", - Name: "Family Vault", + ID: "bellagio-webdav", + Name: "Bellagio Vault", Backend: RemoteBackendWebDAV, BaseURL: "https://dav.example.invalid/remote.php/dav", - Path: "files/family/keepass.kdbx", + Path: "files/bellagio/keepass.kdbx", }, }, } @@ -268,8 +268,8 @@ func TestSaveKDBXRoundTripsRemoteProfiles(t *testing.T) { } got := loaded.RemoteProfiles[0] - if got.ID != "family-webdav" || got.Name != "Family Vault" { - t.Fatalf("loaded remote profile = %#v, want family-webdav Family Vault", got) + if got.ID != "bellagio-webdav" || got.Name != "Bellagio Vault" { + t.Fatalf("loaded remote profile = %#v, want bellagio-webdav Bellagio Vault", got) } if got.Backend != RemoteBackendWebDAV { t.Fatalf("remote backend = %q, want %q", got.Backend, RemoteBackendWebDAV) @@ -277,8 +277,8 @@ func TestSaveKDBXRoundTripsRemoteProfiles(t *testing.T) { if got.BaseURL != "https://dav.example.invalid/remote.php/dav" { t.Fatalf("remote base URL = %q, want remote.php/dav URL", got.BaseURL) } - if got.Path != "files/family/keepass.kdbx" { - t.Fatalf("remote path = %q, want files/family/keepass.kdbx", got.Path) + if got.Path != "files/bellagio/keepass.kdbx" { + t.Fatalf("remote path = %q, want files/bellagio/keepass.kdbx", got.Path) } }