helper_test.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package config
  2. import (
  3. "io/ioutil"
  4. "os"
  5. "testing"
  6. )
  7. const testConfig = `
  8. default_account = "First Account"
  9. mailbox_path = "../base/mailbox"
  10. default_messages = 50
  11. [[account]]
  12. name = "First Account"
  13. mailbox_path = "/opt"
  14. messages = 30
  15. excluded_folders = ["Draft", "Junk"]
  16. [account.connection]
  17. hostname = "mx.example.com"
  18. port = 993
  19. username = "first@example.com"
  20. password_exec = "echo -n 123qweasdzxc"
  21. [[account]]
  22. name = "Other Account"
  23. [account.connection]
  24. hostname = "mail.personal.me"
  25. port = 666
  26. username = "h4x0R@personal.me"
  27. password = "mySup3r5ekre7p4ssw0rd123"
  28. `
  29. func doTestShellScriptRun(t *testing.T, s *ShellScript) {
  30. if res, err := s.Run(); res != "hello world!" || err != nil {
  31. t.Errorf("Unexpected result:\n\tres -> %s (type: %T)\n\terr -> %s", res, res, err)
  32. }
  33. }
  34. func writeToTempFile(t *testing.T, fileName, content string) *os.File {
  35. dir := t.TempDir()
  36. file, err := ioutil.TempFile(dir, fileName)
  37. if err != nil {
  38. t.Fatal(err)
  39. }
  40. if err = ioutil.WriteFile(file.Name(), []byte(content), 0777); err != nil {
  41. t.Fatal(err)
  42. }
  43. err = os.Chmod(file.Name(), 0777)
  44. if err != nil {
  45. t.Fatal(err)
  46. }
  47. file.Close()
  48. return file
  49. }