config.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package test
  2. import (
  3. "os"
  4. "github.com/porter-dev/porter/api/server/shared"
  5. "github.com/porter-dev/porter/internal/auth/sessionstore"
  6. "github.com/porter-dev/porter/internal/auth/token"
  7. "github.com/porter-dev/porter/internal/config"
  8. "github.com/porter-dev/porter/internal/logger"
  9. "github.com/porter-dev/porter/internal/repository/test"
  10. )
  11. type TestConfigLoader struct {
  12. canQuery bool
  13. }
  14. func NewTestConfigLoader(canQuery bool) shared.ConfigLoader {
  15. return &TestConfigLoader{canQuery}
  16. }
  17. func (t *TestConfigLoader) LoadConfig() (*shared.Config, error) {
  18. l := logger.New(true, os.Stdout)
  19. repo := test.NewRepository(t.canQuery)
  20. configFromEnv := config.FromEnv()
  21. store, err := sessionstore.NewStore(repo, configFromEnv.Server)
  22. if err != nil {
  23. return nil, err
  24. }
  25. tokenConf := &token.TokenGeneratorConf{
  26. TokenSecret: configFromEnv.Server.TokenGeneratorSecret,
  27. }
  28. return &shared.Config{
  29. Logger: l,
  30. Repo: repo,
  31. Store: store,
  32. CookieName: configFromEnv.Server.CookieName,
  33. TokenConf: tokenConf,
  34. }, nil
  35. }