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();
}
}
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());
}
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());
}
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());
}
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());
}
Aggregations