diff options
Diffstat (limited to 'test/tasks')
| -rw-r--r-- | test/tasks/instance.exs | 62 | 
1 files changed, 62 insertions, 0 deletions
| diff --git a/test/tasks/instance.exs b/test/tasks/instance.exs new file mode 100644 index 000000000..6917a2376 --- /dev/null +++ b/test/tasks/instance.exs @@ -0,0 +1,62 @@ +defmodule Pleroma.InstanceTest do +  use ExUnit.Case, async: true + +  setup do +    File.mkdir_p!(tmp_path()) +    on_exit(fn -> File.rm_rf(tmp_path()) end) +    :ok +  end + +  defp tmp_path do +    "/tmp/generated_files/" +  end + +  test "running gen" do +    mix_task = fn -> +      Mix.Tasks.Pleroma.Instance.run([ +        "gen", +        "--output", +        tmp_path() <> "generated_config.exs", +        "--output-psql", +        tmp_path() <> "setup.psql", +        "--domain", +        "test.pleroma.social", +        "--instance-name", +        "Pleroma", +        "--admin-email", +        "admin@example.com", +        "--notify-email", +        "notify@example.com", +        "--dbhost", +        "dbhost", +        "--dbname", +        "dbname", +        "--dbuser", +        "dbuser", +        "--dbpass", +        "dbpass", +        "--indexable", +        "y" +      ]) +    end + +    ExUnit.CaptureIO.capture_io(fn -> +      mix_task.() +    end) + +    generated_config = File.read!(tmp_path() <> "generated_config.exs") +    assert generated_config =~ "host: \"test.pleroma.social\"" +    assert generated_config =~ "name: \"Pleroma\"" +    assert generated_config =~ "email: \"admin@example.com\"" +    assert generated_config =~ "notify_email: \"notify@example.com\"" +    assert generated_config =~ "hostname: \"dbhost\"" +    assert generated_config =~ "database: \"dbname\"" +    assert generated_config =~ "username: \"dbuser\"" +    assert generated_config =~ "password: \"dbpass\"" +    assert File.read!(tmp_path() <> "setup.psql") == generated_setup_psql() +  end + +  defp generated_setup_psql do +    ~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) +  end +end | 
