a080ca59d8
Implement v2 upload batch cleanup * Implement v2 upload batch cleanup * Merge remote-tracking branch 'origin/main' into jmathison/v2-upload-batch * Address upload batch review feedback * Raise batch worker coverage * Fix batch cleanup review issues Approved-by: Jay Brown
121 lines
3.6 KiB
Go
121 lines
3.6 KiB
Go
package api
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"queryorchestration/internal/database/repository"
|
|
"queryorchestration/internal/serviceconfig"
|
|
"queryorchestration/internal/test"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestEnsureLocalDevClientCreatesConfiguredClient(t *testing.T) {
|
|
if testing.Short() {
|
|
t.SkipNow()
|
|
}
|
|
|
|
t.Setenv("DISABLE_AUTH", "true")
|
|
t.Setenv(localDevClientIDEnv, "mathisonprojects-local")
|
|
t.Setenv(localDevClientNameEnv, "Mathison Projects Local")
|
|
|
|
cfg := &BaseConfig{}
|
|
_ = serviceconfig.InitializeConfig(cfg)
|
|
test.CreateDB(t, cfg)
|
|
|
|
err := ensureLocalDevClient(t.Context(), cfg)
|
|
require.NoError(t, err)
|
|
|
|
dbClient, err := cfg.GetDBQueries().GetClient(t.Context(), "mathisonprojects-local")
|
|
require.NoError(t, err)
|
|
require.Equal(t, "Mathison Projects Local", dbClient.Name)
|
|
|
|
rootFolder, err := cfg.GetDBQueries().GetFolderByPath(t.Context(), &repository.GetFolderByPathParams{
|
|
Clientid: "mathisonprojects-local",
|
|
Path: "/",
|
|
})
|
|
require.NoError(t, err)
|
|
require.Equal(t, "/", rootFolder.Path)
|
|
|
|
require.NoError(t, ensureLocalDevClient(t.Context(), cfg))
|
|
}
|
|
|
|
func TestEnsureLocalDevClientSkipsWhenUnconfigured(t *testing.T) {
|
|
t.Setenv("DISABLE_AUTH", "true")
|
|
t.Setenv(localDevClientIDEnv, "")
|
|
|
|
cfg := &BaseConfig{}
|
|
_ = serviceconfig.InitializeConfig(cfg)
|
|
|
|
require.NoError(t, ensureLocalDevClient(t.Context(), cfg))
|
|
}
|
|
|
|
func TestEnsureLocalDevEula(t *testing.T) {
|
|
if testing.Short() {
|
|
t.SkipNow()
|
|
}
|
|
|
|
t.Setenv("DISABLE_AUTH", "true")
|
|
t.Setenv(localDevEulaVersionEnv, "local-2026-05-07")
|
|
t.Setenv(localDevEulaTitleEnv, "AArete DoczyAI Terms of Use")
|
|
t.Setenv(localDevEulaAutoAcceptSubjectEnv, "jacob+2@mathisonprojects.com")
|
|
t.Setenv(localDevEulaAutoAcceptEmailEnv, "jacob+2@mathisonprojects.com")
|
|
|
|
cfg := &BaseConfig{}
|
|
_ = serviceconfig.InitializeConfig(cfg)
|
|
test.CreateDB(t, cfg)
|
|
|
|
require.NoError(t, ensureLocalDevEula(t.Context(), cfg))
|
|
|
|
current, err := cfg.GetDBQueries().GetCurrentEulaVersion(t.Context())
|
|
require.NoError(t, err)
|
|
require.Equal(t, "local-2026-05-07", current.Version)
|
|
require.Equal(t, "AArete DoczyAI Terms of Use", current.Title)
|
|
|
|
agreement, err := cfg.GetDBQueries().GetUserCurrentEulaAgreement(t.Context(), "jacob+2@mathisonprojects.com")
|
|
require.NoError(t, err)
|
|
require.Equal(t, current.ID, agreement.Eulaversionid)
|
|
|
|
require.NoError(t, ensureLocalDevEula(t.Context(), cfg))
|
|
}
|
|
|
|
func TestEnsureLocalDevEulaUsesDefaults(t *testing.T) {
|
|
if testing.Short() {
|
|
t.SkipNow()
|
|
}
|
|
|
|
t.Setenv("DISABLE_AUTH", "true")
|
|
t.Setenv(localDevEulaVersionEnv, "local-defaults")
|
|
t.Setenv(localDevEulaTitleEnv, "")
|
|
t.Setenv(localDevEulaAutoAcceptSubjectEnv, "local-subject")
|
|
t.Setenv(localDevEulaAutoAcceptEmailEnv, "")
|
|
|
|
cfg := &BaseConfig{}
|
|
_ = serviceconfig.InitializeConfig(cfg)
|
|
test.CreateDB(t, cfg)
|
|
|
|
require.NoError(t, ensureLocalDevEula(t.Context(), cfg))
|
|
|
|
current, err := cfg.GetDBQueries().GetCurrentEulaVersion(t.Context())
|
|
require.NoError(t, err)
|
|
require.Equal(t, "local-defaults", current.Version)
|
|
require.Equal(t, "AArete DoczyAI Terms of Use", current.Title)
|
|
|
|
agreement, err := cfg.GetDBQueries().GetUserCurrentEulaAgreement(t.Context(), "local-subject")
|
|
require.NoError(t, err)
|
|
require.Equal(t, "local-subject", agreement.Useremail)
|
|
}
|
|
|
|
func TestEnsureLocalDevEulaSkipsWhenDisabledOrUnconfigured(t *testing.T) {
|
|
cfg := &BaseConfig{}
|
|
_ = serviceconfig.InitializeConfig(cfg)
|
|
|
|
t.Setenv("DISABLE_AUTH", "false")
|
|
t.Setenv(localDevEulaVersionEnv, "local-disabled")
|
|
require.NoError(t, ensureLocalDevEula(t.Context(), cfg))
|
|
|
|
t.Setenv("DISABLE_AUTH", "true")
|
|
t.Setenv(localDevEulaVersionEnv, "")
|
|
require.NoError(t, ensureLocalDevEula(t.Context(), cfg))
|
|
}
|