summaryrefslogtreecommitdiff
path: root/test/elixir/lib/step/start.ex
diff options
context:
space:
mode:
Diffstat (limited to 'test/elixir/lib/step/start.ex')
-rw-r--r--test/elixir/lib/step/start.ex85
1 files changed, 0 insertions, 85 deletions
diff --git a/test/elixir/lib/step/start.ex b/test/elixir/lib/step/start.ex
deleted file mode 100644
index ea7c70f5a..000000000
--- a/test/elixir/lib/step/start.ex
+++ /dev/null
@@ -1,85 +0,0 @@
-defmodule Couch.Test.Setup.Step.Start do
- @moduledoc """
- Step to start a set of couchdb applications. By default it starts
- list of applications from DEFAULT_APPS macro defined in `test_util.erl`.
- At the time of writing this list included:
- - inets
- - ibrowse
- - ssl
- - config
- - couch_epi
- - couch_event
- - couch
-
- It is possible to specify additional list of applications to start.
-
- This setup is also maintains `clustered_url` and `backdoor_url` for future use.
- The value for `clustered_url` could be nil if :chttpd app is not included in extra_apps.
-
- Example
- setup
- |> Setup.Step.Start.new(:start, extra_apps: [:fabric, :chttpd])
- ...
- |> Setup.run
- ...
-
- started_apps = Setup.Step.Start.apps
- clustered_url = setup |> Setup.get(:start) |> Setup.Step.Start.clustered_url
- backdoor_url = setup |> Setup.get(:start) |> Setup.Step.Start.backdoor_url
- """
- alias Couch.Test.Setup
- alias Couch.Test.Setup.Step
-
- defstruct [:test_ctx, :extra_apps, :clustered_url, :backdoor_url]
-
- def new(setup, id, extra_apps: extra_apps) do
- setup |> Setup.step(id, %__MODULE__{extra_apps: extra_apps || []})
- end
-
- def setup(setup, %__MODULE__{extra_apps: extra_apps} = step) do
- test_config = setup |> Setup.get(:test_config) |> Step.Config.get()
- protocol = test_config[:backdoor][:protocol] || "http"
- test_ctx = :test_util.start_couch(extra_apps)
- addr = :config.get('couch_httpd', 'bind_address', '127.0.0.1')
- port = :mochiweb_socket_server.get(:couch_httpd, :port)
- backdoor_url = "#{protocol}://#{addr}:#{port}"
- clustered_url =
- if :chttpd in extra_apps do
- protocol = test_config[:clustered][:protocol] || "http"
- addr = :config.get('chttpd', 'bind_address', '127.0.0.1')
- port = :mochiweb_socket_server.get(:chttpd, :port)
- "#{protocol}://#{addr}:#{port}"
- else
- nil
- end
- %{step |
- test_ctx: test_ctx,
- clustered_url: clustered_url,
- backdoor_url: backdoor_url
- }
- end
-
- def teardown(_setup, %___MODULE__{test_ctx: test_ctx}) do
- :test_util.stop_couch(test_ctx)
- end
-
- def backdoor_url(%__MODULE__{backdoor_url: url}) do
- url
- end
-
- def clustered_url(%__MODULE__{clustered_url: url}) do
- url
- end
-
- def extra_apps(%__MODULE__{extra_apps: apps}) do
- apps
- end
-
- @doc """
- Returns list of currently running applications
- """
- def apps() do
- for {x, _, _} <- Application.started_applications, do: x
- end
-
-end \ No newline at end of file