Fix integration tests to comply with password requirements
CI/CD Pipeline / Test (push) Has been cancelled
CI/CD Pipeline / Lint (push) Has been cancelled
CI/CD Pipeline / Build and Push Docker Image (push) Has been cancelled

Update test passwords from 'password123' to 'Password123!' to meet security requirements (uppercase, lowercase, digit, special char).

Fix migrations test to match actual habit_entries schema (removed non-existent deleted_at column).
This commit is contained in:
2025-11-27 23:38:36 +01:00
parent cb467c688a
commit 1b69bec12f
4 changed files with 11 additions and 11 deletions
@@ -12,7 +12,7 @@ func TestAuthFlow(t *testing.T) {
t.Run("Register new user", func(t *testing.T) { t.Run("Register new user", func(t *testing.T) {
reqBody := RegisterRequest{ reqBody := RegisterRequest{
Email: "test@example.com", Email: "test@example.com",
Password: "password123", Password: "Password123!",
Timezone: "UTC", Timezone: "UTC",
} }
@@ -36,7 +36,7 @@ func TestAuthFlow(t *testing.T) {
t.Run("Register duplicate email", func(t *testing.T) { t.Run("Register duplicate email", func(t *testing.T) {
reqBody := RegisterRequest{ reqBody := RegisterRequest{
Email: "duplicate@example.com", Email: "duplicate@example.com",
Password: "password123", Password: "Password123!",
Timezone: "UTC", Timezone: "UTC",
} }
@@ -52,7 +52,7 @@ func TestAuthFlow(t *testing.T) {
t.Run("Register with invalid email", func(t *testing.T) { t.Run("Register with invalid email", func(t *testing.T) {
reqBody := RegisterRequest{ reqBody := RegisterRequest{
Email: "invalid-email", Email: "invalid-email",
Password: "password123", Password: "Password123!",
Timezone: "UTC", Timezone: "UTC",
} }
@@ -80,14 +80,14 @@ func TestAuthFlow(t *testing.T) {
t.Run("Login with valid credentials", func(t *testing.T) { t.Run("Login with valid credentials", func(t *testing.T) {
registerBody := RegisterRequest{ registerBody := RegisterRequest{
Email: "login@example.com", Email: "login@example.com",
Password: "password123", Password: "Password123!",
Timezone: "UTC", Timezone: "UTC",
} }
makeRequest(t, *ts.Router, "POST", "/api/v1/auth/register", registerBody, "") makeRequest(t, *ts.Router, "POST", "/api/v1/auth/register", registerBody, "")
loginBody := LoginRequest{ loginBody := LoginRequest{
Email: "login@example.com", Email: "login@example.com",
Password: "password123", Password: "Password123!",
} }
rr := makeRequest(t, *ts.Router, "POST", "/api/v1/auth/login", loginBody, "") rr := makeRequest(t, *ts.Router, "POST", "/api/v1/auth/login", loginBody, "")
@@ -107,7 +107,7 @@ func TestAuthFlow(t *testing.T) {
t.Run("Login with invalid password", func(t *testing.T) { t.Run("Login with invalid password", func(t *testing.T) {
registerBody := RegisterRequest{ registerBody := RegisterRequest{
Email: "wrongpass@example.com", Email: "wrongpass@example.com",
Password: "password123", Password: "Password123!",
Timezone: "UTC", Timezone: "UTC",
} }
makeRequest(t, *ts.Router, "POST", "/api/v1/auth/register", registerBody, "") makeRequest(t, *ts.Router, "POST", "/api/v1/auth/register", registerBody, "")
@@ -127,7 +127,7 @@ func TestAuthFlow(t *testing.T) {
t.Run("Login with non-existent user", func(t *testing.T) { t.Run("Login with non-existent user", func(t *testing.T) {
loginBody := LoginRequest{ loginBody := LoginRequest{
Email: "nonexistent@example.com", Email: "nonexistent@example.com",
Password: "password123", Password: "Password123!",
} }
rr := makeRequest(t, *ts.Router, "POST", "/api/v1/auth/login", loginBody, "") rr := makeRequest(t, *ts.Router, "POST", "/api/v1/auth/login", loginBody, "")
@@ -12,7 +12,7 @@ func TestHabitEntriesFlow(t *testing.T) {
registerBody := RegisterRequest{ registerBody := RegisterRequest{
Email: "entryuser@example.com", Email: "entryuser@example.com",
Password: "password123", Password: "Password123!",
Timezone: "UTC", Timezone: "UTC",
} }
rr := makeRequest(t, *ts.Router, "POST", "/api/v1/auth/register", registerBody, "") rr := makeRequest(t, *ts.Router, "POST", "/api/v1/auth/register", registerBody, "")
@@ -11,7 +11,7 @@ func TestHabitCRUDFlow(t *testing.T) {
registerBody := RegisterRequest{ registerBody := RegisterRequest{
Email: "habituser@example.com", Email: "habituser@example.com",
Password: "password123", Password: "Password123!",
Timezone: "UTC", Timezone: "UTC",
} }
rr := makeRequest(t, *ts.Router, "POST", "/api/v1/auth/register", registerBody, "") rr := makeRequest(t, *ts.Router, "POST", "/api/v1/auth/register", registerBody, "")
@@ -133,7 +133,7 @@ func TestHabitCRUDFlow(t *testing.T) {
t.Run("Access other user's habit", func(t *testing.T) { t.Run("Access other user's habit", func(t *testing.T) {
registerBody := RegisterRequest{ registerBody := RegisterRequest{
Email: "otheruser@example.com", Email: "otheruser@example.com",
Password: "password123", Password: "Password123!",
Timezone: "UTC", Timezone: "UTC",
} }
rr := makeRequest(t, *ts.Router, "POST", "/api/v1/auth/register", registerBody, "") rr := makeRequest(t, *ts.Router, "POST", "/api/v1/auth/register", registerBody, "")
@@ -94,7 +94,7 @@ func TestHabitEntriesTableSchema(t *testing.T) {
t.Fatalf("RunMigrations failed: %v", err) t.Fatalf("RunMigrations failed: %v", err)
} }
columns := []string{"id", "habit_id", "scheduled_date", "completed_at", "value", "deleted_at"} columns := []string{"id", "habit_id", "scheduled_date", "completed_at", "value"}
for _, col := range columns { for _, col := range columns {
query := "SELECT " + col + " FROM habit_entries LIMIT 0" query := "SELECT " + col + " FROM habit_entries LIMIT 0"
rows, err := db.Query(query) rows, err := db.Query(query)