From 60af0f985f635ed3032a60f93966b7b51eb0b721 Mon Sep 17 00:00:00 2001 From: Dilyan Damyanov Date: Tue, 15 Sep 2020 12:32:48 +0100 Subject: [PATCH] Common: fix PiiPseudonymizerEnrichment for arrays and improve unit tests coverage (close #334) --- .../schemas/com.test/array/jsonschema/1-0-0 | 4 ++++ .../pii/PiiPseudonymizerEnrichmentSpec.scala | 15 +++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/modules/common/src/test/resources/iglu-schemas/schemas/com.test/array/jsonschema/1-0-0 b/modules/common/src/test/resources/iglu-schemas/schemas/com.test/array/jsonschema/1-0-0 index 97e2490a3..b2310754d 100644 --- a/modules/common/src/test/resources/iglu-schemas/schemas/com.test/array/jsonschema/1-0-0 +++ b/modules/common/src/test/resources/iglu-schemas/schemas/com.test/array/jsonschema/1-0-0 @@ -28,6 +28,10 @@ "type": "string" } } + }, + "field4": { + "type": "string", + "maxLength": 64 } }, "required": ["field"], 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 4837631f1..8f5419eae 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 @@ -118,7 +118,8 @@ class PiiPseudonymizerEnrichmentSpec extends Specification with ValidatedMatcher | "data": { | "field" : ["hello", "world"], | "field2" : null, - | "field3": null + | "field3": null, + | "field4": "" | } | } | ] @@ -363,6 +364,11 @@ class PiiPseudonymizerEnrichmentSpec extends Specification with ValidatedMatcher fieldMutator = JsonMutators("unstruct_event"), schemaCriterion = SchemaCriterion("com.mailgun", "message_clicked", "jsonschema", 1, 0, 0), jsonPath = "$.ip" + ), + PiiJson( + fieldMutator = JsonMutators("contexts"), + schemaCriterion = SchemaCriterion("com.test", "array", "jsonschema", 1, 0, 0), + jsonPath = "$.field4" ) ), false, @@ -447,7 +453,12 @@ class PiiPseudonymizerEnrichmentSpec extends Specification with ValidatedMatcher .downField("field3") .focus must beSome.like { case json => json.isNull }) - first and second and third + // Test that empty string in Pii field gets hashed + val fourth = contextJThirdElement + .downField("data") + .get[String]("field4") must beRight("7a3477dad66e666bd203b834c54b6dfe8b546bdbc5283462ad14052abfb06600") + + first and second and third and fourth } size and validOut