From 2afe38f58a5119f8d33a49f6fb625ac36602ddc8 Mon Sep 17 00:00:00 2001 From: Nadav Samet Date: Thu, 23 Nov 2023 08:23:28 -0800 Subject: [PATCH] Add test for Any containing a timestamp For scalapb/ScalaPB#1612 --- .../scala/scalapb/json4s/AnyFormatSpec.scala | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/test/scala/scalapb/json4s/AnyFormatSpec.scala b/src/test/scala/scalapb/json4s/AnyFormatSpec.scala index fef25e4c..5fca7950 100644 --- a/src/test/scala/scalapb/json4s/AnyFormatSpec.scala +++ b/src/test/scala/scalapb/json4s/AnyFormatSpec.scala @@ -120,6 +120,24 @@ class AnyFormatSpec extends AnyFlatSpec with Matchers with JavaAssertions { ScalaJsonPrinter.toJson(input) must be(optionalAnyJson) } + "Any" should "serialize a timestamp value" in { + val optionalAnyJson = parse("""{ + "optionalAny": { + "@type": "type.googleapis.com/google.protobuf.Timestamp", + "value": "1970-01-01T00:00:00Z" + } + }""") + + val input = ScalaJsonParser.fromJson[AnyContainer](optionalAnyJson) + + input.getOptionalAny + .unpack[com.google.protobuf.timestamp.Timestamp] must be( + com.google.protobuf.timestamp.Timestamp() + ) + + ScalaJsonPrinter.toJson(input) must be(optionalAnyJson) + } + "Any" should "work when nested" in { val nestedAny = parse("""{ | "optionalAny": {