snowplow-incubator / sauna

:hotsprings: A decisioning and response platform
https://github.com/snowplow/sauna/wiki
69 stars 11 forks source link

Flesh out the example sendgrid_config.json #29

Closed fblundun closed 8 years ago

fblundun commented 8 years ago

This is the example in the documentation:

{
    "schema": "iglu:com.snowplowanalytics.sauna.responders/sendgrid_responder/jsonschema/1-0-0",

    "data": {
        "vendor": "com.snowplowanalytics",
        "name": "sendgrid_responder",
        "parameters": {
            "recipientsEnabled": true,
            "token": "47ab5c23f3ae29"
        }
    }
}

Using it results in this stack trace:

[error] (run-main-0) play.api.libs.json.JsResultException: JsResultException(errors:List((,List(ValidationError(List('recipientsEnabled' is undefined on object: {"vendor":"com.snowplowanalytics","name":"sendgrid_responder","parameters":{"recipientsEnabled":true,"token":"47ab5c23f3ae29"}}),WrappedArray())))))
play.api.libs.json.JsResultException: JsResultException(errors:List((,List(ValidationError(List('recipientsEnabled' is undefined on object: {"vendor":"com.snowplowanalytics","name":"sendgrid_responder","parameters":{"recipientsEnabled":true,"token":"47ab5c23f3ae29"}}),WrappedArray())))))
    at play.api.libs.json.JsReadable$$anonfun$2.apply(JsReadable.scala:20)
    at play.api.libs.json.JsReadable$$anonfun$2.apply(JsReadable.scala:20)
    at play.api.libs.json.JsResult$class.fold(JsResult.scala:73)
    at play.api.libs.json.JsError.fold(JsResult.scala:13)
    at play.api.libs.json.JsReadable$class.as(JsReadable.scala:18)
    at play.api.libs.json.JsUndefined.as(JsLookup.scala:127)
    at com.snowplowanalytics.sauna.config.RespondersConfig$.apply(RespondersConfig.scala:47)
    at com.snowplowanalytics.sauna.Sauna$.delayedEndpoint$com$snowplowanalytics$sauna$Sauna$1(Sauna.scala:45)
    at com.snowplowanalytics.sauna.Sauna$delayedInit$body.apply(Sauna.scala:32)
    at scala.Function0$class.apply$mcV$sp(Function0.scala:34)
    at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
    at scala.App$$anonfun$main$1.apply(App.scala:76)
    at scala.App$$anonfun$main$1.apply(App.scala:76)
    at scala.collection.immutable.List.foreach(List.scala:381)
    at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:35)
    at scala.App$class.main(App.scala:76)
    at com.snowplowanalytics.sauna.Sauna$.main(Sauna.scala:32)
    at com.snowplowanalytics.sauna.Sauna.main(Sauna.scala)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)

I believe this is because of the code here which assumes that JSON file has a different layout.

fblundun commented 8 years ago
{
    "schema": "iglu:com.snowplowanalytics.sauna.responders/sendgrid_responder/jsonschema/1-0-0",

    "data": {
        "vendor": "com.snowplowanalytics",
        "name": "sendgrid_responder",
        "recipientsEnabled": true,
        "parameters": {
            "token": "47ab5c23f3ae29"
        }
    }
}

works for me.

alexanderdean commented 8 years ago

Okay - that's a bug, thanks for spotting. I'll get that fixed.

chuwy commented 8 years ago

This can be closed.