summaryrefslogtreecommitdiff
path: root/internal/server/server_test.go
diff options
context:
space:
mode:
authormihna123 <mihailonvojinovic@gmail.com>2026-09-04 01:13:17 +0200
committermihna123 <mihailonvojinovic@gmail.com>2026-09-04 01:13:17 +0200
commit5907450d569c997809674a2abeec97ddf0afe4aa (patch)
tree7bd5af677b14433b5c18879e08bb672c87e259e1 /internal/server/server_test.go
parenta57f4fcbcd7857286cff854f6d62285df7d098aa (diff)
downloadopenstore-5907450d569c997809674a2abeec97ddf0afe4aa.tar.gz
openstore-5907450d569c997809674a2abeec97ddf0afe4aa.zip
config: add config package and wire it into server and handlers
Replace the hardcoded server.Config with an ini-backed config package that reads /etc/openstore/openstore.conf then the user's config file, so user settings override system ones and both override the built-in defaults. Missing files are ignored rather than fatal. Move route registration into a handlers package that owns the templates and builds a Page view model, which removes the server -> handlers import cycle along with the setter-based context injection.
Diffstat (limited to 'internal/server/server_test.go')
-rw-r--r--internal/server/server_test.go22
1 files changed, 20 insertions, 2 deletions
diff --git a/internal/server/server_test.go b/internal/server/server_test.go
index 7e6a748..aea434f 100644
--- a/internal/server/server_test.go
+++ b/internal/server/server_test.go
@@ -7,6 +7,8 @@ import (
"os"
"strings"
"testing"
+
+ "codeberg.org/mihna123/openstore/internal/config"
)
func TestMain(m *testing.M) {
@@ -14,9 +16,23 @@ func TestMain(m *testing.M) {
os.Exit(m.Run())
}
+func newTestConfig(t *testing.T) *config.Config {
+ t.Helper()
+ return &config.Config{
+ Serve: config.Serve{
+ Addr: ":3000",
+ },
+ Instance: config.Instance{
+ Name: "TestStore",
+ ContactEmail: "test@email.com",
+ BaseURL: "https://example.com",
+ },
+ }
+}
+
func newTestServer(t *testing.T) *Server {
t.Helper()
- return New(&Config{Name: "test"})
+ return New(newTestConfig(t))
}
func TestRoutes(t *testing.T) {
@@ -47,7 +63,9 @@ func TestRoutes(t *testing.T) {
}
func TestIndexRendersTemplate(t *testing.T) {
- s := New(&Config{Name: "testname123"})
+ cfg := newTestConfig(t)
+ cfg.Instance.Name = "testname123"
+ s := New(cfg)
rec := httptest.NewRecorder()
s.mux.ServeHTTP(rec, httptest.NewRequest(http.MethodGet, "/", nil))