@@ -1313,7 +1313,7 @@ func TestJSEngineMakeFunction_SpModeV2True(t *testing.T) {
13131313 var testInterState any = nil
13141314 testCases := []JSTestCase {
13151315 {
1316- Scenario : "for JSON []byte input, we get JSON string in interstate and JSON []byte in output" ,
1316+ Scenario : "for JSON []byte input, we get map[ string]any in interstate and JSON []byte in output" ,
13171317 Src : `
13181318 function main(x) {
13191319 return x;
@@ -1334,13 +1334,13 @@ func TestJSEngineMakeFunction_SpModeV2True(t *testing.T) {
13341334 ExpInterState : & engineProtocol {
13351335 FilterOut : false ,
13361336 PartitionKey : "" ,
1337- Data : testJsJSON ,
1337+ Data : testJSMapForJSONInput ,
13381338 },
13391339 IsJSON : true ,
13401340 Error : nil ,
13411341 },
13421342 {
1343- Scenario : "for TSV string input, we get JS map in interstate and JSON string in output" ,
1343+ Scenario : "for TSV string input, we get map[string]any in interstate and JSON []byte in output" ,
13441344 Src : `
13451345 function main(x) {
13461346 return x;
@@ -1375,7 +1375,7 @@ func TestJSEngineMakeFunction_SpModeV2True(t *testing.T) {
13751375 }
13761376
13771377 return {
1378- Data: JSON.stringify(x.Data)
1378+ Data: JSON.stringify(x.Data)
13791379 };
13801380 }
13811381 ` ,
@@ -1408,7 +1408,7 @@ func TestJSEngineMakeFunction_SpModeV2True(t *testing.T) {
14081408 }
14091409
14101410 return {
1411- Data: JSON.stringify(x.Data)
1411+ Data: JSON.stringify(x.Data)
14121412 };
14131413 }
14141414 ` ,
@@ -2911,6 +2911,55 @@ var testJSMap = map[string]any{
29112911 "useragent" : "python-requests/2.21.0" ,
29122912}
29132913
2914+ var testJSMapForJSONInput = map [string ]any {
2915+ "event_version" : "1-0-0" ,
2916+ "app_id" : "test-data<>" ,
2917+ "dvce_created_tstamp" : "2019-05-10T14:40:35.551Z" ,
2918+ "event" : "unstruct" ,
2919+ "v_collector" : "ssc-0.15.0-googlepubsub" ,
2920+ "network_userid" : "d26822f5-52cc-4292-8f77-14ef6b7a27e2" ,
2921+ "event_name" : "add_to_cart" ,
2922+ "event_vendor" : "com.snowplowanalytics.snowplow" ,
2923+ "event_format" : "jsonschema" ,
2924+ "platform" : "pc" ,
2925+ "etl_tstamp" : "2019-05-10T14:40:37.436Z" ,
2926+ "collector_tstamp" : "2019-05-10T14:40:35.972Z" ,
2927+ "user_id" : "user<built-in function input>" ,
2928+ "dvce_sent_tstamp" : "2019-05-10T14:40:35Z" ,
2929+ "derived_tstamp" : "2019-05-10T14:40:35.972Z" ,
2930+ "event_id" : "e9234345-f042-46ad-b1aa-424464066a33" ,
2931+ "v_tracker" : "py-0.8.2" ,
2932+ "v_etl" : "beam-enrich-0.2.0-common-0.36.0" ,
2933+ "user_ipaddress" : "1.2.3.4" ,
2934+ "unstruct_event_com_snowplowanalytics_snowplow_add_to_cart_1" : map [string ]any {
2935+ "quantity" : float64 (2 ),
2936+ "unitPrice" : 32.4 ,
2937+ "currency" : "GBP" ,
2938+ "sku" : "item41" ,
2939+ },
2940+ "contexts_nl_basjes_yauaa_context_1" : []any {
2941+ map [string ]any {
2942+ "deviceName" : "Unknown" ,
2943+ "layoutEngineVersionMajor" : "??" ,
2944+ "operatingSystemName" : "Unknown" ,
2945+ "deviceClass" : "Unknown" ,
2946+ "agentVersion" : "2.21.0" ,
2947+ "layoutEngineName" : "Unknown" ,
2948+ "layoutEngineClass" : "Unknown" ,
2949+ "agentName" : "python-requests" ,
2950+ "agentNameVersion" : "python-requests 2.21.0" ,
2951+ "operatingSystemVersion" : "??" ,
2952+ "agentClass" : "Special" ,
2953+ "deviceBrand" : "Unknown" ,
2954+ "agentVersionMajor" : "2" ,
2955+ "agentNameVersionMajor" : "python-requests 2" ,
2956+ "operatingSystemClass" : "Unknown" ,
2957+ "layoutEngineVersion" : "??" ,
2958+ },
2959+ },
2960+ "useragent" : "python-requests/2.21.0" ,
2961+ }
2962+
29142963var testJsTsv = []byte (`test-data<> pc 2019-05-10 14:40:37.436 2019-05-10 14:40:35.972 2019-05-10 14:40:35.551 unstruct e9234345-f042-46ad-b1aa-424464066a33 py-0.8.2 ssc-0.15.0-googlepubsub beam-enrich-0.2.0-common-0.36.0 user<built-in function input> 1.2.3.4 d26822f5-52cc-4292-8f77-14ef6b7a27e2 {"schema":"iglu:com.snowplowanalytics.snowplow/unstruct_event/jsonschema/1-0-0","data":{"schema":"iglu:com.snowplowanalytics.snowplow/add_to_cart/jsonschema/1-0-0","data":{"sku":"item41","quantity":2,"unitPrice":32.4,"currency":"GBP"}}} python-requests/2.21.0 2019-05-10 14:40:35.000 {"schema":"iglu:com.snowplowanalytics.snowplow/contexts/jsonschema/1-0-1","data":[{"schema":"iglu:nl.basjes/yauaa_context/jsonschema/1-0-0","data":{"deviceBrand":"Unknown","deviceName":"Unknown","operatingSystemName":"Unknown","agentVersionMajor":"2","layoutEngineVersionMajor":"??","deviceClass":"Unknown","agentNameVersionMajor":"python-requests 2","operatingSystemClass":"Unknown","layoutEngineName":"Unknown","agentName":"python-requests","agentVersion":"2.21.0","layoutEngineClass":"Unknown","agentNameVersion":"python-requests 2.21.0","operatingSystemVersion":"??","agentClass":"Special","layoutEngineVersion":"??"}}]} 2019-05-10 14:40:35.972 com.snowplowanalytics.snowplow add_to_cart jsonschema 1-0-0 ` )
29152964
29162965// corresponding JSON to previous TSV
0 commit comments