# HG changeset patch
# User Axel Prel <axel.prel@xcg-consulting.fr>
# Date 1741601528 -3600
#      Mon Mar 10 11:12:08 2025 +0100
# Node ID 507b35aafde69cecbe3862cb6a1ffc80fc864250
# Parent  9b011e15618d090595ee1f2609d47b8ffc6d6862
remove context in NewAPITester

diff --git a/HISTORY.rst b/HISTORY.rst
--- a/HISTORY.rst
+++ b/HISTORY.rst
@@ -1,6 +1,8 @@
 Release history
 ===============
 
+- apitester: remove context in NewAPITester
+
 - go 1.24.1
 
 - template-varlist: fix error handling
diff --git a/restapi/handlers/account-template-update_test.go b/restapi/handlers/account-template-update_test.go
--- a/restapi/handlers/account-template-update_test.go
+++ b/restapi/handlers/account-template-update_test.go
@@ -10,16 +10,11 @@
 	"orus.io/orus-io/go-orusapi/database"
 
 	"orus.io/orus-io/rednerd/models"
-	"orus.io/orus-io/rednerd/testutils"
 	"orus.io/orus-io/rednerd/testutils/apitester"
 )
 
 func TestAccountTemplateUpdate(t *testing.T) {
-	log := testutils.GetLogger(t)
-	ctx := t.Context()
-	ctx = log.WithContext(ctx)
-
-	tester := apitester.NewAPITester(ctx, t, nil)
+	tester := apitester.NewAPITester(t, nil)
 	tmpl := models.Template{
 		Account:    "janedoe",
 		Name:       "hello",
@@ -52,7 +47,7 @@
 
 	t.Run("Update body", func(t *testing.T) {
 		defer func() {
-			_, _ = database.Exec(tester.DB, squirrel.Delete(models.TemplateDBTable), &log)
+			_, _ = database.Exec(tester.DB, squirrel.Delete(models.TemplateDBTable), &tester.Logger)
 		}()
 
 		var responseTemplate models.Template
@@ -77,7 +72,7 @@
 
 	t.Run("Rename", func(t *testing.T) {
 		defer func() {
-			_, _ = database.Exec(tester.DB, squirrel.Delete(models.TemplateDBTable), &log)
+			_, _ = database.Exec(tester.DB, squirrel.Delete(models.TemplateDBTable), &tester.Logger)
 		}()
 
 		var responseTemplate models.Template
diff --git a/restapi/handlers/renderlogs_test.go b/restapi/handlers/renderlogs_test.go
--- a/restapi/handlers/renderlogs_test.go
+++ b/restapi/handlers/renderlogs_test.go
@@ -14,9 +14,7 @@
 )
 
 func TestRenderLogs(t *testing.T) {
-	ctx := t.Context()
-
-	tester := apitester.NewAPITester(ctx, t, nil)
+	tester := apitester.NewAPITester(t, nil)
 	defer tester.Close()
 
 	now := time.Now()
diff --git a/restapi/handlers/user-get_test.go b/restapi/handlers/user-get_test.go
--- a/restapi/handlers/user-get_test.go
+++ b/restapi/handlers/user-get_test.go
@@ -3,52 +3,15 @@
 import (
 	"net/http"
 	"testing"
-	"time"
 
-	"github.com/rs/zerolog"
 	"github.com/stretchr/testify/require"
-	"orus.io/orus-io/go-orusapi/database"
 
 	"orus.io/orus-io/rednerd/models"
-	"orus.io/orus-io/rednerd/testutils"
 	"orus.io/orus-io/rednerd/testutils/apitester"
 )
 
-func AddUserActivity(
-	t *testing.T,
-	log zerolog.Logger,
-	db *database.TestDB,
-	username string,
-	qtyCurrentMonth, qtyLastMonth int,
-) {
-	t.Helper()
-
-	renderList := make([]*models.RenderLog, 0, qtyCurrentMonth+qtyLastMonth)
-
-	for range qtyCurrentMonth {
-		rd := models.NewRenderLog(time.Now(), "text", "mjml", username)
-		rd.SetDuration(time.Second)
-		renderList = append(renderList, rd)
-	}
-
-	for range qtyLastMonth {
-		rd := models.NewRenderLog(time.Now().AddDate(0, -1, 0), "text", "mjml", username)
-		rd.SetDuration(time.Second)
-		renderList = append(renderList, rd)
-	}
-
-	for _, rlog := range renderList {
-		_, err := database.Exec(db, database.SQLInsert(rlog), &log)
-		require.NoError(t, err)
-	}
-}
-
 func TestUserGet(t *testing.T) {
-	log := testutils.GetLogger(t)
-	ctx := t.Context()
-	ctx = log.WithContext(ctx)
-
-	tester := apitester.NewAPITester(ctx, t, nil)
+	tester := apitester.NewAPITester(t, nil)
 	defer tester.Close()
 
 	// login as admin and create a user
@@ -58,7 +21,7 @@
 	// adding some dummy activity for the user JohnDoe
 	qtyCurrentMonth := 4
 	qtyLastMonth := 2
-	AddUserActivity(t, log, tester.DB, "johndoe",
+	tester.AddUserActivity("johndoe",
 		qtyCurrentMonth, qtyLastMonth)
 
 	tester.Logout()
diff --git a/restapi/handlers/user-list_test.go b/restapi/handlers/user-list_test.go
--- a/restapi/handlers/user-list_test.go
+++ b/restapi/handlers/user-list_test.go
@@ -8,16 +8,11 @@
 	"github.com/stretchr/testify/require"
 
 	"orus.io/orus-io/rednerd/models"
-	"orus.io/orus-io/rednerd/testutils"
 	"orus.io/orus-io/rednerd/testutils/apitester"
 )
 
 func TestUserList(t *testing.T) {
-	log := testutils.GetLogger(t)
-	ctx := t.Context()
-	ctx = log.WithContext(ctx)
-
-	tester := apitester.NewAPITester(ctx, t, nil)
+	tester := apitester.NewAPITester(t, nil)
 	defer tester.Close()
 
 	// login as admin and create 10 users
@@ -27,7 +22,7 @@
 		john := "johndoe_" + strconv.Itoa(k)
 		tester.CreateUser(john, "password"+strconv.Itoa(k))
 		// adding some dummy activity for the user JohnDoe
-		AddUserActivity(t, log, tester.DB, john, 4, 2)
+		tester.AddUserActivity(john, 4, 2)
 	}
 
 	tester.Logout()
diff --git a/restapi/handlers/user-update_test.go b/restapi/handlers/user-update_test.go
--- a/restapi/handlers/user-update_test.go
+++ b/restapi/handlers/user-update_test.go
@@ -7,16 +7,11 @@
 	"github.com/stretchr/testify/require"
 
 	"orus.io/orus-io/rednerd/models"
-	"orus.io/orus-io/rednerd/testutils"
 	"orus.io/orus-io/rednerd/testutils/apitester"
 )
 
 func TestUserUpdate(t *testing.T) {
-	log := testutils.GetLogger(t)
-	ctx := t.Context()
-	ctx = log.WithContext(ctx)
-
-	tester := apitester.NewAPITester(ctx, t, nil)
+	tester := apitester.NewAPITester(t, nil)
 	defer tester.Close()
 
 	// login as admin and create a user
@@ -27,7 +22,7 @@
 	// adding some dummy activity for the user JohnDoe
 	qtyCurrentMonth := 4
 	qtyLastMonth := 2
-	AddUserActivity(t, log, tester.DB, "johndoe",
+	tester.AddUserActivity("johndoe",
 		qtyCurrentMonth, qtyLastMonth)
 
 	r := tester.APITest("user_get").
diff --git a/tests/auth_test.go b/tests/auth_test.go
--- a/tests/auth_test.go
+++ b/tests/auth_test.go
@@ -15,7 +15,7 @@
 func TestAuthentication(t *testing.T) {
 	ctx := t.Context()
 
-	tester := apitester.NewAPITester(ctx, t, nil)
+	tester := apitester.NewAPITester(t, nil)
 	defer tester.Close()
 
 	t.Run("WebToken", func(t *testing.T) {
diff --git a/tests/forgot_password_test.go b/tests/forgot_password_test.go
--- a/tests/forgot_password_test.go
+++ b/tests/forgot_password_test.go
@@ -16,7 +16,7 @@
 func TestForgotPassword(t *testing.T) {
 	ctx := t.Context()
 
-	tester := apitester.NewAPITester(ctx, t, nil)
+	tester := apitester.NewAPITester(t, nil)
 	defer tester.Close()
 
 	tester.Register(&models.Registration{
diff --git a/tests/register_test.go b/tests/register_test.go
--- a/tests/register_test.go
+++ b/tests/register_test.go
@@ -16,7 +16,7 @@
 func TestRegister(t *testing.T) {
 	ctx := t.Context()
 
-	tester := apitester.NewAPITester(ctx, t, nil)
+	tester := apitester.NewAPITester(t, nil)
 	defer tester.Close()
 
 	t.Run("register", func(t *testing.T) {
diff --git a/tests/render_test.go b/tests/render_test.go
--- a/tests/render_test.go
+++ b/tests/render_test.go
@@ -13,9 +13,7 @@
 )
 
 func TestRender(t *testing.T) {
-	ctx := t.Context()
-
-	tester := apitester.NewAPITester(ctx, t, nil)
+	tester := apitester.NewAPITester(t, nil)
 	defer tester.Close()
 
 	defer tester.Logout()
diff --git a/tests/reset-password_test.go b/tests/reset-password_test.go
--- a/tests/reset-password_test.go
+++ b/tests/reset-password_test.go
@@ -16,7 +16,7 @@
 func TestResetPassword(t *testing.T) {
 	ctx := t.Context()
 
-	tester := apitester.NewAPITester(ctx, t, nil)
+	tester := apitester.NewAPITester(t, nil)
 	defer tester.Close()
 
 	tester.Register(&models.Registration{
diff --git a/tests/template_management_test.go b/tests/template_management_test.go
--- a/tests/template_management_test.go
+++ b/tests/template_management_test.go
@@ -50,7 +50,7 @@
 	ctx := t.Context()
 	ctx = log.WithContext(ctx)
 
-	tester := apitester.NewAPITester(ctx, t, nil)
+	tester := apitester.NewAPITester(t, nil)
 	defer tester.Close()
 
 	defer tester.Logout()
diff --git a/tests/user_management_test.go b/tests/user_management_test.go
--- a/tests/user_management_test.go
+++ b/tests/user_management_test.go
@@ -11,9 +11,7 @@
 )
 
 func TestUserManagement(t *testing.T) {
-	ctx := t.Context()
-
-	tester := apitester.NewAPITester(ctx, t, nil)
+	tester := apitester.NewAPITester(t, nil)
 	tester.Debug()
 
 	defer tester.Close()
diff --git a/tests/varlist_test.go b/tests/varlist_test.go
--- a/tests/varlist_test.go
+++ b/tests/varlist_test.go
@@ -10,9 +10,7 @@
 )
 
 func TestVarlist(t *testing.T) {
-	ctx := t.Context()
-
-	tester := apitester.NewAPITester(ctx, t, nil)
+	tester := apitester.NewAPITester(t, nil)
 	defer tester.Close()
 
 	defer tester.Logout()
diff --git a/tests/wpd_load_test.go b/tests/wpd_load_test.go
--- a/tests/wpd_load_test.go
+++ b/tests/wpd_load_test.go
@@ -23,17 +23,16 @@
 func TestWPDHeavyLoad(t *testing.T) {
 	engineOptions := cmd.NewEngineOptions()
 
-	ctx := t.Context()
-
 	require.NoError(t, engineOptions.SetupEngineOptions(nil))
 	engineOptions.SetOptions(
 		"WPD", &wpd.EngineOptions{
 			WorkerPoolSize: 10,
 		})
 
-	tester := apitester.NewAPITester(ctx, t, &engineOptions, func(s *restapi.Server) {
-		s.WriteTimeout = time.Minute * 5
-	})
+	tester := apitester.NewAPITester(
+		t, &engineOptions, func(s *restapi.Server) {
+			s.WriteTimeout = time.Minute * 5
+		})
 	defer tester.Close()
 
 	defer tester.Logout()
diff --git a/testutils/apitester/apitester.go b/testutils/apitester/apitester.go
--- a/testutils/apitester/apitester.go
+++ b/testutils/apitester/apitester.go
@@ -55,15 +55,14 @@
 // NewAPITester setup a APITester.
 // false positive on thelper that I can't figure out.
 // it should allow t *testing.T param to be second here but weirdly does not.
-func NewAPITester( //nolint:thelper
-	ctx context.Context,
+func NewAPITester(
 	t *testing.T,
 	engineOptions *cmd.EngineOptions,
 	serverOptions ...ServerOption,
 ) *APITester {
 	t.Helper()
 
-	testerCtx, cancel := context.WithCancel(ctx)
+	testerCtx, cancel := context.WithCancel(t.Context())
 
 	log := testutils.GetLogger(t)
 	testLog := testutils.NewTestLogger(t)
diff --git a/testutils/apitester/apitester_user_management.go b/testutils/apitester/apitester_user_management.go
--- a/testutils/apitester/apitester_user_management.go
+++ b/testutils/apitester/apitester_user_management.go
@@ -2,8 +2,10 @@
 
 import (
 	"net/http"
+	"time"
 
 	"github.com/stretchr/testify/require"
+	"orus.io/orus-io/go-orusapi/database"
 
 	"orus.io/orus-io/rednerd/models"
 )
@@ -66,3 +68,27 @@
 		End()
 	r.JSON(users)
 }
+
+func (tester *APITester) AddUserActivity(
+	username string,
+	qtyCurrentMonth, qtyLastMonth int,
+) {
+	renderList := make([]*models.RenderLog, 0, qtyCurrentMonth+qtyLastMonth)
+
+	for range qtyCurrentMonth {
+		rd := models.NewRenderLog(time.Now(), "text", "mjml", username)
+		rd.SetDuration(time.Second)
+		renderList = append(renderList, rd)
+	}
+
+	for range qtyLastMonth {
+		rd := models.NewRenderLog(time.Now().AddDate(0, -1, 0), "text", "mjml", username)
+		rd.SetDuration(time.Second)
+		renderList = append(renderList, rd)
+	}
+
+	for _, rlog := range renderList {
+		_, err := database.Exec(tester.DB, database.SQLInsert(rlog), &tester.Logger)
+		require.NoError(tester.t, err)
+	}
+}