diff --git a/modules/common/src/main/scala/com.snowplowanalytics.snowplow.enrich/common/enrichments/registry/pii/PiiPseudonymizerEnrichment.scala b/modules/common/src/main/scala/com.snowplowanalytics.snowplow.enrich/common/enrichments/registry/pii/PiiPseudonymizerEnrichment.scala index 3d851969a..414a183ae 100644 --- a/modules/common/src/main/scala/com.snowplowanalytics.snowplow.enrich/common/enrichments/registry/pii/PiiPseudonymizerEnrichment.scala +++ b/modules/common/src/main/scala/com.snowplowanalytics.snowplow.enrich/common/enrichments/registry/pii/PiiPseudonymizerEnrichment.scala @@ -23,7 +23,7 @@ import io.circe.jackson._ import io.circe.syntax._ import com.fasterxml.jackson.databind.JsonNode -import com.fasterxml.jackson.databind.node.{ArrayNode, ObjectNode, TextNode} +import com.fasterxml.jackson.databind.node.{ArrayNode, NullNode, ObjectNode, TextNode} import com.fasterxml.jackson.databind.ObjectMapper import com.jayway.jsonpath.{Configuration, JsonPath => JJsonPath} @@ -306,8 +306,9 @@ private final case class ScrambleMapFunction( ) arr.add(newValue) case default: AnyRef => arr.add(default) + case null => arr.add(NullNode.getInstance()) } arr - case default: AnyRef => default + case _ => currentValue } } diff --git a/modules/common/src/test/scala/com.snowplowanalytics.snowplow.enrich.common/enrichments/registry/pii/PiiPseudonymizerEnrichmentSpec.scala b/modules/common/src/test/scala/com.snowplowanalytics.snowplow.enrich.common/enrichments/registry/pii/PiiPseudonymizerEnrichmentSpec.scala index 3fab13138..3c124570e 100644 --- a/modules/common/src/test/scala/com.snowplowanalytics.snowplow.enrich.common/enrichments/registry/pii/PiiPseudonymizerEnrichmentSpec.scala +++ b/modules/common/src/test/scala/com.snowplowanalytics.snowplow.enrich.common/enrichments/registry/pii/PiiPseudonymizerEnrichmentSpec.scala @@ -116,7 +116,8 @@ class PiiPseudonymizerEnrichmentSpec extends Specification with ValidatedMatcher | { | "schema": "iglu:com.test/array/jsonschema/1-0-0", | "data": { - | "field" : ["hello", "world"] + | "field" : ["hello", "world"], + | "field2" : null | } | } | ] @@ -347,6 +348,11 @@ class PiiPseudonymizerEnrichmentSpec extends Specification with ValidatedMatcher schemaCriterion = SchemaCriterion("com.test", "array", "jsonschema", 1, 0, 0), jsonPath = "$.field" ), + PiiJson( + fieldMutator = JsonMutators("contexts"), + schemaCriterion = SchemaCriterion("com.test", "array", "jsonschema", 1, 0, 0), + jsonPath = "$.field2" + ), PiiJson( fieldMutator = JsonMutators("unstruct_event"), schemaCriterion = SchemaCriterion("com.mailgun", "message_clicked", "jsonschema", 1, 0, 0),