Push all ImapDB path management down into to ImapDb.Account.

This stops generating account storage paths, and in particular the
location of attachment files, in a number of different places. Instead,
we determine the paths once, in ImapDb.Account and pass them around as
needed. This will help making the ImapDB classes unit-testable, and
in particular ImapDb.Folder by passing an instance of Db.Database,
rather than ImapDb.Database.
This commit is contained in:
Michael James Gratton 2018-04-27 23:08:51 +10:00
parent 6f7cff219c
commit 5c73fbcba5
6 changed files with 163 additions and 94 deletions

View file

@ -20,8 +20,9 @@ class Geary.ImapDB.DatabaseTest : TestCase {
);
Database db = new Database(
tmp_dir,
tmp_dir.get_child("test.db"),
GLib.File.new_for_path(_SOURCE_ROOT_DIR).get_child("sql"),
tmp_dir.get_child("attachments"),
new Geary.SimpleProgressMonitor(Geary.ProgressType.DB_UPGRADE),
new Geary.SimpleProgressMonitor(Geary.ProgressType.DB_VACUUM),
"test@example.com"