use of com.orgzly.android.Book in project orgzly-android by orgzly.
the class BooksClientTest method testInsertBookWithExistingName.
@Test
public void testInsertBookWithExistingName() throws Exception {
Book book = new Book("booky");
assertNotNull(book);
BooksClient.insert(context, book);
try {
BooksClient.insert(context, book);
fail("Second insert of the book should fail");
} catch (IOException e) {
assertEquals("Can't insert notebook with the same name: booky", e.getMessage());
}
}
use of com.orgzly.android.Book in project orgzly-android by orgzly.
the class DropboxRepoTest method testRenameBook.
@Test
public void testRenameBook() throws IOException {
Book book;
String repoUriString = RepoFactory.getFromUri(context, randomUrl()).getUri().toString();
shelfTestUtils.setupRepo(repoUriString);
shelfTestUtils.setupBook("booky", "");
shelf.sync();
book = shelf.getBook("booky");
assertEquals(repoUriString, book.getLinkRepo().toString());
assertEquals(repoUriString, book.getLastSyncedToRook().getRepoUri().toString());
assertEquals(repoUriString + "/booky.org", book.getLastSyncedToRook().getUri().toString());
shelf.renameBook(book, "booky-renamed");
book = shelf.getBook("booky-renamed");
assertEquals(repoUriString, book.getLinkRepo().toString());
assertEquals(repoUriString, book.getLastSyncedToRook().getRepoUri().toString());
assertEquals(repoUriString + "/booky-renamed.org", book.getLastSyncedToRook().getUri().toString());
}
use of com.orgzly.android.Book in project orgzly-android by orgzly.
the class LocalDbRepoTest method testStoringBook.
@Test
public void testStoringBook() throws IOException {
Repo repo;
long now = System.currentTimeMillis();
/* Write local book's content to a temporary file. */
// by bookId
Book book = shelf.getBook(1);
File tmpFile = shelf.getTempBookFile();
try {
shelf.writeBookToFile(book, BookName.Format.ORG, tmpFile);
repo = RepoFactory.getFromUri(context, "mock://repo-a");
repo.storeBook(tmpFile, BookName.fileName(book.getName(), BookName.Format.ORG));
} finally {
tmpFile.delete();
}
List<VersionedRook> books = repo.getBooks();
assertEquals(1, books.size());
VersionedRook vrook = books.get(0);
assertEquals("local-book-1", BookName.getInstance(context, vrook).getName());
assertEquals("mock://repo-a", vrook.getRepoUri().toString());
assertTrue(vrook.getMtime() >= now);
}
use of com.orgzly.android.Book in project orgzly-android by orgzly.
the class ShelfTest method testShelfAndRepo.
@Test
public void testShelfAndRepo() throws IOException {
assertEquals("Starting with empty shelf", 0, shelf.getBooks().size());
Book book;
book = shelf.createBook("local-book-1");
assertEquals("local-book-1", book.getName());
assertNull(book.getLastSyncedToRook());
book = shelf.createBook("common-book-1");
assertEquals("common-book-1", book.getName());
assertNull(book.getLastSyncedToRook());
book = shelf.createBook("common-book-2");
assertEquals("common-book-2", book.getName());
assertNull(book.getLastSyncedToRook());
/* Setup mock repo. */
shelfTestUtils.setupRepo("mock://repo-a");
shelfTestUtils.setupRook("mock://repo-a", "mock://repo-a/remote-book-2.org", "", "1abcdef", 1400412756000L);
shelfTestUtils.setupRook("mock://repo-a", "mock://repo-a/common-book-1.org", "", "2abcdef", 1400671956000L);
shelfTestUtils.setupRook("mock://repo-a", "mock://repo-a/common-book-2.org", "", "3abcdef", 1400671956000L);
shelfTestUtils.setupRook("mock://repo-a", "mock://repo-a/remote-book-1.org", "", "0abcdef", 1400067156000L);
Map<String, BookNamesake> groups = shelf.groupAllNotebooksByName();
assertEquals(5, groups.size());
for (BookNamesake group : groups.values()) {
String name = group.getName();
if (name.equals("local-book-1")) {
assertFalse(group.getBook().isDummy());
assertEquals(0, group.getRooks().size());
} else if (name.equals("common-book-1")) {
assertFalse(group.getBook().isDummy());
assertEquals(1, group.getRooks().size());
} else if (name.equals("common-book-2")) {
assertFalse(group.getBook().isDummy());
assertEquals(1, group.getRooks().size());
} else if (name.equals("remote-book-1")) {
assertTrue(group.getBook().isDummy());
assertEquals(1, group.getRooks().size());
} else if (name.equals("remote-book-2")) {
assertTrue(group.getBook().isDummy());
assertEquals(1, group.getRooks().size());
} else {
fail("unexpected name " + name);
}
}
}
use of com.orgzly.android.Book in project orgzly-android by orgzly.
the class SyncTest method testRenameUsedRepo.
@Test
public void testRenameUsedRepo() {
shelfTestUtils.setupRepo("mock://repo-a");
shelfTestUtils.setupRook("mock://repo-a", "mock://repo-a/book.org", "Content A", "1abcde", 1400067156000L);
Book book;
shelf.sync();
shelfTestUtils.renameRepo("mock://repo-a", "mock://repo-b");
book = shelf.getBook("book");
assertNull(book.getLinkRepo());
assertEquals("mock://repo-a/book.org", book.getLastSyncedToRook().getUri().toString());
assertEquals("mock://repo-a", book.getLastSyncedToRook().getRepoUri().toString());
shelf.sync();
book = shelf.getBook("book");
assertEquals(BookSyncStatus.ONLY_BOOK_WITHOUT_LINK_AND_ONE_REPO, book.getSyncStatus());
assertEquals("mock://repo-b", book.getLinkRepo().toString());
assertEquals("mock://repo-b", book.getLastSyncedToRook().getRepoUri().toString());
assertEquals("mock://repo-b/book.org", book.getLastSyncedToRook().getUri().toString());
shelfTestUtils.renameRepo("mock://repo-b", "mock://repo-a");
shelf.sync();
book = shelf.getBook("book");
assertEquals(BookSyncStatus.BOOK_WITHOUT_LINK_AND_ONE_OR_MORE_ROOKS_EXIST, book.getSyncStatus());
assertNull(book.getLinkRepo());
assertEquals("mock://repo-b/book.org", book.getLastSyncedToRook().getUri().toString());
assertEquals("mock://repo-b", book.getLastSyncedToRook().getRepoUri().toString());
}
Aggregations