diff options
author | kaniini <nenolod@gmail.com> | 2019-07-10 05:14:08 +0000 |
---|---|---|
committer | kaniini <nenolod@gmail.com> | 2019-07-10 05:14:08 +0000 |
commit | 75be90a6d177b00c4ca1083331975805c6f9afde (patch) | |
tree | 0d799d03b2f273d7ed7360c64335f57f41bb554a /test/tasks/instance_test.exs | |
parent | 8f2cb820c0cc41791cea7884cf4dd1726d227cc0 (diff) | |
parent | 6d0ae264fc90508a6df39f77a11d1d8069bfa466 (diff) | |
download | pleroma-75be90a6d177b00c4ca1083331975805c6f9afde.tar.gz |
Merge branch 'release/listener' into 'develop'
add listener port and ip option for 'pleroma.instance gen' and enable its test
See merge request pleroma/pleroma!1393
Diffstat (limited to 'test/tasks/instance_test.exs')
-rw-r--r-- | test/tasks/instance_test.exs | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/test/tasks/instance_test.exs b/test/tasks/instance_test.exs new file mode 100644 index 000000000..70986374e --- /dev/null +++ b/test/tasks/instance_test.exs @@ -0,0 +1,80 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +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", + "--db-configurable", + "y", + "--rum", + "y", + "--listen-port", + "4000", + "--listen-ip", + "127.0.0.1", + "--uploads-dir", + "test/uploads", + "--static-dir", + "instance/static/" + ]) + 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 generated_config =~ "dynamic_configuration: true" + assert generated_config =~ "http: [ip: {127, 0, 0, 1}, port: 4000]" + 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\";\nCREATE EXTENSION IF NOT EXISTS rum;\n) + end +end |