mirror of
https://github.com/go-shiori/shiori.git
synced 2025-11-08 06:11:36 +08:00
* config: backwards comptabile dir * remove duplicated frontend * frontend: move assets to assets folder * legacy routes handler in gin * templates and asset in different embed * new routes * frontend routes serve old views * added DTO for account object * api auth calls legacy handler * frontend: handle new error messages * frontend: update urls * frontend: login using new api * updated frontend tests * chore: remove debug route * create shiori/gopher user if no owner is present * server as default command * serve -> server * refactored database logic, allow database url * removed unused configuration * storage docs * refactor cli to use cfg and deps * check errors only in server * log fatal instead of os exit * dont default data directory to current dir * fixed sqlite path * trigger build on prs * avoid releasing if lint/test fails * pull request condition * event -> event_name * Get correct pull request number * added workflow to delete dangling tags * fix: nil error checking * set gin mode first * set gin mode before initialization * fix logger * allow version bump from custom ref * Updated matrix link to workspace
37 lines
1,018 B
Go
37 lines
1,018 B
Go
package testutil
|
|
|
|
import (
|
|
"context"
|
|
"os"
|
|
"testing"
|
|
|
|
"github.com/go-shiori/shiori/internal/config"
|
|
"github.com/go-shiori/shiori/internal/database"
|
|
"github.com/go-shiori/shiori/internal/domains"
|
|
"github.com/sirupsen/logrus"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func GetTestConfigurationAndDependencies(t *testing.T, ctx context.Context, logger *logrus.Logger) (*config.Config, *config.Dependencies) {
|
|
tmp, err := os.CreateTemp("", "")
|
|
require.NoError(t, err)
|
|
|
|
cfg := config.ParseServerConfiguration(ctx, logger)
|
|
cfg.Http.SecretKey = "test"
|
|
|
|
tempDir, err := os.MkdirTemp("", "")
|
|
require.NoError(t, err)
|
|
|
|
db, err := database.OpenSQLiteDatabase(ctx, tmp.Name())
|
|
require.NoError(t, err)
|
|
require.NoError(t, db.Migrate())
|
|
|
|
cfg.Storage.DataDir = tempDir
|
|
|
|
deps := config.NewDependencies(logger, db, cfg)
|
|
deps.Database = db
|
|
deps.Domains.Auth = domains.NewAccountsDomain(logger, cfg.Http.SecretKey, db)
|
|
deps.Domains.Archiver = domains.NewArchiverDomain(logger, cfg.Storage.DataDir)
|
|
|
|
return cfg, deps
|
|
}
|