public void ShouldHandleExportAndImportOfDifferentDatabasesSuccessfully() { var exportKeeShare = new KeeShare.KeeShare(); var exportDatabase = TestHelper.CreateDatabase(); exportKeeShare.Initialize(exportDatabase); var treeManagerAccessor = new TreeManagerAccessor(); treeManagerAccessor.Initialize(exportDatabase); treeManagerAccessor.CreateNewUser("MrX"); exportKeeShare.EnsureValidTree(exportDatabase); var userNode = TestHelper.GetUserRootNodeByNameFor(exportDatabase, "MrX"); var userHome = TestHelper.GetUserHomeNodeByNameFor(exportDatabase, "MrX"); var exportRootEntry = new PwEntry(true, true); exportRootEntry.SetTitle("ExportRootEntry"); exportDatabase.RootGroup.AddEntry(exportRootEntry, true); var exportPath = GetTestPath(); var exportFile = exportPath + SyncSource.FileNameFor(userNode) + SyncExporter.FileExtension; exportKeeShare.AddExportPath(exportPath); var exportTarget = exportDatabase.GetExportGroup().Groups.GetAt(0); exportTarget.AddEntry(userNode.CreateProxyNode(), true); var exportHomeEntry = new PwEntry(true, true); exportHomeEntry.SetTitle("ExportHomeEntry"); userHome.AddEntry(exportHomeEntry, true); exportDatabase.RootGroup.AddEntry(userNode.CreateProxyNode(), true); var importDatabase = TestHelper.CreateDatabase(); var importKeeShare = new KeeShare.KeeShare(); importKeeShare.Initialize(importDatabase); exportKeeShare.Export(); importKeeShare.AddImportPath(exportFile); var importGroup = importDatabase.GetImportGroup().Groups.GetAt(0); var importSource = importGroup.Entries.GetAt(0); importSource.SetPassword(userNode.Strings.ReadSafe(KeeShare.KeeShare.PasswordField)); importKeeShare.EnsureValidTree(importDatabase); Assert.AreEqual(1, importDatabase.RootGroup.GetEntries(true).CloneShallowToList().Count(e => e.GetTitle() == "ExportRootEntry")); Assert.AreEqual(1, importDatabase.RootGroup.GetEntries(true).CloneShallowToList().Count(e => e.GetTitle() == "ExportHomeEntry")); }
public void ShouldHandleExportAndImportOfDifferentDatabasesSuccessfully() { var exportKeeShare = new KeeShare.KeeShare(); var exportDatabase = TestHelper.CreateDatabase(); exportKeeShare.Initialize(exportDatabase); var treeManagerAccessor = new TreeManagerAccessor(); treeManagerAccessor.Initialize(exportDatabase); treeManagerAccessor.CreateNewUser("MrX"); exportKeeShare.EnsureValidTree(exportDatabase); var userNode = TestHelper.GetUserRootNodeByNameFor(exportDatabase, "MrX"); var userHome = TestHelper.GetUserHomeNodeByNameFor(exportDatabase, "MrX"); var exportRootEntry = new PwEntry(true, true); exportRootEntry.SetTitle("ExportRootEntry"); exportDatabase.RootGroup.AddEntry(exportRootEntry, true); var exportPath = GetTestPath(); var exportFile = exportPath + SyncSource.FileNameFor(userNode) + SyncExporter.FileExtension; exportKeeShare.AddExportPath(exportPath); var exportTarget = exportDatabase.GetExportGroup().Groups.GetAt(0); exportTarget.AddEntry(PwNode.CreateProxyNode(userNode), true); var exportHomeEntry = new PwEntry(true, true); exportHomeEntry.SetTitle("ExportHomeEntry"); userHome.AddEntry(exportHomeEntry, true); exportDatabase.RootGroup.AddEntry(PwNode.CreateProxyNode(userNode), true); var importDatabase = TestHelper.CreateDatabase(); var importKeeShare = new KeeShare.KeeShare(); importKeeShare.Initialize(importDatabase); exportKeeShare.Export(); importKeeShare.AddImportPath(exportFile); var importGroup = importDatabase.GetImportGroup().Groups.GetAt(0); var importSource = importGroup.Entries.GetAt(0); importSource.SetPassword(userNode.Strings.ReadSafe(KeeShare.KeeShare.PasswordField)); importKeeShare.EnsureValidTree(importDatabase); Assert.AreEqual(1, importDatabase.RootGroup.GetEntries(true).CloneShallowToList().Count(e => e.GetTitle() == "ExportRootEntry")); Assert.AreEqual(1, importDatabase.RootGroup.GetEntries(true).CloneShallowToList().Count(e => e.GetTitle() == "ExportHomeEntry")); }
public void NewUserShouldCreateValidTreeStructure() { m_treeManager.Initialize(m_database); m_treeManager.CreateNewUser("Hans"); PwGroup usersGroup = TestHelper.GetUsersGroupFor(m_database); Assert.AreEqual(1, usersGroup.Entries.UCount); Assert.AreEqual(1, usersGroup.Groups.UCount); PwGroup userHome = TestHelper.GetUserHomeNodeFor(m_database, 0); Assert.AreEqual(1, userHome.Entries.UCount); Assert.AreEqual("Hans", userHome.Name); PwEntry userEntry = TestHelper.GetUserRootNodeFor(m_database, 0); Assert.AreEqual("Hans", userEntry.Strings.ReadSafe(KeeShare.KeeShare.TitleField)); Assert.IsFalse(userEntry.IsProxyNode()); Assert.IsFalse(userEntry.IsNormalPwEntry()); PwEntry userProxy = TestHelper.GetUserRootProxyFor(m_database, 0); Assert.AreEqual("Hans", userProxy.Strings.ReadSafe(KeeShare.KeeShare.TitleField)); Assert.IsTrue(userProxy.IsProxyNode()); Assert.AreEqual(2, NumberOfEntriesIn(m_database)); // a root node and a proxy node IsUsersGroupSane(m_database, 1); }
private void FillInFixture() { PwGroup rootGroup = m_database.RootGroup; m_treeManager.CreateNewUser("mrX"); m_treeManager.CreateNewUser("mrY"); m_standardKey = SyncSource.CreateKeyFor(STANDARD_PASSWORD); PwEntry mrX = TestHelper.GetUserRootNodeByNameFor(m_database, "mrX"); PwEntry mrY = TestHelper.GetUserRootNodeByNameFor(m_database, "mrY"); mrX.SetPassword(STANDARD_PASSWORD); mrY.SetPassword(STANDARD_PASSWORD); PwGroup mrXhome = m_database.GetUsersGroup().Groups.GetAt(0); //normal entries PwEntry normalEntry1 = new PwEntry(true, false); normalEntry1.SetTitle("normalEntry1"); Uuid1 = normalEntry1.Uuid; PwEntry normalEntry2 = new PwEntry(true, false); normalEntry2.SetTitle("normalEntry2"); Uuid2 = normalEntry2.Uuid; PwEntry normalEntry3 = new PwEntry(true, false); normalEntry3.SetTitle("normalEntry3"); Uuid3 = normalEntry3.Uuid; PwEntry normalEntry4 = new PwEntry(true, false); normalEntry4.SetTitle("normalEntry4"); Uuid4 = normalEntry4.Uuid; PwEntry normalEntry5 = new PwEntry(true, false); normalEntry5.SetTitle("normalEntry5"); Uuid5 = normalEntry5.Uuid; PwEntry normalEntry6 = new PwEntry(true, false); normalEntry6.SetTitle("normalEntry6"); Uuid6 = normalEntry6.Uuid; //pwdProxies PwEntry pwdProxyTo1 = normalEntry1.CreateProxyNode(); PwEntry pwdProxyTo3 = normalEntry3.CreateProxyNode(); //userProxies PwEntry userProxyToMrX = mrX.CreateProxyNode(); PwGroup grp1 = new PwGroup(true, true, "grp1", PwIcon.BlackBerry); rootGroup.AddEntry(normalEntry1, true); rootGroup.AddEntry(normalEntry2, true); rootGroup.AddEntry(normalEntry3, true); rootGroup.AddGroup(grp1, true); grp1.AddEntry(normalEntry4, true); grp1.AddEntry(normalEntry5, true); grp1.AddEntry(userProxyToMrX, true); grp1.AddEntry(pwdProxyTo1, true); mrXhome.AddEntry(normalEntry6, true); mrXhome.AddEntry(pwdProxyTo3, true); Assert.AreEqual(13, rootGroup.GetEntries(true).UCount); }