Commit 6f6e21c6 authored by Kati Paizee's avatar Kati Paizee

Merge branch 'docs-snowplow-matcher' into 'master'

Add docs for new snowplow matcher

See merge request gitlab-org/gitlab!61879
parents f05592a2 22556f1c
...@@ -895,6 +895,27 @@ When you want to ensure that no event got called, you can use `expect_no_snowplo ...@@ -895,6 +895,27 @@ When you want to ensure that no event got called, you can use `expect_no_snowplo
end end
``` ```
#### Test Snowplow context against the schema
The [Snowplow schema matcher](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/60480)
helps to reduce validation errors by testing Snowplow context against the JSON schema.
The schema matcher accepts the following parameters:
- `schema path`
- `context`
To add a schema matcher spec:
1. Add a new schema to the [Iglu repository](https://gitlab.com/gitlab-org/iglu),
then copy the same schema to the `spec/fixtures/product_intelligence/` directory.
1. In the copied schema, remove the `"$schema"` key and value. We do not need it for specs
and the spec fails if we keep the key, as it tries to look for the schema in the URL.
1. Use the following snippet to call the schema matcher:
```ruby
match_snowplow_context_schema(schema_path: '<filename from step 1>', context: <Context Hash> )
```
### Table-based / Parameterized tests ### Table-based / Parameterized tests
This style of testing is used to exercise one piece of code with a comprehensive This style of testing is used to exercise one piece of code with a comprehensive
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment