module Nuthatch.Test.Config ( testConfig ) where import Nuthatch.Config testConfig :: Config testConfig = Config { cfgRuntime = RuntimeConfig { cfgStartupAttempts = 3 , cfgStartupDelayMs = 10 } , cfgHttp = HttpConfig { cfgListenHost = "127.0.0.1" , cfgListenPort = 8080 , cfgTlsCertPath = "/tls/tls.crt" , cfgTlsKeyPath = "/tls/tls.key" , cfgPublicBaseUrl = "https://nuthatch.example" , cfgJwtSecret = sessionSecret , cfgSessionHours = 1 , cfgCookieName = "nuthatch_session" , cfgCsrfCookieName = "nuthatch_csrf" , cfgOidcTransactionCookieName = "nuthatch_oidc" } , cfgOidc = OidcConfig { cfgOidcIssuer = "https://issuer.example" , cfgOidcClientId = "nuthatch" , cfgOidcAdditionalAudiences = [] , cfgOidcClientSecret = secret "unit-test-client-secret" , cfgOidcRedirectUri = "https://nuthatch.example/oidc/callback" , cfgOidcTransactionMinutes = 5 , cfgOidcMaxIdTokenSeconds = 3600 , cfgOidcTransactionSecret = sessionSecret } , cfgPostgres = PostgresConfig { cfgPgConn = secret "" } , cfgRedis = RedisConfig { cfgRedisHost = "" , cfgRedisPort = 6379 , cfgRedisDb = 0 , cfgThrottleBytesPerSec = 1024 , cfgThrottleBurstBytes = 1024 } , cfgS3 = S3Config { cfgS3Endpoint = "https://s3.example" , cfgS3Region = "test" , cfgS3Bucket = "test" , cfgS3AccessKey = secret "test" , cfgS3SecretKey = secret "test" , cfgS3PathStyle = True , cfgS3RequestTimeoutSec = 300 } , cfgProduct = ProductConfig { cfgPersonalQuotaBytes = 1024 , cfgSharedQuotaBytes = 1024 , cfgMaxObjectBytes = 1024 , cfgListCacheTtlSec = 30 , cfgBrowsePageSize = 100 , cfgSearchMaxKeys = 100 , cfgSearchTimeoutMs = 1000 , cfgDeletePageSize = 100 , cfgIdempotencyWindowSec = 3600 , cfgAuditObjectKeys = False } , cfgRecovery = RecoveryConfig { cfgRecoveryGraceSec = 30 , cfgObjectRequestTimeoutSec = 300 } } where sessionSecret = secret "unit-test-session-secret-material-32"