diff --git a/resources/static/shared/models/interaction_data.js b/resources/static/shared/models/interaction_data.js index ed948c2031c398db24092558ee70ae6aa6ba999c..5b91bb6ee129697b23e2c9741cf2b99882256825 100644 --- a/resources/static/shared/models/interaction_data.js +++ b/resources/static/shared/models/interaction_data.js @@ -99,10 +99,11 @@ BrowserID.Models.InteractionData = (function() { _.each(data, function(obj) { filtered.push(whitelistFilter(obj, [ 'event_stream', - 'lang', + 'lang', 'screen_size', - 'sample_rate'] - )); + 'sample_rate', + 'timestamp' + ])); }); network.sendInteractionData(filtered, function() { diff --git a/resources/static/test/cases/shared/models/interaction_data.js b/resources/static/test/cases/shared/models/interaction_data.js index b66ce318adfac786cd8ac04aece3d44d1f69e995..740a3d676656c5ffea15ff5de962652c442a747d 100644 --- a/resources/static/test/cases/shared/models/interaction_data.js +++ b/resources/static/test/cases/shared/models/interaction_data.js @@ -87,7 +87,16 @@ // When the interaction_data next completes, this will be the only data // that is pushed. - model.push({ lang: "bar", secret: "Attack at dawn!!!" }); + var now = new Date().getTime(); + + model.push({ + event_stream: [], + sample_rate: 1, + timestamp: now, + local_timestamp: now, + lang: "bar", + secret: "Attack at dawn!!!" + }); model.stageCurrent(); xhr.useResult("valid"); @@ -97,8 +106,17 @@ previousSessionsData = JSON.parse(request.data).data; equal(previousSessionsData.length, 1, "sending correct result sets"); - equal(previousSessionsData[0].lang, "bar", "correct data sent"); - equal(typeof previousSessionsData[0].secret, "undefined", "non-whitelisted valued stripped"); + + var mostRecentSessionData = previousSessionsData[0]; + testObjectValuesEqual(mostRecentSessionData, { + event_stream: [], + sample_rate: 1, + timestamp: now, + lang: "bar" + }); + + equal(typeof mostRecentSessionData.local_timestamp, "undefined", "non-whitelisted valued stripped"); + equal(typeof mostRecentSessionData.secret, "undefined", "non-whitelisted valued stripped"); start(); }); }); diff --git a/resources/static/test/testHelpers/helpers.js b/resources/static/test/testHelpers/helpers.js index d7909c38ec34113049d0a3d6695a7900148b674f..2c77f42019d666b16005680e32cd1afc4aab1bc6 100644 --- a/resources/static/test/testHelpers/helpers.js +++ b/resources/static/test/testHelpers/helpers.js @@ -216,7 +216,7 @@ BrowserID.TestHelpers = (function() { testObjectValuesEqual: function(objToTest, expected, msg) { for(var key in expected) { - equal(objToTest[key], expected[key], key + " set to: " + expected[key] + (msg ? " - " + msg : "")); + deepEqual(objToTest[key], expected[key], key + " set to: " + expected[key] + (msg ? " - " + msg : "")); } },