Search in sources :

Example 41 with Book

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());
    }
}
Also used : Book(com.orgzly.android.Book) IOException(java.io.IOException) OrgzlyTest(com.orgzly.android.OrgzlyTest) Test(org.junit.Test)

Example 42 with Book

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());
}
Also used : Book(com.orgzly.android.Book) OrgzlyTest(com.orgzly.android.OrgzlyTest) Test(org.junit.Test)

Example 43 with Book

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);
}
Also used : Book(com.orgzly.android.Book) File(java.io.File) OrgzlyTest(com.orgzly.android.OrgzlyTest) Test(org.junit.Test)

Example 44 with Book

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);
        }
    }
}
Also used : Book(com.orgzly.android.Book) BookNamesake(com.orgzly.android.sync.BookNamesake) OrgzlyTest(com.orgzly.android.OrgzlyTest) Test(org.junit.Test)

Example 45 with Book

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());
}
Also used : Book(com.orgzly.android.Book) OrgzlyTest(com.orgzly.android.OrgzlyTest) Test(org.junit.Test)

Aggregations

Book (com.orgzly.android.Book)60 OrgzlyTest (com.orgzly.android.OrgzlyTest)47 Test (org.junit.Test)47 Note (com.orgzly.android.Note)21 NotePosition (com.orgzly.android.NotePosition)11 IOException (java.io.IOException)8 Shelf (com.orgzly.android.Shelf)6 Uri (android.net.Uri)5 Context (android.content.Context)4 Intent (android.content.Intent)4 TypedArray (android.content.res.TypedArray)4 NavigationView (android.support.design.widget.NavigationView)4 SearchView (android.support.v7.widget.SearchView)4 MenuItem (android.view.MenuItem)4 View (android.view.View)4 TextView (android.widget.TextView)4 Query (com.orgzly.android.query.Query)4 File (java.io.File)4 Activity (android.app.Activity)3 AlertDialog (android.app.AlertDialog)3