No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 

110 líneas
3.0 KiB

  1. #!/usr/bin/env bats
  2. # needs:
  3. # bash-bats
  4. #
  5. # run with:
  6. # bats --tap test_mw.bats
  7. run_only_test() {
  8. if [ "$BATS_TEST_NUMBER" -ne "$1" ]; then
  9. skip
  10. fi
  11. }
  12. #these are called for every test
  13. setup()
  14. {
  15. run_only_test 6
  16. rm -rf mwtesttmp
  17. XDG_CONFIG_HOME=mwtesttmp/config \
  18. MAILDIR=mwtesttmp/share/mail \
  19. XDG_CACHE_HOME=mwtesttmp/cache \
  20. source ../bin/mw
  21. export NOTMUCH_CONFIG=mwtesttmp/config/notmuch-config
  22. export mwname="real name"
  23. export mwaddr="full.addr@gmail.com"
  24. export mwlogin="$mwaddr"
  25. export mailboxes="[Gmail]/INBOX"
  26. export mwshare=$PWD/../share
  27. function pass() { return 0; }
  28. export pass
  29. }
  30. teardown()
  31. {
  32. if [ -z "$TEST_FUNCTION" ]
  33. then
  34. rm -rf mwtesttmp
  35. fi
  36. }
  37. #1
  38. @test "check config" {
  39. [ "$mwmbsyncrc" = "mwtesttmp/config/isync/mbsyncrc" ]
  40. [ "$mwmsmtprc" = "mwtesttmp/config/msmtp/config" ]
  41. }
  42. #2
  43. @test "add online" {
  44. mwtype="online" run _mwadd
  45. [ -f mwtesttmp/config/mutt/muttrc ]
  46. [ -f mwtesttmp/config/mutt/accounts/1-$mwaddr.mwonofftype.online.muttrc ]
  47. [ "$(cat mwtesttmp/config/isync/mbsyncrc | sed -ne '/^\s*\w/p')" = "" ]
  48. [ ! "$(cat mwtesttmp/config/msmtp/config | sed -ne '/^account/p')" = "" ]
  49. [ ! -f mwtesttmp/config/notmuch-config ]
  50. }
  51. #3
  52. @test "add offline unsuccessful" {
  53. export mailboxes="[Gmail]/OTHER"
  54. mwtype="offline" run _mwadd
  55. [ -f mwtesttmp/config/mutt/muttrc ]
  56. [ -d mwtesttmp/config/mutt/accounts ]
  57. [ ! -f mwtesttmp/config/mutt/accounts/1-$mwaddr.mwonofftype.offline.muttrc ]
  58. [ "$(cat mwtesttmp/config/isync/mbsyncrc | sed -ne '/^\s*\w/p')" = "" ]
  59. [ "$(cat mwtesttmp/config/msmtp/config | sed -ne '/^account/p')" = "" ]
  60. [ ! -f mwtesttmp/config/notmuch-config ]
  61. }
  62. #4
  63. @test "add offline successfully" {
  64. mwtype="offline" run _mwadd
  65. [ -f mwtesttmp/config/mutt/muttrc ]
  66. [ -d mwtesttmp/config/mutt/accounts ]
  67. [ -f mwtesttmp/config/mutt/accounts/1-$mwaddr.mwonofftype.offline.muttrc ]
  68. [ -f mwtesttmp/config/notmuch-config ]
  69. cat mwtesttmp/config/isync/mbsyncrc | sed -ne '/^\s*\w/p'
  70. [ ! "$(cat mwtesttmp/config/isync/mbsyncrc | sed -ne '/^\s*\w/p')" = "" ]
  71. [ ! "$(cat mwtesttmp/config/msmtp/config | sed -ne '/^account/p')" = "" ]
  72. run _mwlist
  73. [ "$(echo $lines | awk '{print $2}')" = "$mwaddr" ]
  74. }
  75. #5
  76. @test "delete account" {
  77. mwtype="online" run _mwadd
  78. mwtype="offline" run _mwadd
  79. mwpick="1" _mwpick delete && _mwdelete
  80. [ ! -f mwtesttmp/config/mutt/accounts/1-$mwaddr.mwonofftype.online.muttrc ]
  81. [ ! "$(cat mwtesttmp/config/isync/mbsyncrc | sed -ne '/^\s*\w/p')" = "" ]
  82. [ ! "$(cat mwtesttmp/config/msmtp/config | sed -ne '/^account/p')" = "" ]
  83. }
  84. #6
  85. @test "cron" {
  86. mwtype="online" run _mwadd
  87. function pgrep() { return 0; }
  88. export pgrep
  89. function crontab() { echo 'none'; }
  90. export crontab
  91. mwcronminutes=99 run _mwcron
  92. chkline="${lines[2]}"
  93. [ "${chkline::14}" = "Cronjob added." ]
  94. function crontab() { echo 'mailsync'; }
  95. export crontab
  96. mwcronremove=y run _mwcron
  97. chkline="${lines[1]}"
  98. [ "${chkline#*turned}" = " off." ]
  99. }