@Test public void getBinaryProperty() throws Exception { Entry entry = database.findEntries("Test attachment").get(0); byte [] letterJ = entry.getBinaryProperty("letter J.jpeg"); InputStream testfile = getClass().getClassLoader().getResourceAsStream("letter J.jpeg"); byte [] original = ByteStreams.toByteArray(testfile); Assert.assertArrayEquals(original, letterJ); }
@Test public void getAnotherBinaryProperty() throws Exception { Entry entry = database.findEntries("Test 2 attachment").get(0); byte [] letterL = entry.getBinaryProperty("letter L.jpeg"); InputStream testfile = getClass().getClassLoader().getResourceAsStream("letter L.jpeg"); byte [] original = ByteStreams.toByteArray(testfile); Assert.assertArrayEquals(original, letterL); }
@Test public void getBinaryPropertyNames() throws Exception { Entry entry = database.findEntries("Test attachment").get(0); assertArrayEquals(new String[] {"letter J.jpeg"}, entry.getBinaryPropertyNames().toArray()); entry = database.findEntries("Test 2 attachment").get(0); assertArrayEquals(new String[] {"letter J.jpeg", "letter L.jpeg"}, entry.getBinaryPropertyNames().toArray()); }
@Test public void setBinaryProperty() throws Exception { InputStream testfile = getClass().getClassLoader().getResourceAsStream("letter L.jpeg"); byte [] original = ByteStreams.toByteArray(testfile); Entry entry = database.findEntries("Test attachment").get(0); entry.setBinaryProperty("letter L.jpeg", original); byte [] letterL = entry.getBinaryProperty("letter L.jpeg"); Assert.assertArrayEquals(original, letterL); assertArrayEquals(new String[] {"letter J.jpeg", "letter L.jpeg"}, entry.getBinaryPropertyNames().toArray()); Assert.assertTrue(database.isDirty()); }
public void process(Message.Request r, Message.Response resp) { @SuppressWarnings("unchecked") List<Entry> entries = database.findEntries(new Entry.Matcher() { @Override public boolean matches(Entry entry) { return true; } }); for (Entry entry : entries) { resp.Entries.add(new ResponseEntry(entry.getTitle(), entry.getUsername(), entry.getPassword(), entry.getUuid().toString())); } resp.Count = resp.Entries.size(); resp.Success = true; } }
public void process(final Message.Request r, Message.Response resp) { @SuppressWarnings("unchecked") List<Entry> entries = database.findEntries(new Entry.Matcher() { @Override public boolean matches(Entry entry) { return entry.getUrl().startsWith(r.Url) || r.Url.startsWith(entry.getUrl()); } }); for (Entry entry : entries) { resp.Entries.add(new ResponseEntry(entry.getTitle(), entry.getUsername(), entry.getPassword(), entry.getUuid().toString())); } resp.Count = resp.Entries.size(); resp.Success = true; } }
@Test public void saveAndReloadTest2() throws IOException { D attachment = getDatabase("Attachment.kdbx", getCreds("123".getBytes())); Entry entry = attachment.findEntries("Test attachment").get(0); assertArrayEquals(new String[] {"letter J.jpeg"}, entry.getBinaryPropertyNames().toArray()); Entry entry2 = attachment.findEntries("Test 2 attachment").get(0); assertArrayEquals(new String[] {"letter J.jpeg", "letter L.jpeg"}, entry2.getBinaryPropertyNames().toArray()); byte[] content = entry2.getBinaryProperty("letter L.jpeg"); entry.setBinaryProperty("letter L.jpeg", content); assertArrayEquals(new String[] {"letter J.jpeg", "letter L.jpeg"}, entry.getBinaryPropertyNames().toArray()); FileOutputStream fos = new FileOutputStream("testOutput/test2.kdbx"); saveDatabase(attachment, getCreds("123".getBytes()), fos); fos.flush(); fos.close(); FileInputStream fis = new FileInputStream("testOutput/test2.kdbx"); Database input = loadDatabase(getCreds("123".getBytes()), fis); entry = (Entry) input.findEntries("Test attachment").get(0); assertArrayEquals(new String[] {"letter J.jpeg", "letter L.jpeg"}, entry.getBinaryPropertyNames().toArray()); //saveDatabase(input, new StreamFormat.None(), new Credentials.None(), System.out); }
@Test public void testAddRemoveEntry() { E e1 = database.getRootGroup().addEntry(database.newEntry()); e1.setTitle("entry1"); List<? extends E> l1 = database.findEntries("entry1"); Assert.assertTrue(l1.size() == 1); E e12 = database.getRootGroup().addEntry(database.newEntry("entry12")); List<? extends E> l2 = database.findEntries("entry1"); Assert.assertTrue(l2.size() == 2); // show that the entries are different Assert.assertFalse(l2.get(0).equals(l2.get(1))); // show that the list is a copy l2.clear(); Assert.assertTrue(database.findEntries("entry1").size() == 2); // show that we get an equivalent entry when we remove to when we inserted Entry e12b = database.getRootGroup().removeEntry(e12); Assert.assertTrue(e12b.equals(e12)); // has been unhooked from parent Assert.assertTrue(e12.getParent() == null); Assert.assertTrue(database.findEntries("entry1").size() == 1); }
/** * Group by title */ public G groupByTitle(D database) { List<? extends E> entries = database.findEntries(new Entry.Matcher() { @Override public boolean matches(Entry entry) { return entry.getProperty(Entry.STANDARD_PROPERTY_NAME_TITLE).toLowerCase().contains("findme!"); } }); // create a new group using DB factory method G newParent = database.newGroup("Found entries"); // iterate over the found entries for (E entry : entries) { // copy the entry using DB factory so it remains where it was found as well as being in new group E copy = database.newEntry(entry); // add new entry to new group newParent.addEntry(copy); } return newParent; }
List<? extends E> anything = database.findEntries(""); Assert.assertTrue(10 <= anything.size()); List<? extends E> tests = database.findEntries("test"); for (Entry tes: tests) { System.out.println(tes.getTitle()); List<? extends E> passwords = database.findEntries("password"); Assert.assertEquals(4, passwords.size()); for (Entry passwordEntry : passwords) { List<? extends E> entries = database.findEntries(new Entry.Matcher() { @Override public boolean matches(Entry entry) {
public void process(final Message.Request r, Message.Response resp) { Entry entry = null; if (r.Uuid != null) { List entries = database.findEntries(new Entry.Matcher() { @Override public boolean matches(Entry entry) {
@Test public void checkAddChangeRemoveBinaryProperty() { byte[] test = new byte[] {0, 1, 2 ,3}; byte[] test2 = new byte[] {3, 2, 1, 0}; Entry entry = database.findEntries("Test attachment").get(0); assertEquals(1, entry.getBinaryPropertyNames().size()); entry.setBinaryProperty("test", test); assertArrayEquals(test, entry.getBinaryProperty("test")); entry.setBinaryProperty("test", test2); assertArrayEquals(test2, entry.getBinaryProperty("test")); // true that property was removed assertTrue(entry.removeBinaryProperty("test")); // false that same property was removed assertFalse(entry.removeBinaryProperty("test")); // false that non existent was removed assertFalse(entry.removeBinaryProperty("test-test")); // same number of properties as we started with assertEquals(1, entry.getBinaryPropertyNames().size()); } }
assertEquals(0, database.findEntries("").size());