package auth

import (
	"testing"
	"time"

	"github.com/stretchr/testify/require"

	"security-center-backend/internal/config"
	"security-center-backend/internal/service/jwt"
)

func TestGenerateQuickDevSessionIncludesExportPortsPermission(t *testing.T) {
	h := &Handler{
		jwtManager: jwt.NewManager(config.JWTConfig{
			AccessSecret:       "access-secret",
			RefreshSecret:      "refresh-secret",
			AccessTokenTTL:     time.Hour,
			RefreshTokenTTL:    time.Hour,
			SigningAlgorithm:   "HS256",
			Issuer:             "security-center",
			ClockSkewInSeconds: 0,
		}),
	}

	session := h.generateQuickDevSession()
	require.NotNil(t, session)

	user, ok := session["user"].(map[string]interface{})
	require.True(t, ok)

	permissions, ok := user["permissions"].([]string)
	require.True(t, ok)
	require.Contains(t, permissions, "caasm:export_ports")
}
