Files
music_library/config/test.exs
T
Claudio Ortolina 7b5b7e68dd Harden OpenAI api layer
- Support rate limiting
- Add proper error handling (don't rely on exceptions)

Closes #147
2026-04-05 16:01:29 +01:00

109 lines
2.8 KiB
Elixir

import Config
# Configure your database
#
# The MIX_TEST_PARTITION environment variable can be used
# to provide built-in test partitioning in CI environment.
# Run `mix help test` for more information.
config :music_library, MusicLibrary.Repo,
database:
Path.expand("../data/music_library_test#{System.get_env("MIX_TEST_PARTITION")}.db", __DIR__),
# Double the amount of concurrent tests
pool_size: 32,
pool: Ecto.Adapters.SQL.Sandbox,
busy_timeout: 20_000,
journal_mode: :off,
synchronous: :off
config :music_library, MusicLibrary.BackgroundRepo,
database:
Path.expand(
"../data/music_library_background_test#{System.get_env("MIX_TEST_PARTITION")}.db",
__DIR__
),
pool_size: 32,
pool: Ecto.Adapters.SQL.Sandbox
config :music_library, MusicLibrary.TelemetryRepo,
database:
Path.expand(
"../data/music_library_telemetry_test#{System.get_env("MIX_TEST_PARTITION")}.db",
__DIR__
),
pool_size: 5,
pool: Ecto.Adapters.SQL.Sandbox
# We don't run a server during test. If one is required,
# you can enable the server option below.
config :music_library, MusicLibraryWeb.Endpoint,
http: [ip: {127, 0, 0, 1}, port: 4002],
secret_key_base: "by2RtUuJGgxQtt6p33/ump015WMPo5WQkh3MlFhUYwRrVxMOm4RT55pOt+tVKAES",
server: false
# Print only warnings and errors during test
config :logger, level: :warning
config :phoenix,
# Initialize plugs at runtime for faster test compilation
plug_init_mode: :runtime,
# Enable sorting query params in verified routes during tests
sort_verified_routes_query_params: true
# Enable helpful, but potentially expensive runtime checks
config :phoenix_live_view,
enable_expensive_runtime_checks: true
config :music_library, monitoring_routes: true
config :music_library, LastFm,
req_options: [
plug: {Req.Test, LastFm.API},
max_retries: 0
],
api_cooldown: 0
config :music_library, MusicBrainz,
req_options: [
plug: {Req.Test, MusicBrainz.API},
max_retries: 0
],
api_cooldown: 0
config :music_library, Discogs,
req_options: [
plug: {Req.Test, Discogs.API},
max_retries: 0
],
api_cooldown: 0
config :music_library, Wikipedia,
req_options: [
plug: {Req.Test, Wikipedia.API},
max_retries: 0
],
api_cooldown: 0
config :music_library, BraveSearch,
api_key: "test_key",
req_options: [
plug: {Req.Test, BraveSearch.API},
max_retries: 0
],
api_cooldown: 0
config :music_library, OpenAI,
api_key: "test_key",
req_options: [
plug: {Req.Test, OpenAI.API},
max_retries: 0
],
api_cooldown: 0
config :phoenix_test, :endpoint, MusicLibraryWeb.Endpoint
config :music_library, color_extractor: MusicLibrary.Colors.FakeColorExtractor
config :music_library, Oban, testing: :manual
config :music_library, MusicLibrary.Mailer, adapter: Swoosh.Adapters.Sandbox