Search in sources :

Example 21 with Repo

use of com.orgzly.android.db.entity.Repo in project orgzly-android by orgzly.

the class LocalDbRepoTest method testRetrievingBook.

@Test
public void testRetrievingBook() throws IOException {
    Repo repo = testUtils.setupRepo(RepoType.MOCK, "mock://repo-a");
    testUtils.setupRook(repo, "mock://repo-a/mock-book.org", "book content\n\n* First note\n** Second note", "rev1", 1234567890000L);
    SyncRepo syncRepo = testUtils.repoInstance(RepoType.MOCK, "mock://repo-a");
    VersionedRook vrook = SyncService.getBooksFromAllRepos(dataRepository, null).get(0);
    File tmpFile = dataRepository.getTempBookFile();
    try {
        syncRepo.retrieveBook("mock-book.org", tmpFile);
        String content = MiscUtils.readStringFromFile(tmpFile);
        assertEquals("book content\n" + "\n" + "* First note\n" + "** Second note", content);
    } finally {
        tmpFile.delete();
    }
}
Also used : Repo(com.orgzly.android.db.entity.Repo) File(java.io.File) OrgzlyTest(com.orgzly.android.OrgzlyTest) Test(org.junit.Test)

Example 22 with Repo

use of com.orgzly.android.db.entity.Repo in project orgzly-android by orgzly.

the class SyncTest method testRenameUsedRepo.

@Test
public void testRenameUsedRepo() {
    Repo repo = testUtils.setupRepo(RepoType.MOCK, "mock://repo-a");
    testUtils.setupRook(repo, "mock://repo-a/book.org", "Content A", "1abcde", 1400067156000L);
    BookView book;
    testUtils.sync();
    testUtils.renameRepo("mock://repo-a", "mock://repo-b");
    book = dataRepository.getBookView("book");
    assertNull(book.getLinkRepo());
    assertNull(book.getSyncedTo());
    testUtils.sync();
    book = dataRepository.getBookView("book");
    assertEquals(BookSyncStatus.ONLY_BOOK_WITHOUT_LINK_AND_ONE_REPO.toString(), book.getBook().getSyncStatus());
    assertEquals("mock://repo-b", book.getLinkRepo().getUrl());
    assertEquals("mock://repo-b", book.getSyncedTo().getRepoUri().toString());
    assertEquals("mock://repo-b/book.org", book.getSyncedTo().getUri().toString());
    testUtils.renameRepo("mock://repo-b", "mock://repo-a");
    testUtils.sync();
    book = dataRepository.getBookView("book");
    assertEquals(BookSyncStatus.BOOK_WITHOUT_LINK_AND_ONE_OR_MORE_ROOKS_EXIST.toString(), book.getBook().getSyncStatus());
    assertNull(book.getLinkRepo());
    assertNull("mock://repo-b/book.org", book.getSyncedTo());
}
Also used : Repo(com.orgzly.android.db.entity.Repo) BookView(com.orgzly.android.db.entity.BookView) OrgzlyTest(com.orgzly.android.OrgzlyTest) Test(org.junit.Test)

Example 23 with Repo

use of com.orgzly.android.db.entity.Repo in project orgzly-android by orgzly.

the class SyncTest method testMultipleRooks.

@Test
public void testMultipleRooks() {
    Repo repoA = testUtils.setupRepo(RepoType.MOCK, "mock://repo-a");
    testUtils.setupRook(repoA, "mock://repo-a/book.org", "Content A", "revA", 1234567890000L);
    Repo repoB = testUtils.setupRepo(RepoType.MOCK, "mock://repo-b");
    testUtils.setupRook(repoB, "mock://repo-b/book.org", "Content B", "revB", 1234567890000L);
    testUtils.sync();
    BookView book = dataRepository.getBooks().get(0);
    assertEquals(BookSyncStatus.DUMMY_WITHOUT_LINK_AND_MULTIPLE_ROOKS.toString(), book.getBook().getSyncStatus());
    assertTrue(book.getBook().isDummy());
    dataRepository.setLink(book.getBook().getId(), repoA);
    testUtils.sync();
    book = dataRepository.getBooks().get(0);
    assertEquals(BookSyncStatus.DUMMY_WITH_LINK.toString(), book.getBook().getSyncStatus());
    assertTrue(!book.getBook().isDummy());
    assertEquals("mock://repo-a/book.org", book.getSyncedTo().getUri().toString());
}
Also used : Repo(com.orgzly.android.db.entity.Repo) BookView(com.orgzly.android.db.entity.BookView) OrgzlyTest(com.orgzly.android.OrgzlyTest) Test(org.junit.Test)

Example 24 with Repo

use of com.orgzly.android.db.entity.Repo in project orgzly-android by orgzly.

