import Config

# Only in tests, remove the complexity from the password hashing algorithm
config :bcrypt_elixir, :log_rounds, 1

# Configure the 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 :bright, Bright.Repo,
  # database: "bright_test#{System.get_env("MIX_TEST_PARTITION")}",
  database: System.fetch_env!("DB_NAME"),
  hostname: System.fetch_env!("DB_HOST"),
  username: System.fetch_env!("DB_USER"),
  password: System.fetch_env!("DB_PASS"),
  port: System.fetch_env!("DB_PORT"),
  pool: Ecto.Adapters.SQL.Sandbox,
  pool_size: System.schedulers_online() * 4

IO.puts(
  "hello this is test.exs and we are checking env vars. db_host=#{System.fetch_env!("DB_HOST")} db_user=#{System.fetch_env!("DB_USER")} db_pass=#{System.fetch_env!("DB_PASS")} db_port=#{System.fetch_env!("DB_PORT")} db_name=#{System.fetch_env!("DB_NAME")}"
)

# We don't run a server during test. If one is required,
# you can enable the server option below.
config :bright, BrightWeb.Endpoint,
  http: [ip: {127, 0, 0, 1}, port: 4002],
  secret_key_base: "#{System.fetch_env!("SECRET_KEY_BASE")}",
  server: false

# Prevent Oban from running jobs and plugins during test runs
config :bright, Oban, testing: :manual

# In test we don't send emails
config :bright, Bright.Mailer, adapter: Swoosh.Adapters.Test

# Disable swoosh api client as it is only required for production adapters
config :swoosh, :api_client, false

# Print only warnings and errors during test
config :logger, level: :warning

# Initialize plugs at runtime for faster test compilation
config :phoenix, :plug_init_mode, :runtime

# Enable helpful, but potentially expensive runtime checks
config :phoenix_live_view,
  enable_expensive_runtime_checks: true

# @see https://elixirforum.com/t/backblaze-and-ex-aws-ex-aws-s3-2-4-3-presign-url-issue/56805
# config :ex_aws, :s3,
#   host: Application.get_env(:bright, :aws_host),
#   access_key_id: Application.get_env(:bright, :aws_access_key_id),
#   secret_access_key: Application.get_env(:bright, :aws_secret_access_key),
#   bucket: Application.get_env(:bright, :aws_bucket)