[PATCH v2 18/20] test: add tests for insert

2012-11-25 Thread Mark Walters
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

2012-11-25 Thread Peter Wang
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

2012-11-25 Thread Mark Walters
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

2012-11-24 Thread Peter Wang
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