test.go 733 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package test
  2. import (
  3. "fmt"
  4. "net"
  5. "testing"
  6. "github.com/usememos/memos/server/profile"
  7. "github.com/usememos/memos/server/version"
  8. )
  9. func getUnusedPort() int {
  10. // Get a random unused port
  11. listener, err := net.Listen("tcp", "localhost:0")
  12. if err != nil {
  13. panic(err)
  14. }
  15. defer listener.Close()
  16. // Get the port number
  17. port := listener.Addr().(*net.TCPAddr).Port
  18. return port
  19. }
  20. func GetTestingProfile(t *testing.T) *profile.Profile {
  21. // Get a temporary directory for the test data.
  22. dir := t.TempDir()
  23. mode := "dev"
  24. port := getUnusedPort()
  25. return &profile.Profile{
  26. Mode: mode,
  27. Port: port,
  28. Data: dir,
  29. DSN: fmt.Sprintf("%s/memos_%s.db", dir, mode),
  30. Version: version.GetCurrentVersion(mode),
  31. }
  32. }