summaryrefslogtreecommitdiff
path: root/test/otp_version_test.exs
blob: f26b90f61f116386ddbc952c9e324fcd5cc792d6 (plain)
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
defmodule Pleroma.OTPVersionTest do
  use ExUnit.Case, async: true

  alias Pleroma.OTPVersion

  describe "get_and_check_version/2" do
    test "22.4" do
      assert OTPVersion.get_and_check_version(Tesla.Adapter.Gun, [
               "test/fixtures/warnings/otp_version/22.4"
             ]) == :ok
    end

    test "22.1" do
      assert OTPVersion.get_and_check_version(Tesla.Adapter.Gun, [
               "test/fixtures/warnings/otp_version/22.1"
             ]) == {:error, "22.1"}
    end

    test "21.1" do
      assert OTPVersion.get_and_check_version(Tesla.Adapter.Gun, [
               "test/fixtures/warnings/otp_version/21.1"
             ]) == {:error, "21.1"}
    end

    test "23.0" do
      assert OTPVersion.get_and_check_version(Tesla.Adapter.Gun, [
               "test/fixtures/warnings/otp_version/23.0"
             ]) == :ok
    end

    test "undefined" do
      assert OTPVersion.get_and_check_version(Tesla.Adapter.Gun, [
               "test/fixtures/warnings/otp_version/undefined"
             ]) == :undefined
    end

    test "not parsable" do
      assert OTPVersion.get_and_check_version(Tesla.Adapter.Gun, [
               "test/fixtures/warnings/otp_version/error"
             ]) == :undefined
    end

    test "with non existance file" do
      assert OTPVersion.get_and_check_version(Tesla.Adapter.Gun, [
               "test/fixtures/warnings/otp_version/non-exising",
               "test/fixtures/warnings/otp_version/22.4"
             ]) == :ok
    end

    test "empty paths" do
      assert OTPVersion.get_and_check_version(Tesla.Adapter.Gun, []) == :undefined
    end

    test "another adapter" do
      assert OTPVersion.get_and_check_version(Tesla.Adapter.Hackney, []) == :ok
    end
  end
end