env_test.go 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package env
  2. import (
  3. "io"
  4. "os"
  5. "path"
  6. "strings"
  7. "testing"
  8. )
  9. // Testing that the template writer creates the appropriate data
  10. func TestWriteTemplate(t *testing.T) {
  11. tmp := t.TempDir()
  12. envTmp := path.Join(tmp, ".env")
  13. wr, err := os.Create(envTmp)
  14. if err != nil {
  15. t.Errorf("failed to created test file: %s\n", err.Error())
  16. }
  17. defer wr.Close()
  18. err = WriteTemplate(wr)
  19. if err != nil {
  20. t.Errorf("failed to write to test file: %s\n", err.Error())
  21. }
  22. wr.Close()
  23. r, err := os.Open(envTmp)
  24. if err != nil {
  25. t.Errorf("failed to open test file for reading: %s\n", err.Error())
  26. }
  27. got, err := io.ReadAll(r)
  28. if err != nil {
  29. t.Errorf("failed to read from open file: %s\n", err.Error())
  30. }
  31. want := []string{
  32. KEIJI_USERNAME,
  33. KEIJI_PASSWORD,
  34. IMAGE_STORE,
  35. WEB_ROOT,
  36. DOMAIN_NAME,
  37. HOST_PORT,
  38. HOST_ADDR,
  39. USE_SSL,
  40. CHAIN,
  41. KEY,
  42. }
  43. for i := range want {
  44. if !strings.Contains(string(got), want[i]) {
  45. t.Errorf("test failed! Template file with content: '%s'\n Did not contain: '%s'\n", string(got), want[i])
  46. }
  47. }
  48. }