34 lines
808 B
Go
34 lines
808 B
Go
package domain
|
|
|
|
import (
|
|
"net"
|
|
"net/netip"
|
|
"path/filepath"
|
|
"strconv"
|
|
"testing"
|
|
)
|
|
|
|
type Config struct {
|
|
ContentDir string `env:"CONTENT_DIR" envDefault:"content"`
|
|
Host string `env:"HOST" envDefault:"0.0.0.0"`
|
|
ThemeDir string `env:"THEME_DIR" envDefault:"theme"`
|
|
StaticDir string `env:"STATIC_DIR" envDefault:"static"`
|
|
Port uint16 `env:"PORT" envDefault:"3000"`
|
|
}
|
|
|
|
func TestConfig(tb testing.TB) *Config {
|
|
tb.Helper()
|
|
|
|
return &Config{
|
|
ContentDir: filepath.Join("testdata", "content"),
|
|
Host: "0.0.0.0",
|
|
ThemeDir: filepath.Join("testdata", "theme"),
|
|
StaticDir: filepath.Join("testdata", "static"),
|
|
Port: 3000,
|
|
}
|
|
}
|
|
|
|
func (c Config) AddrPort() netip.AddrPort {
|
|
return netip.MustParseAddrPort(net.JoinHostPort(c.Host, strconv.FormatUint(uint64(c.Port), 10)))
|
|
}
|