Add tests for new 'insert' command. --- test/insert | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ test/notmuch-test | 1 + 2 files changed, 94 insertions(+) create mode 100755 test/insert diff --git a/test/insert b/test/insert new file mode 100755 index 0000000..d821a41 --- /dev/null +++ b/test/insert @@ -0,0 +1,93 @@ +#!/usr/bin/env bash +test_description='"notmuch insert"' +. ./test-lib.sh + +# Create directories and database before inserting. +mkdir -p "$MAIL_DIR"/{cur,new,tmp} +mkdir -p "$MAIL_DIR"/Drafts/{cur,new,tmp} +notmuch new > /dev/null + +# We use generate_message to create the temporary message file. +# It happens to be in the mail directory already but that is okay. + +test_begin_subtest "Insert message, default" +generate_message \ + "[subject]=\"insert-subject\"" \ + "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" \ + "[body]=\"insert-message\"" +notmuch insert < "$gen_msg_filename" +test_expect_equal "`notmuch count subject:insert-subject tag:unread`" "1" + +test_begin_subtest "Insert message, add tag" +generate_message \ + "[subject]=\"insert-subject-addtag\"" \ + "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" \ + "[body]=\"insert-message-addtag\"" +notmuch insert +custom < "$gen_msg_filename" +test_expect_equal "`notmuch count tag:custom`" "1" + +test_begin_subtest "Insert message, add/remove tag" +generate_message \ + "[subject]=\"insert-subject-addrmtag\"" \ + "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" \ + "[body]=\"insert-message-addrmtag\"" +notmuch insert +custom -unread < "$gen_msg_filename" +test_expect_equal "`notmuch count tag:custom NOT tag:unread`" "1" + +test_begin_subtest "Insert message, folder" +generate_message \ + "[subject]=\"insert-subject-draft\"" \ + "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" \ + "[body]=\"insert-message-draft\"" +notmuch insert --folder=Drafts < "$gen_msg_filename" +test_expect_equal "`notmuch count folder:Drafts`" "1" + +test_begin_subtest "Insert message, folder and tags" +generate_message \ + "[subject]=\"insert-subject-draft\"" \ + "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" \ + "[body]=\"insert-message-draft\"" +notmuch insert --folder=Drafts +draft -unread < "$gen_msg_filename" +test_expect_equal "`notmuch count folder:Drafts tag:draft NOT tag:unread`" "1" + +test_begin_subtest "Insert message, non-existent folder" +generate_message \ + "[subject]=\"insert-subject-nonexistfolder\"" \ + "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" \ + "[body]=\"insert-message-nonexistfolder\"" +notmuch insert --folder=nonesuch < "$gen_msg_filename" +test_expect_equal "$?" "1" + +test_begin_subtest "Insert message, create folder" +generate_message \ + "[subject]=\"insert-subject-createfolder\"" \ + "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" \ + "[body]=\"insert-message-createfolder\"" +notmuch insert --folder=F --create-folder +folder < "$gen_msg_filename" +test_expect_equal "`notmuch count folder:F tag:folder`" "1" + +test_begin_subtest "Insert message, create subfolder" +generate_message \ + "[subject]=\"insert-subject-createfolder\"" \ + "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" \ + "[body]=\"insert-message-createfolder\"" +notmuch insert --folder=F/G/H/I/J --create-folder +folder < "$gen_msg_filename" +test_expect_equal "`notmuch count folder:F/G/H/I/J tag:folder`" "1" + +test_begin_subtest "Insert message, create existing subfolder" +generate_message \ + "[subject]=\"insert-subject-createfolder\"" \ + "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" \ + "[body]=\"insert-message-createfolder\"" +notmuch insert --folder=F/G/H/I/J --create-folder +folder < "$gen_msg_filename" +test_expect_equal "`notmuch count folder:F/G/H/I/J tag:folder`" "2" + +test_begin_subtest "Insert message, create invalid subfolder" +generate_message \ + "[subject]=\"insert-subject-createinvalidfolder\"" \ + "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" \ + "[body]=\"insert-message-createinvalidfolder\"" +notmuch insert --folder=../G --create-folder < "$gen_msg_filename" +test_expect_equal "$?" "1" + +test_done diff --git a/test/notmuch-test b/test/notmuch-test index 9a1b375..09be44c 100755 --- a/test/notmuch-test +++ b/test/notmuch-test @@ -22,6 +22,7 @@ TESTS=" config new count + insert search search-output search-by-folder -- 1.7.12.1