test: tests for python bindings get_property / get_properties

These roughly replicate the equivalent C tests, although they rely on
the database state created by the former tests, since the python
bindings currently provide read-only access to properties.
This commit is contained in:
David Bremner 2018-05-02 20:30:51 -03:00
parent 5e05f00fe5
commit f3f4297c7f

View file

@ -256,4 +256,63 @@ id:4EFC743A.3060609@april.org
EOF
test_expect_equal_file EXPECTED OUTPUT
test_begin_subtest "msg.get_property (python)"
test_python <<'EOF'
import notmuch
db = notmuch.Database(mode=notmuch.Database.MODE.READ_WRITE)
msg = db.find_message("4EFC743A.3060609@april.org")
print("testkey1 = {0}".format(msg.get_property("testkey1")))
print("testkey3 = {0}".format(msg.get_property("testkey3")))
EOF
cat <<'EOF' > EXPECTED
testkey1 = alice
testkey3 = alice3
EOF
test_expect_equal_file EXPECTED OUTPUT
test_begin_subtest "msg.get_properties (python)"
test_python <<'EOF'
import notmuch
db = notmuch.Database(mode=notmuch.Database.MODE.READ_ONLY)
msg = db.find_message("4EFC743A.3060609@april.org")
for (key,val) in msg.get_properties("testkey1"):
print("{0} = {1}".format(key,val))
EOF
cat <<'EOF' > EXPECTED
testkey1 = alice
testkey1 = bob
testkey1 = testvalue1
testkey1 = testvalue2
EOF
test_expect_equal_file EXPECTED OUTPUT
test_begin_subtest "msg.get_properties (python, prefix)"
test_python <<'EOF'
import notmuch
db = notmuch.Database(mode=notmuch.Database.MODE.READ_ONLY)
msg = db.find_message("4EFC743A.3060609@april.org")
for (key,val) in msg.get_properties("testkey"):
print("{0} = {1}".format(key,val))
EOF
cat <<'EOF' > EXPECTED
testkey1 = alice
testkey1 = bob
testkey1 = testvalue1
testkey1 = testvalue2
testkey3 = alice3
testkey3 = bob3
testkey3 = testvalue3
EOF
test_expect_equal_file EXPECTED OUTPUT
test_begin_subtest "msg.get_properties (python, exact)"
test_python <<'EOF'
import notmuch
db = notmuch.Database(mode=notmuch.Database.MODE.READ_ONLY)
msg = db.find_message("4EFC743A.3060609@april.org")
for (key,val) in msg.get_properties("testkey",True):
print("{0} = {1}".format(key,val))
EOF
test_expect_equal_file /dev/null OUTPUT
test_done