/** * Splice - add a group from one database to a parent from another (or copy from the same db) */ public void splice(G newParent, Group<?, ?, ?, ?> groupToSplice) { G addedGroup = newParent.addGroup(newParent.getDatabase().newGroup(groupToSplice)); addedGroup.copy(groupToSplice); }
private D createNewDatabase() throws IOException { D database = getDatabase(); for (Integer g = 0; g < 5; g++){ G group = database.getRootGroup().addGroup(database.newGroup(g.toString())); for (int e = 0; e <= g; e++) { group.addEntry(entryFactory(database, g.toString(), e)); } } return database; }
public void saveKdbx() throws IOException { // create an empty database D database = getDatabase(); // add some groups and entries for (Integer g = 0; g < 5; g++) { G group = database.getRootGroup().addGroup(database.newGroup(g.toString())); for (int e = 0; e <= g; e++) { // entry factory is a local helper to populate an entry group.addEntry(entryFactory(database, g.toString(), e)); } } // save to a file with password "123" try (FileOutputStream outputStream = new FileOutputStream("testOutput/test.kdbx")) { database.save(new KdbxCreds("123".getBytes()), outputStream); } }
@Override public boolean deleteGroup(final UUID uuid) { G g = findGroup(uuid); if (g==null) { return false; } g.getParent().removeGroup(g); if (isRecycleBinEnabled()) { getRecycleBin().addGroup(g); } return true; }
@Test public void testDeleteGroup () { Group<D,G,E,I> g1 = database.getRootGroup().addGroup(database.newGroup("group1")); List<? extends G> l1 = database.getRootGroup().findGroups("group1"); Assert.assertTrue(l1.size() == 1); G g2 = l1.get(0); Assert.assertTrue (g2.equals(g1)); Group g3 = database.getRootGroup().removeGroup(g2); Assert.assertTrue (g3.equals(g1)); Assert.assertTrue(g1.getParent() == null); Assert.assertTrue(database.getRootGroup().getGroups().size() == 0); Assert.assertTrue(database.getRootGroup().findGroups("group1").size() == 0); }
@Test public void testAddGroup() { Group g1 = database.getRootGroup().addGroup(database.newGroup("group1")); Assert.assertTrue (database.getRootGroup().getGroups().size() == 1); Assert.assertTrue (g1.getName().equals("group1")); Assert.assertTrue (g1.getGroups().size() == 0); Assert.assertTrue (g1.getEntries().size() == 0); Assert.assertTrue("root is not the parent of its child", g1.getParent().equals(database.getRootGroup())); Group g2 = database.newGroup(); assertEquals("", g2.getName()); Assert.assertNotNull(g2.getUuid()); assertEquals(0, g2.getIcon().getIndex()); assertEquals(0, g2.getGroups().size()); assertEquals(0, g2.getEntries().size()); // show that the list of groups is a copy database.getRootGroup().getGroups().clear(); Assert.assertTrue(database.getRootGroup().getGroups().size() == 1); Assert.assertTrue (g1.getEntries().size() == 0); }
UUID newGroupUUID = group1.getUuid(); root.addGroup(group1); assertEquals("Group 1", group1.getName()); Assert.assertFalse(group1.isRootGroup()); root.addGroup(group1); root.addGroup(group1); assertEquals(1, root.getGroups().size()); assertEquals(newGroupUUID, root.getGroups().get(0).getUuid()); group1.addGroup(group2); assertEquals(1, group1.getGroups().size()); assertEquals(1, root.getGroups().size()); root.addGroup(group2); assertEquals(0, group1.getGroups().size()); assertEquals(2, root.getGroups().size());
@Test public void recycleBinGroups() { database.enableRecycleBin(true); assertTrue(database.isRecycleBinEnabled()); G recycleBin = database.getRecycleBin(); assertNotNull(recycleBin); G group= database.newGroup(); assertEquals(group, database.getRootGroup().addGroup(group)); assertEquals(2, database.getRootGroup().getGroupsCount()); assertTrue(database.deleteGroup(group.getUuid())); assertEquals(1, database.getRootGroup().getGroupsCount()); assertEquals(1, recycleBin.getGroupsCount()); database.enableRecycleBin(false); assertFalse(database.isRecycleBinEnabled()); group = database.newGroup(); assertEquals(group, database.getRootGroup().addGroup(group)); assertEquals(2, database.getRootGroup().getGroupsCount()); assertTrue(database.deleteGroup(group.getUuid())); assertEquals(1, database.getRootGroup().getGroupsCount()); assertEquals(1, recycleBin.getGroupsCount()); database.emptyRecycleBin(); assertEquals(0, recycleBin.getGroupsCount()); }