diff options
| author | Alex S <alex.strizhakov@gmail.com> | 2019-06-22 17:30:53 +0300 | 
|---|---|---|
| committer | Alex S <alex.strizhakov@gmail.com> | 2019-06-22 17:30:53 +0300 | 
| commit | 410add1c30d230e86c22de4e54bb9999de980b16 (patch) | |
| tree | e0b9c47070751946f0fc1c3a171a07d77e6cc030 /test/web/admin_api/config_test.exs | |
| parent | f0fccb75783bcac406133d8cb3d4d3a485189092 (diff) | |
| download | pleroma-410add1c30d230e86c22de4e54bb9999de980b16.tar.gz pleroma-410add1c30d230e86c22de4e54bb9999de980b16.zip | |
support for tuples with more than 2 values
Diffstat (limited to 'test/web/admin_api/config_test.exs')
| -rw-r--r-- | test/web/admin_api/config_test.exs | 75 | 
1 files changed, 75 insertions, 0 deletions
| diff --git a/test/web/admin_api/config_test.exs b/test/web/admin_api/config_test.exs index a2fedca40..39050c276 100644 --- a/test/web/admin_api/config_test.exs +++ b/test/web/admin_api/config_test.exs @@ -179,5 +179,80 @@ defmodule Pleroma.Web.AdminAPI.ConfigTest do        assert Config.from_binary(binary) ==                 [federated_timeline_removal: [], reject: [~r/comp[lL][aA][iI][nN]er/], replace: []]      end + +    test "complex map with tuples with more than 2 values" do +      binary = +        Config.transform(%{ +          "http" => %{ +            "dispatch" => [ +              %{ +                "tuple" => [ +                  ":_", +                  [ +                    %{ +                      "tuple" => [ +                        "/api/v1/streaming", +                        "Pleroma.Web.MastodonAPI.WebsocketHandler", +                        [] +                      ] +                    }, +                    %{ +                      "tuple" => [ +                        "/websocket", +                        "Phoenix.Endpoint.CowboyWebSocket", +                        %{ +                          "tuple" => [ +                            "Phoenix.Transports.WebSocket", +                            %{"tuple" => ["Pleroma.Web.Endpoint", "Pleroma.Web.UserSocket", []]} +                          ] +                        } +                      ] +                    }, +                    %{ +                      "tuple" => [ +                        ":_", +                        "Phoenix.Endpoint.Cowboy2Handler", +                        %{ +                          "tuple" => ["Pleroma.Web.Endpoint", []] +                        } +                      ] +                    } +                  ] +                ] +              } +            ] +          } +        }) + +      assert binary == +               :erlang.term_to_binary( +                 http: [ +                   dispatch: [ +                     _: [ +                       {"/api/v1/streaming", Pleroma.Web.MastodonAPI.WebsocketHandler, []}, +                       {"/websocket", Phoenix.Endpoint.CowboyWebSocket, +                        {Phoenix.Transports.WebSocket, +                         {Pleroma.Web.Endpoint, Pleroma.Web.UserSocket, []}}}, +                       {:_, Phoenix.Endpoint.Cowboy2Handler, {Pleroma.Web.Endpoint, []}} +                     ] +                   ] +                 ] +               ) + +      assert Config.from_binary(binary) == [ +               http: [ +                 dispatch: [ +                   {:_, +                    [ +                      {"/api/v1/streaming", Pleroma.Web.MastodonAPI.WebsocketHandler, []}, +                      {"/websocket", Phoenix.Endpoint.CowboyWebSocket, +                       {Phoenix.Transports.WebSocket, +                        {Pleroma.Web.Endpoint, Pleroma.Web.UserSocket, []}}}, +                      {:_, Phoenix.Endpoint.Cowboy2Handler, {Pleroma.Web.Endpoint, []}} +                    ]} +                 ] +               ] +             ] +    end    end  end | 