the class SyncTest method testDeletedRepoShouldStayAsBookLink.

@Test
public void testDeletedRepoShouldStayAsBookLink() {
    Repo repoA = testUtils.setupRepo(RepoType.MOCK, "mock://repo-a");
    testUtils.setupRepo(RepoType.MOCK, "mock://repo-b");
    testUtils.setupRook(repoA, "mock://repo-a/booky.org", "", "1abcdef", 1400067155);
    BookView book;
    Map<String, BookNamesake> namesakes;
    namesakes = testUtils.sync();
    book = dataRepository.getBookView("booky");
    assertEquals(BookSyncStatus.DUMMY_WITHOUT_LINK_AND_ONE_ROOK, namesakes.get("booky").getStatus());
    assertFalse(book.getBook().isDummy());
    assertEquals("mock://repo-a", book.getLinkRepo().getUrl());
    assertEquals("mock://repo-a", book.getSyncedTo().getRepoUri().toString());
    testUtils.deleteRepo("mock://repo-a");
    testUtils.deleteRepo("mock://repo-b");
    testUtils.setupRepo(RepoType.MOCK, "mock://repo-c");
    // TODO: Don't use namesakes, be consistent and use book.status like in some methods
    namesakes = testUtils.sync();
    book = dataRepository.getBookView("booky");
    assertEquals(BookSyncStatus.ONLY_BOOK_WITHOUT_LINK_AND_ONE_REPO, namesakes.get("booky").getStatus());
    assertFalse(book.getBook().isDummy());
    assertEquals("mock://repo-c", book.getLinkRepo().getUrl());
    assertEquals("mock://repo-c", book.getSyncedTo().getRepoUri().toString());
}
Also used : Repo(com.orgzly.android.db.entity.Repo) BookView(com.orgzly.android.db.entity.BookView) BookNamesake(com.orgzly.android.sync.BookNamesake) OrgzlyTest(com.orgzly.android.OrgzlyTest) Test(org.junit.Test)

Example 25 with Repo

use of com.orgzly.android.db.entity.Repo in project orgzly-android by orgzly.

the class SyncTest method testEncodingStaysTheSameAfterSecondSync.

@Test
public void testEncodingStaysTheSameAfterSecondSync() {
    BookView book;
    Repo repo = testUtils.setupRepo(RepoType.MOCK, "mock://repo-a");
    testUtils.setupRook(repo, "mock://repo-a/book.org", "Content A", "1abcde", 1400067156000L);
    testUtils.sync();
    book = dataRepository.getBooks().get(0);
    assertEquals(BookSyncStatus.DUMMY_WITHOUT_LINK_AND_ONE_ROOK.toString(), book.getBook().getSyncStatus());
    switch(EncodingDetect.USED_METHOD) {
        // assertEquals("ASCII", versionedRook.getUsedEncoding());
        case JUNIVERSALCHARDET:
            assertNull(book.getBook().getDetectedEncoding());
            assertEquals("UTF-8", book.getBook().getUsedEncoding());
            break;
    }
    assertNull(book.getBook().getSelectedEncoding());
    testUtils.sync();
    book = dataRepository.getBooks().get(0);
    assertEquals(BookSyncStatus.NO_CHANGE.toString(), book.getBook().getSyncStatus());
    switch(EncodingDetect.USED_METHOD) {
        // break;
        case JUNIVERSALCHARDET:
            assertNull(book.getBook().getDetectedEncoding());
            assertEquals("UTF-8", book.getBook().getUsedEncoding());
            break;
    }
    assertNull(book.getBook().getSelectedEncoding());
}
Also used : Repo(com.orgzly.android.db.entity.Repo) BookView(com.orgzly.android.db.entity.BookView) OrgzlyTest(com.orgzly.android.OrgzlyTest) Test(org.junit.Test)

Aggregations

Repo (com.orgzly.android.db.entity.Repo)38 OrgzlyTest (com.orgzly.android.OrgzlyTest)35 Test (org.junit.Test)35 BookView (com.orgzly.android.db.entity.BookView)11 BookNamesake (com.orgzly.android.sync.BookNamesake)5 File (java.io.File)4 Intent (android.content.Intent)2 Uri (android.net.Uri)2 AppIntent (com.orgzly.android.AppIntent)2 Book (com.orgzly.android.db.entity.Book)2 AlertDialog (android.app.AlertDialog)1 BroadcastReceiver (android.content.BroadcastReceiver)1 Context (android.content.Context)1 IntentFilter (android.content.IntentFilter)1 Configuration (android.content.res.Configuration)1 Bundle (android.os.Bundle)1 Handler (android.os.Handler)1 Menu (android.view.Menu)1 MenuItem (android.view.MenuItem)1 View (android.view.View)1