diff --git a/test/store/README.md b/store/test/README.md similarity index 100% rename from test/store/README.md rename to store/test/README.md diff --git a/test/store/activity_test.go b/store/test/activity_test.go similarity index 100% rename from test/store/activity_test.go rename to store/test/activity_test.go diff --git a/test/store/idp_test.go b/store/test/idp_test.go similarity index 100% rename from test/store/idp_test.go rename to store/test/idp_test.go diff --git a/test/store/inbox_test.go b/store/test/inbox_test.go similarity index 100% rename from test/store/inbox_test.go rename to store/test/inbox_test.go diff --git a/test/store/memo_relation_test.go b/store/test/memo_relation_test.go similarity index 100% rename from test/store/memo_relation_test.go rename to store/test/memo_relation_test.go diff --git a/test/store/memo_test.go b/store/test/memo_test.go similarity index 100% rename from test/store/memo_test.go rename to store/test/memo_test.go diff --git a/test/store/migrator_test.go b/store/test/migrator_test.go similarity index 100% rename from test/store/migrator_test.go rename to store/test/migrator_test.go diff --git a/test/store/reaction_test.go b/store/test/reaction_test.go similarity index 100% rename from test/store/reaction_test.go rename to store/test/reaction_test.go diff --git a/test/store/resource_test.go b/store/test/resource_test.go similarity index 100% rename from test/store/resource_test.go rename to store/test/resource_test.go diff --git a/test/store/store.go b/store/test/store.go similarity index 68% rename from test/store/store.go rename to store/test/store.go index c1cf3a530..a0516792c 100644 --- a/test/store/store.go +++ b/store/test/store.go @@ -2,20 +2,24 @@ package teststore import ( "context" + "fmt" "log/slog" + "net" + "os" "testing" // sqlite driver. _ "modernc.org/sqlite" + "github.com/joho/godotenv" "github.com/usememos/memos/server/profile" + "github.com/usememos/memos/server/version" "github.com/usememos/memos/store" "github.com/usememos/memos/store/db" - "github.com/usememos/memos/test" ) func NewTestingStore(ctx context.Context, t *testing.T) *store.Store { - profile := test.GetTestingProfile(t) + profile := getTestingProfile(t) dbDriver, err := db.NewDBDriver(profile) if err != nil { slog.Error("failed to create db driver", slog.String("error", err.Error())) @@ -74,3 +78,48 @@ func resetTestingDB(ctx context.Context, profile *profile.Profile, dbDriver stor } } } + +func getUnusedPort() int { + // Get a random unused port + listener, err := net.Listen("tcp", "localhost:0") + if err != nil { + panic(err) + } + defer listener.Close() + + // Get the port number + port := listener.Addr().(*net.TCPAddr).Port + return port +} + +func getTestingProfile(t *testing.T) *profile.Profile { + if err := godotenv.Load(".env"); err != nil { + t.Log("failed to load .env file, but it's ok") + } + + // Get a temporary directory for the test data. + dir := t.TempDir() + mode := "prod" + port := getUnusedPort() + driver := getDriverFromEnv() + dsn := os.Getenv("DSN") + if driver == "sqlite" { + dsn = fmt.Sprintf("%s/memos_%s.db", dir, mode) + } + return &profile.Profile{ + Mode: mode, + Port: port, + Data: dir, + DSN: dsn, + Driver: driver, + Version: version.GetCurrentVersion(mode), + } +} + +func getDriverFromEnv() string { + driver := os.Getenv("DRIVER") + if driver == "" { + driver = "sqlite" + } + return driver +} diff --git a/test/store/user_setting_test.go b/store/test/user_setting_test.go similarity index 100% rename from test/store/user_setting_test.go rename to store/test/user_setting_test.go diff --git a/test/store/user_test.go b/store/test/user_test.go similarity index 100% rename from test/store/user_test.go rename to store/test/user_test.go diff --git a/test/store/webhook_test.go b/store/test/webhook_test.go similarity index 100% rename from test/store/webhook_test.go rename to store/test/webhook_test.go diff --git a/test/store/workspace_setting_test.go b/store/test/workspace_setting_test.go similarity index 100% rename from test/store/workspace_setting_test.go rename to store/test/workspace_setting_test.go diff --git a/test/test.go b/test/test.go deleted file mode 100644 index 81a7a1f9a..000000000 --- a/test/test.go +++ /dev/null @@ -1,58 +0,0 @@ -package test - -import ( - "fmt" - "net" - "os" - "testing" - - "github.com/joho/godotenv" - - "github.com/usememos/memos/server/profile" - "github.com/usememos/memos/server/version" -) - -func getUnusedPort() int { - // Get a random unused port - listener, err := net.Listen("tcp", "localhost:0") - if err != nil { - panic(err) - } - defer listener.Close() - - // Get the port number - port := listener.Addr().(*net.TCPAddr).Port - return port -} - -func GetTestingProfile(t *testing.T) *profile.Profile { - if err := godotenv.Load(".env"); err != nil { - t.Log("failed to load .env file, but it's ok") - } - - // Get a temporary directory for the test data. - dir := t.TempDir() - mode := "prod" - port := getUnusedPort() - driver := getDriverFromEnv() - dsn := os.Getenv("DSN") - if driver == "sqlite" { - dsn = fmt.Sprintf("%s/memos_%s.db", dir, mode) - } - return &profile.Profile{ - Mode: mode, - Port: port, - Data: dir, - DSN: dsn, - Driver: driver, - Version: version.GetCurrentVersion(mode), - } -} - -func getDriverFromEnv() string { - driver := os.Getenv("DRIVER") - if driver == "" { - driver = "sqlite" - } - return driver -}