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 | |
parent | e9993acdbbd1649bbcbf3fb36581b91145fe6055 (diff) | |
download | pleroma-1993d7096d673d8a8151fedd7bcac909d584d13d.tar.gz |
Validators: Add a type for the datetime used in AP.
Diffstat (limited to 'test')
-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 |