[PATCH v2 18/20] test: add tests for insert
On Sun, 25 Nov 2012, Peter Wang wrote: > 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 000..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. Perhaps add "since we do not call notmuch new". > + > +test_begin_subtest "Insert message, default" > +generate_message \ > +"[subject]=\"insert-subject\"" \ > +"[date]=\"Sat, 01 Jan 2000 12:00:00 -\"" \ > +"[body]=\"insert-message\"" > +notmuch insert < "$gen_msg_filename" > +test_expect_equal "`notmuch count subject:insert-subject tag:unread`" "1" I would much prefer to test that we have the proper full message here with something like notmuch show or something. I would like something that tests that the full message has actually been written to disk. > +test_begin_subtest "Insert message, add tag" > +generate_message \ > +"[subject]=\"insert-subject-addtag\"" \ > +"[date]=\"Sat, 01 Jan 2000 12:00:00 -\"" \ > +"[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 -\"" \ > +"[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 -\"" \ > +"[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 -\"" \ > +"[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 -\"" \ > +"[body]=\"insert-message-nonexistfolder\"" > +notmuch insert --folder=nonesuch < "$gen_msg_filename" > +test_expect_equal "$?" "1" Here and for other error cases you could check that the correct error message is being returned. Best wishes Mark > + > +test_begin_subtest "Insert message, create folder" > +generate_message \ > +"[subject]=\"insert-subject-createfolder\"" \ > +"[date]=\"Sat, 01 Jan 2000 12:00:00 -\"" \ > +"[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 -\"" \ > +"[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 -\"" \ > +"[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 -\"" \ > +"[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
[PATCH v2 18/20] test: add tests for insert
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 000..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 -\"" \ +"[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 -\"" \ +"[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 -\"" \ +"[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 -\"" \ +"[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 -\"" \ +"[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 -\"" \ +"[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 -\"" \ +"[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 -\"" \ +"[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 -\"" \ +"[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 -\"" \ +"[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
Re: [PATCH v2 18/20] test: add tests for insert
On Sun, 25 Nov 2012, Peter Wang noval...@gmail.com wrote: 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 000..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. Perhaps add since we do not call notmuch new. + +test_begin_subtest Insert message, default +generate_message \ +[subject]=\insert-subject\ \ +[date]=\Sat, 01 Jan 2000 12:00:00 -\ \ +[body]=\insert-message\ +notmuch insert $gen_msg_filename +test_expect_equal `notmuch count subject:insert-subject tag:unread` 1 I would much prefer to test that we have the proper full message here with something like notmuch show or something. I would like something that tests that the full message has actually been written to disk. +test_begin_subtest Insert message, add tag +generate_message \ +[subject]=\insert-subject-addtag\ \ +[date]=\Sat, 01 Jan 2000 12:00:00 -\ \ +[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 -\ \ +[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 -\ \ +[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 -\ \ +[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 -\ \ +[body]=\insert-message-nonexistfolder\ +notmuch insert --folder=nonesuch $gen_msg_filename +test_expect_equal $? 1 Here and for other error cases you could check that the correct error message is being returned. Best wishes Mark + +test_begin_subtest Insert message, create folder +generate_message \ +[subject]=\insert-subject-createfolder\ \ +[date]=\Sat, 01 Jan 2000 12:00:00 -\ \ +[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 -\ \ +[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 -\ \ +[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 -\ \ +[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 ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch ___ notmuch mailing list notmuch@notmuchmail.org
[PATCH v2 18/20] test: add tests for insert
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 000..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 -\ \ +[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 -\ \ +[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 -\ \ +[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 -\ \ +[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 -\ \ +[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 -\ \ +[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 -\ \ +[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 -\ \ +[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 -\ \ +[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 -\ \ +[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 ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch