diff options
| author | href <href@random.sh> | 2019-01-15 16:18:18 +0100 | 
|---|---|---|
| committer | href <href@random.sh> | 2019-01-23 11:26:34 +0100 | 
| commit | 9d63b27dcd61dff61b77b6df0ef8a4cf8d7c87e3 (patch) | |
| tree | 98b0ec15d7dcb93d49d11b581ab9fc240159fe25 /test | |
| parent | 28d77e373cbaf0908f86973a873c9bfd6c3221cb (diff) | |
| download | pleroma-9d63b27dcd61dff61b77b6df0ef8a4cf8d7c87e3.tar.gz pleroma-9d63b27dcd61dff61b77b6df0ef8a4cf8d7c87e3.zip | |
Test FlakeID old id compat & Ecto type
Diffstat (limited to 'test')
| -rw-r--r-- | test/flake_id_test.exs | 41 | 
1 files changed, 41 insertions, 0 deletions
| diff --git a/test/flake_id_test.exs b/test/flake_id_test.exs new file mode 100644 index 000000000..e480fbdf3 --- /dev/null +++ b/test/flake_id_test.exs @@ -0,0 +1,41 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.FlakeIdTest do +  use Pleroma.DataCase +  import Kernel, except: [to_string: 1] +  import Pleroma.FlakeId + +  describe "fake flakes (compatibility with older serial integers)" do +    test "from_string/1" do +      fake_flake = <<0::integer-size(64), 42::integer-size(64)>> +      assert from_string("42") == fake_flake +    end + +    test "zero or -1 is a null flake" do +      fake_flake = <<0::integer-size(128)>> +      assert from_string("0") == fake_flake +      assert from_string("-1") == fake_flake +    end + +    test "to_string/1" do +      fake_flake = <<0::integer-size(64), 42::integer-size(64)>> +      assert to_string(fake_flake) == "42" +    end +  end + +  test "ecto type behaviour" do +    flake = <<0, 0, 1, 104, 80, 229, 2, 235, 140, 22, 69, 201, 53, 210, 0, 0>> +    flake_s = "9eoozpwTul5mjSEDRI" + +    assert cast(flake) == {:ok, flake_s} +    assert cast(flake_s) == {:ok, flake_s} + +    assert load(flake) == {:ok, flake_s} +    assert load(flake_s) == {:ok, flake_s} + +    assert dump(flake_s) == {:ok, flake} +    assert dump(flake) == {:ok, flake} +  end +end | 
