diff --git a/README.md b/README.md index fd616ca..b9a3fb7 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ Add the project to your Mix dependencies in `mix.exs`: ```elixir defp deps do [ - {:ex_json_schema, "~> 0.9.0"} + {:ex_json_schema, "~> 0.9.1"} ] end ``` diff --git a/lib/ex_json_schema/validator/format.ex b/lib/ex_json_schema/validator/format.ex index 1f94097..204e1fb 100644 --- a/lib/ex_json_schema/validator/format.ex +++ b/lib/ex_json_schema/validator/format.ex @@ -64,9 +64,9 @@ defmodule ExJsonSchema.Validator.Format do defp do_validate(_, "date-time" = format, data) do data |> String.upcase() - |> DateTime.from_iso8601() + |> NaiveDateTime.from_iso8601() |> case do - {:ok, %DateTime{}, _} -> [] + {:ok, %NaiveDateTime{}} -> [] _ -> [%Error{error: %Error.Format{expected: format}}] end end diff --git a/mix.exs b/mix.exs index 96e238c..5d571c1 100644 --- a/mix.exs +++ b/mix.exs @@ -2,7 +2,7 @@ defmodule ExJsonSchema.Mixfile do use Mix.Project @source_url "https://github.com/jonasschmidt/ex_json_schema" - @version "0.9.0" + @version "0.9.1" def project do [ diff --git a/test/ex_json_schema/validator_test.exs b/test/ex_json_schema/validator_test.exs index a190edc..7d22d04 100644 --- a/test/ex_json_schema/validator_test.exs +++ b/test/ex_json_schema/validator_test.exs @@ -667,10 +667,14 @@ defmodule ExJsonSchema.ValidatorTest do assert :ok == validate(%{"format" => "date-time"}, false) end + test "format validation succeeds for datetime without tz offset" do + assert :ok == validate(%{"format" => "date-time"}, "2012-12-12 12:12:12") + end + test "validation errors for date-time format" do assert_validation_errors( %{"format" => "date-time"}, - "2012-12-12 12:12:12", + "2012-12-12 12:12:12-1.5", [{"Expected to be a valid ISO 8601 date-time.", "#"}], [%Error{error: %Error.Format{expected: "date-time"}, path: "#"}] )