mirror of
https://github.com/Dvorinka/Bookra.git
synced 2026-06-03 20:13:00 +00:00
56 lines
1.4 KiB
Go
56 lines
1.4 KiB
Go
package api
|
|
|
|
import (
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"testing"
|
|
|
|
"bookra/apps/backend/internal/config"
|
|
)
|
|
|
|
func TestDispatchReminderJobsRequiresJobRunnerKey(t *testing.T) {
|
|
server, err := NewServer(config.Config{
|
|
Environment: "development",
|
|
FrontendURL: "http://localhost:3000",
|
|
APIURL: "http://localhost:8080",
|
|
DemoMode: true,
|
|
}, nil)
|
|
if err != nil {
|
|
t.Fatalf("new server: %v", err)
|
|
}
|
|
defer server.Close()
|
|
|
|
request := httptest.NewRequest(http.MethodPost, "/v1/internal/jobs/reminders/dispatch", nil)
|
|
recorder := httptest.NewRecorder()
|
|
|
|
server.Handler().ServeHTTP(recorder, request)
|
|
|
|
if recorder.Code != http.StatusUnauthorized {
|
|
t.Fatalf("expected 401, got %d body=%s", recorder.Code, recorder.Body.String())
|
|
}
|
|
}
|
|
|
|
func TestDispatchReminderJobsAcceptsConfiguredJobRunnerKey(t *testing.T) {
|
|
server, err := NewServer(config.Config{
|
|
Environment: "development",
|
|
FrontendURL: "http://localhost:3000",
|
|
APIURL: "http://localhost:8080",
|
|
JobRunnerKey: "job-secret",
|
|
DemoMode: true,
|
|
}, nil)
|
|
if err != nil {
|
|
t.Fatalf("new server: %v", err)
|
|
}
|
|
defer server.Close()
|
|
|
|
request := httptest.NewRequest(http.MethodPost, "/v1/internal/jobs/reminders/dispatch", nil)
|
|
request.Header.Set("X-Bookra-Job-Key", "job-secret")
|
|
recorder := httptest.NewRecorder()
|
|
|
|
server.Handler().ServeHTTP(recorder, request)
|
|
|
|
if recorder.Code != http.StatusOK {
|
|
t.Fatalf("expected 200, got %d body=%s", recorder.Code, recorder.Body.String())
|
|
}
|
|
}
|