4726bc366ecebda8fc48e694ad802403ea4c6807
[notmuch] / test / T390-python.sh
1 #!/usr/bin/env bash
2 test_description="python bindings"
3 . ./test-lib.sh || exit 1
4
5 test_require_external_prereq ${NOTMUCH_PYTHON}
6
7 add_email_corpus
8
9 test_begin_subtest "compare thread ids"
10 test_python <<EOF
11 import notmuch
12 db = notmuch.Database(mode=notmuch.Database.MODE.READ_ONLY)
13 q_new = notmuch.Query(db, 'tag:inbox')
14 q_new.set_sort(notmuch.Query.SORT.OLDEST_FIRST)
15 for t in q_new.search_threads():
16     print (t.get_thread_id())
17 EOF
18 notmuch search --sort=oldest-first --output=threads tag:inbox | sed s/^thread:// > EXPECTED
19 test_expect_equal_file OUTPUT EXPECTED
20
21 test_begin_subtest "compare message ids"
22 test_python <<EOF
23 import notmuch
24 db = notmuch.Database(mode=notmuch.Database.MODE.READ_ONLY)
25 q_new = notmuch.Query(db, 'tag:inbox')
26 q_new.set_sort(notmuch.Query.SORT.OLDEST_FIRST)
27 for m in q_new.search_messages():
28     print (m.get_message_id())
29 EOF
30 notmuch search --sort=oldest-first --output=messages tag:inbox | sed s/^id:// > EXPECTED
31 test_expect_equal_file OUTPUT EXPECTED
32
33 test_begin_subtest "get non-existent file"
34 test_python <<EOF
35 import notmuch
36 db = notmuch.Database(mode=notmuch.Database.MODE.READ_ONLY)
37 print (db.find_message_by_filename("i-dont-exist"))
38 EOF
39 test_expect_equal "$(cat OUTPUT)" "None"
40
41 test_done