Added proper debug logging to safeconn methods
This commit is contained in:
@@ -115,8 +115,8 @@ func Authentication(
|
||||
// Start the transaction
|
||||
tx, err := conn.Begin(ctx)
|
||||
if err != nil {
|
||||
// Failed to start transaction, warn the user they cant login right now
|
||||
logger.Warn().Err(err).Msg("Request failed to start a transaction")
|
||||
// Failed to start transaction, send 503 code to client
|
||||
logger.Warn().Err(err).Msg("Skipping Auth - unable to start a transaction")
|
||||
w.WriteHeader(http.StatusServiceUnavailable)
|
||||
next.ServeHTTP(w, r)
|
||||
return
|
||||
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
"net/http"
|
||||
"net/http/httptest"
|
||||
"strconv"
|
||||
"sync/atomic"
|
||||
"testing"
|
||||
|
||||
"projectreshoot/contexts"
|
||||
@@ -16,15 +17,15 @@ import (
|
||||
)
|
||||
|
||||
func TestAuthenticationMiddleware(t *testing.T) {
|
||||
logger := tests.NilLogger()
|
||||
// Basic setup
|
||||
conn, err := tests.SetupTestDB()
|
||||
require.NoError(t, err)
|
||||
sconn := db.MakeSafe(conn)
|
||||
sconn := db.MakeSafe(conn, logger)
|
||||
defer sconn.Close()
|
||||
|
||||
cfg, err := tests.TestConfig()
|
||||
require.NoError(t, err)
|
||||
logger := tests.DebugLogger(t)
|
||||
|
||||
// Handler to check outcome of Authentication middleware
|
||||
testHandler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
@@ -38,9 +39,10 @@ func TestAuthenticationMiddleware(t *testing.T) {
|
||||
w.Write([]byte(strconv.Itoa(user.ID)))
|
||||
}
|
||||
})
|
||||
|
||||
var maint uint32
|
||||
atomic.StoreUint32(&maint, 0)
|
||||
// Add the middleware and create the server
|
||||
authHandler := Authentication(logger, cfg, sconn, testHandler)
|
||||
authHandler := Authentication(logger, cfg, sconn, testHandler, &maint)
|
||||
require.NoError(t, err)
|
||||
server := httptest.NewServer(authHandler)
|
||||
defer server.Close()
|
||||
|
||||
@@ -3,6 +3,7 @@ package middleware
|
||||
import (
|
||||
"net/http"
|
||||
"net/http/httptest"
|
||||
"sync/atomic"
|
||||
"testing"
|
||||
|
||||
"projectreshoot/db"
|
||||
@@ -13,24 +14,26 @@ import (
|
||||
)
|
||||
|
||||
func TestPageLoginRequired(t *testing.T) {
|
||||
logger := tests.NilLogger()
|
||||
// Basic setup
|
||||
conn, err := tests.SetupTestDB()
|
||||
require.NoError(t, err)
|
||||
sconn := db.MakeSafe(conn)
|
||||
sconn := db.MakeSafe(conn, logger)
|
||||
defer sconn.Close()
|
||||
|
||||
cfg, err := tests.TestConfig()
|
||||
require.NoError(t, err)
|
||||
logger := tests.DebugLogger(t)
|
||||
|
||||
// Handler to check outcome of Authentication middleware
|
||||
testHandler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
w.WriteHeader(http.StatusOK)
|
||||
})
|
||||
|
||||
var maint uint32
|
||||
atomic.StoreUint32(&maint, 0)
|
||||
// Add the middleware and create the server
|
||||
loginRequiredHandler := RequiresLogin(testHandler)
|
||||
authHandler := Authentication(logger, cfg, sconn, loginRequiredHandler)
|
||||
authHandler := Authentication(logger, cfg, sconn, loginRequiredHandler, &maint)
|
||||
server := httptest.NewServer(authHandler)
|
||||
defer server.Close()
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ package middleware
|
||||
import (
|
||||
"net/http"
|
||||
"net/http/httptest"
|
||||
"sync/atomic"
|
||||
"testing"
|
||||
|
||||
"projectreshoot/db"
|
||||
@@ -13,25 +14,27 @@ import (
|
||||
)
|
||||
|
||||
func TestReauthRequired(t *testing.T) {
|
||||
logger := tests.NilLogger()
|
||||
// Basic setup
|
||||
conn, err := tests.SetupTestDB()
|
||||
require.NoError(t, err)
|
||||
sconn := db.MakeSafe(conn)
|
||||
sconn := db.MakeSafe(conn, logger)
|
||||
defer sconn.Close()
|
||||
|
||||
cfg, err := tests.TestConfig()
|
||||
require.NoError(t, err)
|
||||
logger := tests.DebugLogger(t)
|
||||
|
||||
// Handler to check outcome of Authentication middleware
|
||||
testHandler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
w.WriteHeader(http.StatusOK)
|
||||
})
|
||||
|
||||
var maint uint32
|
||||
atomic.StoreUint32(&maint, 0)
|
||||
// Add the middleware and create the server
|
||||
reauthRequiredHandler := RequiresFresh(testHandler)
|
||||
loginRequiredHandler := RequiresLogin(reauthRequiredHandler)
|
||||
authHandler := Authentication(logger, cfg, sconn, loginRequiredHandler)
|
||||
authHandler := Authentication(logger, cfg, sconn, loginRequiredHandler, &maint)
|
||||
server := httptest.NewServer(authHandler)
|
||||
defer server.Close()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user