aboutsummaryrefslogtreecommitdiff
path: root/test/elixir-config/validation_test.exs
blob: ca94d2705799753b8209861205056ee330486062 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
defmodule Ejabberd.Config.ValidationTest do
  use ExUnit.Case

  alias Ejabberd.Config
  alias Ejabberd.Config.Store
  alias Ejabberd.Config.Validation

  setup_all do
    pid = Process.whereis(Ejabberd.Config.Store)
    unless pid != nil and Process.alive?(pid) do
      Store.start_link

      File.cd("test/elixir-config/shared")
      config_file_path = File.cwd! <> "/ejabberd_for_validation.exs"
      Config.init(config_file_path)
    end

    {:ok, %{}}
  end

  test "validates correctly the modules" do
    [mod_configure, mod_time] = Store.get(:modules)

    [{:error, _mod, errors}] = Validation.validate(mod_configure)
    assert %{dependency: [mod_adhoc: :not_found]} == errors

    [{:error, _mod, errors}] = Validation.validate(mod_time)
    assert %{attribute: [{{:attr_not_supported, true}, :attr_not_supported}]} == errors

  end
end