1 defmodule Pleroma.InstanceTest do
2 use ExUnit.Case, async: true
5 File.mkdir_p!(tmp_path())
6 on_exit(fn -> File.rm_rf(tmp_path()) end)
11 "/tmp/generated_files/"
16 Mix.Tasks.Pleroma.Instance.run([
19 tmp_path() <> "generated_config.exs",
21 tmp_path() <> "setup.psql",
23 "test.pleroma.social",
45 ExUnit.CaptureIO.capture_io(fn ->
49 generated_config = File.read!(tmp_path() <> "generated_config.exs")
50 assert generated_config =~ "host: \"test.pleroma.social\""
51 assert generated_config =~ "name: \"Pleroma\""
52 assert generated_config =~ "email: \"admin@example.com\""
53 assert generated_config =~ "notify_email: \"notify@example.com\""
54 assert generated_config =~ "hostname: \"dbhost\""
55 assert generated_config =~ "database: \"dbname\""
56 assert generated_config =~ "username: \"dbuser\""
57 assert generated_config =~ "password: \"dbpass\""
58 assert generated_config =~ "dynamic_configuration: true"
59 assert File.read!(tmp_path() <> "setup.psql") == generated_setup_psql()
62 defp generated_setup_psql do
63 ~s(CREATE USER dbuser WITH ENCRYPTED PASSWORD 'dbpass';\nCREATE DATABASE dbname OWNER dbuser;\n\\c dbname;\n--Extensions made by ecto.migrate that need superuser access\nCREATE EXTENSION IF NOT EXISTS citext;\nCREATE EXTENSION IF NOT EXISTS pg_trgm;\nCREATE EXTENSION IF NOT EXISTS \"uuid-ossp\";\n)