diff options
| author | lain <lain@soykaf.club> | 2019-12-05 12:33:06 +0100 | 
|---|---|---|
| committer | lain <lain@soykaf.club> | 2019-12-05 12:33:06 +0100 | 
| commit | 1993d7096d673d8a8151fedd7bcac909d584d13d (patch) | |
| tree | 274865f5472b10fe3385fb989be6e7ad5982797a /test/web | |
| parent | e9993acdbbd1649bbcbf3fb36581b91145fe6055 (diff) | |
| download | pleroma-1993d7096d673d8a8151fedd7bcac909d584d13d.tar.gz pleroma-1993d7096d673d8a8151fedd7bcac909d584d13d.zip  | |
Validators: Add a type for the datetime used in AP.
Diffstat (limited to 'test/web')
| -rw-r--r-- | test/web/activity_pub/object_validators/types/date_time_test.exs | 32 | 
1 files changed, 32 insertions, 0 deletions
diff --git a/test/web/activity_pub/object_validators/types/date_time_test.exs b/test/web/activity_pub/object_validators/types/date_time_test.exs new file mode 100644 index 000000000..3e17a9497 --- /dev/null +++ b/test/web/activity_pub/object_validators/types/date_time_test.exs @@ -0,0 +1,32 @@ +defmodule Pleroma.Web.ActivityPub.ObjectValidators.Types.DateTimeTest do +  alias Pleroma.Web.ActivityPub.ObjectValidators.Types.DateTime +  use Pleroma.DataCase + +  test "it validates an xsd:Datetime" do +    valid_strings = [ +      "2004-04-12T13:20:00", +      "2004-04-12T13:20:15.5", +      "2004-04-12T13:20:00-05:00", +      "2004-04-12T13:20:00Z" +    ] + +    invalid_strings = [ +      "2004-04-12T13:00", +      "2004-04-1213:20:00", +      "99-04-12T13:00", +      "2004-04-12" +    ] + +    assert {:ok, "2004-04-01T12:00:00Z"} == DateTime.cast("2004-04-01T12:00:00Z") + +    Enum.each(valid_strings, fn date_time -> +      result = DateTime.cast(date_time) +      assert {:ok, _} = result +    end) + +    Enum.each(invalid_strings, fn date_time -> +      result = DateTime.cast(date_time) +      assert :error == result +    end) +  end +end  | 
