mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1070944 - Part 4: Update and add test cases. r=albert
This commit is contained in:
parent
d1f9190bdb
commit
4a341c2065
@ -5,6 +5,7 @@ const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components;
|
|||||||
|
|
||||||
Cu.import("resource://gre/modules/NetworkStatsDB.jsm");
|
Cu.import("resource://gre/modules/NetworkStatsDB.jsm");
|
||||||
|
|
||||||
|
const STATS_STORE_NAME = "net_stats_store_v3";
|
||||||
const netStatsDb = new NetworkStatsDB();
|
const netStatsDb = new NetworkStatsDB();
|
||||||
|
|
||||||
function clearStore(store, callback) {
|
function clearStore(store, callback) {
|
||||||
@ -26,7 +27,7 @@ function getNetworkId(aIccId, aNetworkType) {
|
|||||||
add_test(function prepareDatabase() {
|
add_test(function prepareDatabase() {
|
||||||
// Clear whole database to avoid starting tests with unknown state
|
// Clear whole database to avoid starting tests with unknown state
|
||||||
// due to the previous tests.
|
// due to the previous tests.
|
||||||
clearStore('net_stats_store', function() {
|
clearStore(STATS_STORE_NAME, function() {
|
||||||
clearStore('net_alarm', function() {
|
clearStore('net_alarm', function() {
|
||||||
run_next_test();
|
run_next_test();
|
||||||
});
|
});
|
||||||
@ -151,6 +152,7 @@ add_test(function test_internalSaveStats_singleSample() {
|
|||||||
var networks = getNetworks();
|
var networks = getNetworks();
|
||||||
|
|
||||||
var stats = { appId: 0,
|
var stats = { appId: 0,
|
||||||
|
isInBrowser: 0,
|
||||||
serviceType: "",
|
serviceType: "",
|
||||||
network: [networks[0].id, networks[0].type],
|
network: [networks[0].id, networks[0].type],
|
||||||
timestamp: Date.now(),
|
timestamp: Date.now(),
|
||||||
@ -161,7 +163,7 @@ add_test(function test_internalSaveStats_singleSample() {
|
|||||||
rxTotalBytes: 1234,
|
rxTotalBytes: 1234,
|
||||||
txTotalBytes: 1234 };
|
txTotalBytes: 1234 };
|
||||||
|
|
||||||
netStatsDb.dbNewTxn("net_stats_store", "readwrite", function(txn, store) {
|
netStatsDb.dbNewTxn(STATS_STORE_NAME, "readwrite", function(txn, store) {
|
||||||
netStatsDb._saveStats(txn, store, stats);
|
netStatsDb._saveStats(txn, store, stats);
|
||||||
}, function(error, result) {
|
}, function(error, result) {
|
||||||
do_check_eq(error, null);
|
do_check_eq(error, null);
|
||||||
@ -170,6 +172,7 @@ add_test(function test_internalSaveStats_singleSample() {
|
|||||||
do_check_eq(error, null);
|
do_check_eq(error, null);
|
||||||
do_check_eq(result.length, 1);
|
do_check_eq(result.length, 1);
|
||||||
do_check_eq(result[0].appId, stats.appId);
|
do_check_eq(result[0].appId, stats.appId);
|
||||||
|
do_check_eq(result[0].isInBrowser, stats.isInBrowser);
|
||||||
do_check_eq(result[0].serviceType, stats.serviceType);
|
do_check_eq(result[0].serviceType, stats.serviceType);
|
||||||
do_check_true(compareNetworks(result[0].network, stats.network));
|
do_check_true(compareNetworks(result[0].network, stats.network));
|
||||||
do_check_eq(result[0].timestamp, stats.timestamp);
|
do_check_eq(result[0].timestamp, stats.timestamp);
|
||||||
@ -185,7 +188,7 @@ add_test(function test_internalSaveStats_singleSample() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
add_test(function test_internalSaveStats_arraySamples() {
|
add_test(function test_internalSaveStats_arraySamples() {
|
||||||
clearStore('net_stats_store', function() {
|
clearStore(STATS_STORE_NAME, function() {
|
||||||
var networks = getNetworks();
|
var networks = getNetworks();
|
||||||
var network = [networks[0].id, networks[0].type];
|
var network = [networks[0].id, networks[0].type];
|
||||||
|
|
||||||
@ -193,6 +196,7 @@ add_test(function test_internalSaveStats_arraySamples() {
|
|||||||
var stats = [];
|
var stats = [];
|
||||||
for (var i = 0; i < samples; i++) {
|
for (var i = 0; i < samples; i++) {
|
||||||
stats.push({ appId: 0,
|
stats.push({ appId: 0,
|
||||||
|
isInBrowser: 0,
|
||||||
serviceType: "",
|
serviceType: "",
|
||||||
network: network,
|
network: network,
|
||||||
timestamp: Date.now() + (10 * i),
|
timestamp: Date.now() + (10 * i),
|
||||||
@ -204,7 +208,7 @@ add_test(function test_internalSaveStats_arraySamples() {
|
|||||||
txTotalBytes: 1234 });
|
txTotalBytes: 1234 });
|
||||||
}
|
}
|
||||||
|
|
||||||
netStatsDb.dbNewTxn("net_stats_store", "readwrite", function(txn, store) {
|
netStatsDb.dbNewTxn(STATS_STORE_NAME, "readwrite", function(txn, store) {
|
||||||
netStatsDb._saveStats(txn, store, stats);
|
netStatsDb._saveStats(txn, store, stats);
|
||||||
}, function(error, result) {
|
}, function(error, result) {
|
||||||
do_check_eq(error, null);
|
do_check_eq(error, null);
|
||||||
@ -216,6 +220,7 @@ add_test(function test_internalSaveStats_arraySamples() {
|
|||||||
var success = true;
|
var success = true;
|
||||||
for (var i = 0; i < samples; i++) {
|
for (var i = 0; i < samples; i++) {
|
||||||
if (result[i].appId != stats[i].appId ||
|
if (result[i].appId != stats[i].appId ||
|
||||||
|
result[i].isInBrowser != stats[i].isInBrowser ||
|
||||||
result[i].serviceType != stats[i].serviceType ||
|
result[i].serviceType != stats[i].serviceType ||
|
||||||
!compareNetworks(result[i].network, stats[i].network) ||
|
!compareNetworks(result[i].network, stats[i].network) ||
|
||||||
result[i].timestamp != stats[i].timestamp ||
|
result[i].timestamp != stats[i].timestamp ||
|
||||||
@ -237,30 +242,32 @@ add_test(function test_internalSaveStats_arraySamples() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
add_test(function test_internalRemoveOldStats() {
|
add_test(function test_internalRemoveOldStats() {
|
||||||
clearStore('net_stats_store', function() {
|
clearStore(STATS_STORE_NAME, function() {
|
||||||
var networks = getNetworks();
|
var networks = getNetworks();
|
||||||
var network = [networks[0].id, networks[0].type];
|
var network = [networks[0].id, networks[0].type];
|
||||||
var samples = 10;
|
var samples = 10;
|
||||||
var stats = [];
|
var stats = [];
|
||||||
for (var i = 0; i < samples - 1; i++) {
|
for (var i = 0; i < samples - 1; i++) {
|
||||||
stats.push({ appId: 0, serviceType: "",
|
stats.push({ appId: 0, isInBrowser: 0,
|
||||||
|
serviceType: "",
|
||||||
network: network, timestamp: Date.now() + (10 * i),
|
network: network, timestamp: Date.now() + (10 * i),
|
||||||
rxBytes: 0, txBytes: 0,
|
rxBytes: 0, txBytes: 0,
|
||||||
rxSystemBytes: 1234, txSystemBytes: 1234,
|
rxSystemBytes: 1234, txSystemBytes: 1234,
|
||||||
rxTotalBytes: 1234, txTotalBytes: 1234 });
|
rxTotalBytes: 1234, txTotalBytes: 1234 });
|
||||||
}
|
}
|
||||||
|
|
||||||
stats.push({ appId: 0, serviceType: "",
|
stats.push({ appId: 0, isInBrowser: 0,
|
||||||
|
serviceType: "",
|
||||||
network: network, timestamp: Date.now() + (10 * samples),
|
network: network, timestamp: Date.now() + (10 * samples),
|
||||||
rxBytes: 0, txBytes: 0,
|
rxBytes: 0, txBytes: 0,
|
||||||
rxSystemBytes: 1234, txSystemBytes: 1234,
|
rxSystemBytes: 1234, txSystemBytes: 1234,
|
||||||
rxTotalBytes: 1234, txTotalBytes: 1234 });
|
rxTotalBytes: 1234, txTotalBytes: 1234 });
|
||||||
|
|
||||||
netStatsDb.dbNewTxn("net_stats_store", "readwrite", function(txn, store) {
|
netStatsDb.dbNewTxn(STATS_STORE_NAME, "readwrite", function(txn, store) {
|
||||||
netStatsDb._saveStats(txn, store, stats);
|
netStatsDb._saveStats(txn, store, stats);
|
||||||
var date = stats[stats.length - 1].timestamp
|
var date = stats[stats.length - 1].timestamp
|
||||||
+ (netStatsDb.sampleRate * netStatsDb.maxStorageSamples - 1) - 1;
|
+ (netStatsDb.sampleRate * netStatsDb.maxStorageSamples - 1) - 1;
|
||||||
netStatsDb._removeOldStats(txn, store, 0, "", network, date);
|
netStatsDb._removeOldStats(txn, store, 0, 0, "", network, date);
|
||||||
}, function(error, result) {
|
}, function(error, result) {
|
||||||
do_check_eq(error, null);
|
do_check_eq(error, null);
|
||||||
|
|
||||||
@ -275,11 +282,11 @@ add_test(function test_internalRemoveOldStats() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
function processSamplesDiff(networks, lastStat, newStat, callback) {
|
function processSamplesDiff(networks, lastStat, newStat, callback) {
|
||||||
clearStore('net_stats_store', function() {
|
clearStore(STATS_STORE_NAME, function() {
|
||||||
netStatsDb.dbNewTxn("net_stats_store", "readwrite", function(txn, store) {
|
netStatsDb.dbNewTxn(STATS_STORE_NAME, "readwrite", function(txn, store) {
|
||||||
netStatsDb._saveStats(txn, store, lastStat);
|
netStatsDb._saveStats(txn, store, lastStat);
|
||||||
}, function(error, result) {
|
}, function(error, result) {
|
||||||
netStatsDb.dbNewTxn("net_stats_store", "readwrite", function(txn, store) {
|
netStatsDb.dbNewTxn(STATS_STORE_NAME, "readwrite", function(txn, store) {
|
||||||
let request = store.index("network").openCursor(newStat.network, "prev");
|
let request = store.index("network").openCursor(newStat.network, "prev");
|
||||||
request.onsuccess = function onsuccess(event) {
|
request.onsuccess = function onsuccess(event) {
|
||||||
let cursor = event.target.result;
|
let cursor = event.target.result;
|
||||||
@ -304,13 +311,15 @@ add_test(function test_processSamplesDiffSameSample() {
|
|||||||
var sampleRate = netStatsDb.sampleRate;
|
var sampleRate = netStatsDb.sampleRate;
|
||||||
var date = filterTimestamp(new Date());
|
var date = filterTimestamp(new Date());
|
||||||
|
|
||||||
var lastStat = { appId: 0, serviceType: "",
|
var lastStat = { appId: 0, isInBrowser: 0,
|
||||||
|
serviceType: "",
|
||||||
network: network, timestamp: date,
|
network: network, timestamp: date,
|
||||||
rxBytes: 0, txBytes: 0,
|
rxBytes: 0, txBytes: 0,
|
||||||
rxSystemBytes: 1234, txSystemBytes: 1234,
|
rxSystemBytes: 1234, txSystemBytes: 1234,
|
||||||
rxTotalBytes: 2234, txTotalBytes: 2234 };
|
rxTotalBytes: 2234, txTotalBytes: 2234 };
|
||||||
|
|
||||||
var newStat = { appId: 0, serviceType: "",
|
var newStat = { appId: 0, isInBrowser: 0,
|
||||||
|
serviceType: "",
|
||||||
network: network, timestamp: date,
|
network: network, timestamp: date,
|
||||||
rxBytes: 0, txBytes: 0,
|
rxBytes: 0, txBytes: 0,
|
||||||
rxSystemBytes: 2234, txSystemBytes: 2234,
|
rxSystemBytes: 2234, txSystemBytes: 2234,
|
||||||
@ -319,6 +328,7 @@ add_test(function test_processSamplesDiffSameSample() {
|
|||||||
processSamplesDiff(networks, lastStat, newStat, function(result) {
|
processSamplesDiff(networks, lastStat, newStat, function(result) {
|
||||||
do_check_eq(result.length, 1);
|
do_check_eq(result.length, 1);
|
||||||
do_check_eq(result[0].appId, newStat.appId);
|
do_check_eq(result[0].appId, newStat.appId);
|
||||||
|
do_check_eq(result[0].isInBrowser, newStat.isInBrowser);
|
||||||
do_check_eq(result[0].serviceType, newStat.serviceType);
|
do_check_eq(result[0].serviceType, newStat.serviceType);
|
||||||
do_check_true(compareNetworks(result[0].network, newStat.network));
|
do_check_true(compareNetworks(result[0].network, newStat.network));
|
||||||
do_check_eq(result[0].timestamp, newStat.timestamp);
|
do_check_eq(result[0].timestamp, newStat.timestamp);
|
||||||
@ -339,13 +349,15 @@ add_test(function test_processSamplesDiffNextSample() {
|
|||||||
var sampleRate = netStatsDb.sampleRate;
|
var sampleRate = netStatsDb.sampleRate;
|
||||||
var date = filterTimestamp(new Date());
|
var date = filterTimestamp(new Date());
|
||||||
|
|
||||||
var lastStat = { appId: 0, serviceType: "",
|
var lastStat = { appId: 0, isInBrowser: 0,
|
||||||
|
serviceType: "",
|
||||||
network: network, timestamp: date,
|
network: network, timestamp: date,
|
||||||
rxBytes: 0, txBytes: 0,
|
rxBytes: 0, txBytes: 0,
|
||||||
rxSystemBytes: 1234, txSystemBytes: 1234,
|
rxSystemBytes: 1234, txSystemBytes: 1234,
|
||||||
rxTotalBytes: 2234, txTotalBytes: 2234 };
|
rxTotalBytes: 2234, txTotalBytes: 2234 };
|
||||||
|
|
||||||
var newStat = { appId: 0, serviceType: "",
|
var newStat = { appId: 0, isInBrowser: 0,
|
||||||
|
serviceType: "",
|
||||||
network: network, timestamp: date + sampleRate,
|
network: network, timestamp: date + sampleRate,
|
||||||
rxBytes: 0, txBytes: 0,
|
rxBytes: 0, txBytes: 0,
|
||||||
rxSystemBytes: 1734, txSystemBytes: 1734,
|
rxSystemBytes: 1734, txSystemBytes: 1734,
|
||||||
@ -354,6 +366,7 @@ add_test(function test_processSamplesDiffNextSample() {
|
|||||||
processSamplesDiff(networks, lastStat, newStat, function(result) {
|
processSamplesDiff(networks, lastStat, newStat, function(result) {
|
||||||
do_check_eq(result.length, 2);
|
do_check_eq(result.length, 2);
|
||||||
do_check_eq(result[1].appId, newStat.appId);
|
do_check_eq(result[1].appId, newStat.appId);
|
||||||
|
do_check_eq(result[1].isInBrowser, newStat.isInBrowser);
|
||||||
do_check_eq(result[1].serviceType, newStat.serviceType);
|
do_check_eq(result[1].serviceType, newStat.serviceType);
|
||||||
do_check_true(compareNetworks(result[1].network, newStat.network));
|
do_check_true(compareNetworks(result[1].network, newStat.network));
|
||||||
do_check_eq(result[1].timestamp, newStat.timestamp);
|
do_check_eq(result[1].timestamp, newStat.timestamp);
|
||||||
@ -373,13 +386,15 @@ add_test(function test_processSamplesDiffSamplesLost() {
|
|||||||
var samples = 5;
|
var samples = 5;
|
||||||
var sampleRate = netStatsDb.sampleRate;
|
var sampleRate = netStatsDb.sampleRate;
|
||||||
var date = filterTimestamp(new Date());
|
var date = filterTimestamp(new Date());
|
||||||
var lastStat = { appId: 0, serviceType: "",
|
var lastStat = { appId: 0, isInBrowser: 0,
|
||||||
|
serviceType: "",
|
||||||
network: network, timestamp: date,
|
network: network, timestamp: date,
|
||||||
rxBytes: 0, txBytes: 0,
|
rxBytes: 0, txBytes: 0,
|
||||||
rxSystemBytes: 1234, txSystemBytes: 1234,
|
rxSystemBytes: 1234, txSystemBytes: 1234,
|
||||||
rxTotalBytes: 2234, txTotalBytes: 2234};
|
rxTotalBytes: 2234, txTotalBytes: 2234};
|
||||||
|
|
||||||
var newStat = { appId: 0, serviceType: "",
|
var newStat = { appId: 0, isInBrowser: 0,
|
||||||
|
serviceType: "",
|
||||||
network: network, timestamp: date + (sampleRate * samples),
|
network: network, timestamp: date + (sampleRate * samples),
|
||||||
rxBytes: 0, txBytes: 0,
|
rxBytes: 0, txBytes: 0,
|
||||||
rxSystemBytes: 2234, txSystemBytes: 2234,
|
rxSystemBytes: 2234, txSystemBytes: 2234,
|
||||||
@ -388,6 +403,7 @@ add_test(function test_processSamplesDiffSamplesLost() {
|
|||||||
processSamplesDiff(networks, lastStat, newStat, function(result) {
|
processSamplesDiff(networks, lastStat, newStat, function(result) {
|
||||||
do_check_eq(result.length, samples + 1);
|
do_check_eq(result.length, samples + 1);
|
||||||
do_check_eq(result[0].appId, newStat.appId);
|
do_check_eq(result[0].appId, newStat.appId);
|
||||||
|
do_check_eq(result[0].isInBrowser, newStat.isInBrowser);
|
||||||
do_check_eq(result[0].serviceType, newStat.serviceType);
|
do_check_eq(result[0].serviceType, newStat.serviceType);
|
||||||
do_check_true(compareNetworks(result[samples].network, newStat.network));
|
do_check_true(compareNetworks(result[samples].network, newStat.network));
|
||||||
do_check_eq(result[samples].timestamp, newStat.timestamp);
|
do_check_eq(result[samples].timestamp, newStat.timestamp);
|
||||||
@ -406,6 +422,7 @@ add_test(function test_saveStats() {
|
|||||||
var network = [networks[0].id, networks[0].type];
|
var network = [networks[0].id, networks[0].type];
|
||||||
|
|
||||||
var stats = { appId: 0,
|
var stats = { appId: 0,
|
||||||
|
isInBrowser: false,
|
||||||
serviceType: "",
|
serviceType: "",
|
||||||
networkId: networks[0].id,
|
networkId: networks[0].id,
|
||||||
networkType: networks[0].type,
|
networkType: networks[0].type,
|
||||||
@ -414,13 +431,14 @@ add_test(function test_saveStats() {
|
|||||||
txBytes: 2234,
|
txBytes: 2234,
|
||||||
isAccumulative: true };
|
isAccumulative: true };
|
||||||
|
|
||||||
clearStore('net_stats_store', function() {
|
clearStore(STATS_STORE_NAME, function() {
|
||||||
netStatsDb.saveStats(stats, function(error, result) {
|
netStatsDb.saveStats(stats, function(error, result) {
|
||||||
do_check_eq(error, null);
|
do_check_eq(error, null);
|
||||||
netStatsDb.logAllRecords(function(error, result) {
|
netStatsDb.logAllRecords(function(error, result) {
|
||||||
do_check_eq(error, null);
|
do_check_eq(error, null);
|
||||||
do_check_eq(result.length, 1);
|
do_check_eq(result.length, 1);
|
||||||
do_check_eq(result[0].appId, stats.appId);
|
do_check_eq(result[0].appId, stats.appId);
|
||||||
|
do_check_eq(result[0].isInBrowser, stats.isInBrowser);
|
||||||
do_check_eq(result[0].serviceType, stats.serviceType);
|
do_check_eq(result[0].serviceType, stats.serviceType);
|
||||||
do_check_true(compareNetworks(result[0].network, network));
|
do_check_true(compareNetworks(result[0].network, network));
|
||||||
let timestamp = filterTimestamp(stats.date);
|
let timestamp = filterTimestamp(stats.date);
|
||||||
@ -442,6 +460,7 @@ add_test(function test_saveAppStats() {
|
|||||||
var network = [networks[0].id, networks[0].type];
|
var network = [networks[0].id, networks[0].type];
|
||||||
|
|
||||||
var stats = { appId: 1,
|
var stats = { appId: 1,
|
||||||
|
isInBrowser: false,
|
||||||
serviceType: "",
|
serviceType: "",
|
||||||
networkId: networks[0].id,
|
networkId: networks[0].id,
|
||||||
networkType: networks[0].type,
|
networkType: networks[0].type,
|
||||||
@ -450,13 +469,14 @@ add_test(function test_saveAppStats() {
|
|||||||
txBytes: 2234,
|
txBytes: 2234,
|
||||||
isAccumulative: false };
|
isAccumulative: false };
|
||||||
|
|
||||||
clearStore('net_stats_store', function() {
|
clearStore(STATS_STORE_NAME, function() {
|
||||||
netStatsDb.saveStats(stats, function(error, result) {
|
netStatsDb.saveStats(stats, function(error, result) {
|
||||||
do_check_eq(error, null);
|
do_check_eq(error, null);
|
||||||
netStatsDb.logAllRecords(function(error, result) {
|
netStatsDb.logAllRecords(function(error, result) {
|
||||||
do_check_eq(error, null);
|
do_check_eq(error, null);
|
||||||
do_check_eq(result.length, 1);
|
do_check_eq(result.length, 1);
|
||||||
do_check_eq(result[0].appId, stats.appId);
|
do_check_eq(result[0].appId, stats.appId);
|
||||||
|
do_check_eq(result[0].isInBrowser, 0);
|
||||||
do_check_eq(result[0].serviceType, stats.serviceType);
|
do_check_eq(result[0].serviceType, stats.serviceType);
|
||||||
do_check_true(compareNetworks(result[0].network, network));
|
do_check_true(compareNetworks(result[0].network, network));
|
||||||
let timestamp = filterTimestamp(stats.date);
|
let timestamp = filterTimestamp(stats.date);
|
||||||
@ -478,6 +498,7 @@ add_test(function test_saveServiceStats() {
|
|||||||
var network = [networks[0].id, networks[0].type];
|
var network = [networks[0].id, networks[0].type];
|
||||||
|
|
||||||
var stats = { appId: 0,
|
var stats = { appId: 0,
|
||||||
|
isInBrowser: false,
|
||||||
serviceType: "FakeType",
|
serviceType: "FakeType",
|
||||||
networkId: networks[0].id,
|
networkId: networks[0].id,
|
||||||
networkType: networks[0].type,
|
networkType: networks[0].type,
|
||||||
@ -486,13 +507,14 @@ add_test(function test_saveServiceStats() {
|
|||||||
txBytes: 2234,
|
txBytes: 2234,
|
||||||
isAccumulative: false };
|
isAccumulative: false };
|
||||||
|
|
||||||
clearStore('net_stats_store', function() {
|
clearStore(STATS_STORE_NAME, function() {
|
||||||
netStatsDb.saveStats(stats, function(error, result) {
|
netStatsDb.saveStats(stats, function(error, result) {
|
||||||
do_check_eq(error, null);
|
do_check_eq(error, null);
|
||||||
netStatsDb.logAllRecords(function(error, result) {
|
netStatsDb.logAllRecords(function(error, result) {
|
||||||
do_check_eq(error, null);
|
do_check_eq(error, null);
|
||||||
do_check_eq(result.length, 1);
|
do_check_eq(result.length, 1);
|
||||||
do_check_eq(result[0].appId, stats.appId);
|
do_check_eq(result[0].appId, stats.appId);
|
||||||
|
do_check_eq(result[0].isInBrowser, 0);
|
||||||
do_check_eq(result[0].serviceType, stats.serviceType);
|
do_check_eq(result[0].serviceType, stats.serviceType);
|
||||||
do_check_true(compareNetworks(result[0].network, network));
|
do_check_true(compareNetworks(result[0].network, network));
|
||||||
let timestamp = filterTimestamp(stats.date);
|
let timestamp = filterTimestamp(stats.date);
|
||||||
@ -510,8 +532,8 @@ add_test(function test_saveServiceStats() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
function prepareFind(stats, callback) {
|
function prepareFind(stats, callback) {
|
||||||
clearStore('net_stats_store', function() {
|
clearStore(STATS_STORE_NAME, function() {
|
||||||
netStatsDb.dbNewTxn("net_stats_store", "readwrite", function(txn, store) {
|
netStatsDb.dbNewTxn(STATS_STORE_NAME, "readwrite", function(txn, store) {
|
||||||
netStatsDb._saveStats(txn, store, stats);
|
netStatsDb._saveStats(txn, store, stats);
|
||||||
}, function(error, result) {
|
}, function(error, result) {
|
||||||
callback(error, result);
|
callback(error, result);
|
||||||
@ -524,6 +546,7 @@ add_test(function test_find () {
|
|||||||
var networkWifi = [networks[0].id, networks[0].type];
|
var networkWifi = [networks[0].id, networks[0].type];
|
||||||
var networkMobile = [networks[1].id, networks[1].type]; // Fake mobile interface
|
var networkMobile = [networks[1].id, networks[1].type]; // Fake mobile interface
|
||||||
var appId = 0;
|
var appId = 0;
|
||||||
|
var isInBrowser = 0;
|
||||||
var serviceType = "";
|
var serviceType = "";
|
||||||
|
|
||||||
var samples = 5;
|
var samples = 5;
|
||||||
@ -534,14 +557,16 @@ add_test(function test_find () {
|
|||||||
start = new Date(start - sampleRate);
|
start = new Date(start - sampleRate);
|
||||||
var stats = [];
|
var stats = [];
|
||||||
for (var i = 0; i < samples; i++) {
|
for (var i = 0; i < samples; i++) {
|
||||||
stats.push({ appId: appId, serviceType: serviceType,
|
stats.push({ appId: appId, isInBrowser: isInBrowser,
|
||||||
|
serviceType: serviceType,
|
||||||
network: networkWifi, timestamp: saveDate + (sampleRate * i),
|
network: networkWifi, timestamp: saveDate + (sampleRate * i),
|
||||||
rxBytes: 0, txBytes: 10,
|
rxBytes: 0, txBytes: 10,
|
||||||
rxSystemBytes: 0, txSystemBytes: 0,
|
rxSystemBytes: 0, txSystemBytes: 0,
|
||||||
rxTotalBytes: 0, txTotalBytes: 0 });
|
rxTotalBytes: 0, txTotalBytes: 0 });
|
||||||
|
|
||||||
|
|
||||||
stats.push({ appId: appId, serviceType: serviceType,
|
stats.push({ appId: appId, isInBrowser: isInBrowser,
|
||||||
|
serviceType: serviceType,
|
||||||
network: networkMobile, timestamp: saveDate + (sampleRate * i),
|
network: networkMobile, timestamp: saveDate + (sampleRate * i),
|
||||||
rxBytes: 0, txBytes: 10,
|
rxBytes: 0, txBytes: 10,
|
||||||
rxSystemBytes: 0, txSystemBytes: 0,
|
rxSystemBytes: 0, txSystemBytes: 0,
|
||||||
@ -552,6 +577,7 @@ add_test(function test_find () {
|
|||||||
do_check_eq(error, null);
|
do_check_eq(error, null);
|
||||||
netStatsDb.find(function (error, result) {
|
netStatsDb.find(function (error, result) {
|
||||||
do_check_eq(error, null);
|
do_check_eq(error, null);
|
||||||
|
do_check_eq(result.browsingTrafficOnly, false);
|
||||||
do_check_eq(result.serviceType, serviceType);
|
do_check_eq(result.serviceType, serviceType);
|
||||||
do_check_eq(result.network.id, networks[0].id);
|
do_check_eq(result.network.id, networks[0].id);
|
||||||
do_check_eq(result.network.type, networks[0].type);
|
do_check_eq(result.network.type, networks[0].type);
|
||||||
@ -562,7 +588,7 @@ add_test(function test_find () {
|
|||||||
do_check_eq(result.data[1].rxBytes, 0);
|
do_check_eq(result.data[1].rxBytes, 0);
|
||||||
do_check_eq(result.data[samples].rxBytes, 0);
|
do_check_eq(result.data[samples].rxBytes, 0);
|
||||||
run_next_test();
|
run_next_test();
|
||||||
}, appId, serviceType, networks[0], start, end);
|
}, appId, false, serviceType, networks[0], start, end);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -571,6 +597,7 @@ add_test(function test_findAppStats () {
|
|||||||
var networkWifi = [networks[0].id, networks[0].type];
|
var networkWifi = [networks[0].id, networks[0].type];
|
||||||
var networkMobile = [networks[1].id, networks[1].type]; // Fake mobile interface
|
var networkMobile = [networks[1].id, networks[1].type]; // Fake mobile interface
|
||||||
var appId = 1;
|
var appId = 1;
|
||||||
|
var isInBrowser = 0;
|
||||||
var serviceType = "";
|
var serviceType = "";
|
||||||
|
|
||||||
var samples = 5;
|
var samples = 5;
|
||||||
@ -581,12 +608,14 @@ add_test(function test_findAppStats () {
|
|||||||
start = new Date(start - sampleRate);
|
start = new Date(start - sampleRate);
|
||||||
var stats = [];
|
var stats = [];
|
||||||
for (var i = 0; i < samples; i++) {
|
for (var i = 0; i < samples; i++) {
|
||||||
stats.push({ appId: appId, serviceType: serviceType,
|
stats.push({ appId: appId, isInBrowser: isInBrowser,
|
||||||
|
serviceType: serviceType,
|
||||||
network: networkWifi, timestamp: saveDate + (sampleRate * i),
|
network: networkWifi, timestamp: saveDate + (sampleRate * i),
|
||||||
rxBytes: 0, txBytes: 10,
|
rxBytes: 0, txBytes: 10,
|
||||||
rxTotalBytes: 0, txTotalBytes: 0 });
|
rxTotalBytes: 0, txTotalBytes: 0 });
|
||||||
|
|
||||||
stats.push({ appId: appId, serviceType: serviceType,
|
stats.push({ appId: appId, isInBrowser: isInBrowser,
|
||||||
|
serviceType: serviceType,
|
||||||
network: networkMobile, timestamp: saveDate + (sampleRate * i),
|
network: networkMobile, timestamp: saveDate + (sampleRate * i),
|
||||||
rxBytes: 0, txBytes: 10,
|
rxBytes: 0, txBytes: 10,
|
||||||
rxTotalBytes: 0, txTotalBytes: 0 });
|
rxTotalBytes: 0, txTotalBytes: 0 });
|
||||||
@ -596,6 +625,7 @@ add_test(function test_findAppStats () {
|
|||||||
do_check_eq(error, null);
|
do_check_eq(error, null);
|
||||||
netStatsDb.find(function (error, result) {
|
netStatsDb.find(function (error, result) {
|
||||||
do_check_eq(error, null);
|
do_check_eq(error, null);
|
||||||
|
do_check_eq(result.browsingTrafficOnly, false);
|
||||||
do_check_eq(result.serviceType, serviceType);
|
do_check_eq(result.serviceType, serviceType);
|
||||||
do_check_eq(result.network.id, networks[0].id);
|
do_check_eq(result.network.id, networks[0].id);
|
||||||
do_check_eq(result.network.type, networks[0].type);
|
do_check_eq(result.network.type, networks[0].type);
|
||||||
@ -606,7 +636,7 @@ add_test(function test_findAppStats () {
|
|||||||
do_check_eq(result.data[1].rxBytes, 0);
|
do_check_eq(result.data[1].rxBytes, 0);
|
||||||
do_check_eq(result.data[samples].rxBytes, 0);
|
do_check_eq(result.data[samples].rxBytes, 0);
|
||||||
run_next_test();
|
run_next_test();
|
||||||
}, appId, serviceType, networks[0], start, end);
|
}, appId, false, serviceType, networks[0], start, end);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -615,6 +645,7 @@ add_test(function test_findServiceStats () {
|
|||||||
var networkWifi = [networks[0].id, networks[0].type];
|
var networkWifi = [networks[0].id, networks[0].type];
|
||||||
var networkMobile = [networks[1].id, networks[1].type]; // Fake mobile interface
|
var networkMobile = [networks[1].id, networks[1].type]; // Fake mobile interface
|
||||||
var appId = 0;
|
var appId = 0;
|
||||||
|
var isInBrowser = 0;
|
||||||
var serviceType = "FakeType";
|
var serviceType = "FakeType";
|
||||||
|
|
||||||
var samples = 5;
|
var samples = 5;
|
||||||
@ -625,12 +656,14 @@ add_test(function test_findServiceStats () {
|
|||||||
start = new Date(start - sampleRate);
|
start = new Date(start - sampleRate);
|
||||||
var stats = [];
|
var stats = [];
|
||||||
for (var i = 0; i < samples; i++) {
|
for (var i = 0; i < samples; i++) {
|
||||||
stats.push({ appId: appId, serviceType: serviceType,
|
stats.push({ appId: appId, isInBrowser: isInBrowser,
|
||||||
|
serviceType: serviceType,
|
||||||
network: networkWifi, timestamp: saveDate + (sampleRate * i),
|
network: networkWifi, timestamp: saveDate + (sampleRate * i),
|
||||||
rxBytes: 0, txBytes: 10,
|
rxBytes: 0, txBytes: 10,
|
||||||
rxTotalBytes: 0, txTotalBytes: 0 });
|
rxTotalBytes: 0, txTotalBytes: 0 });
|
||||||
|
|
||||||
stats.push({ appId: appId, serviceType: serviceType,
|
stats.push({ appId: appId, isInBrowser: isInBrowser,
|
||||||
|
serviceType: serviceType,
|
||||||
network: networkMobile, timestamp: saveDate + (sampleRate * i),
|
network: networkMobile, timestamp: saveDate + (sampleRate * i),
|
||||||
rxBytes: 0, txBytes: 10,
|
rxBytes: 0, txBytes: 10,
|
||||||
rxTotalBytes: 0, txTotalBytes: 0 });
|
rxTotalBytes: 0, txTotalBytes: 0 });
|
||||||
@ -640,6 +673,7 @@ add_test(function test_findServiceStats () {
|
|||||||
do_check_eq(error, null);
|
do_check_eq(error, null);
|
||||||
netStatsDb.find(function (error, result) {
|
netStatsDb.find(function (error, result) {
|
||||||
do_check_eq(error, null);
|
do_check_eq(error, null);
|
||||||
|
do_check_eq(result.browsingTrafficOnly, false);
|
||||||
do_check_eq(result.serviceType, serviceType);
|
do_check_eq(result.serviceType, serviceType);
|
||||||
do_check_eq(result.network.id, networks[0].id);
|
do_check_eq(result.network.id, networks[0].id);
|
||||||
do_check_eq(result.network.type, networks[0].type);
|
do_check_eq(result.network.type, networks[0].type);
|
||||||
@ -650,7 +684,7 @@ add_test(function test_findServiceStats () {
|
|||||||
do_check_eq(result.data[1].rxBytes, 0);
|
do_check_eq(result.data[1].rxBytes, 0);
|
||||||
do_check_eq(result.data[samples].rxBytes, 0);
|
do_check_eq(result.data[samples].rxBytes, 0);
|
||||||
run_next_test();
|
run_next_test();
|
||||||
}, appId, serviceType, networks[0], start, end);
|
}, appId, false, serviceType, networks[0], start, end);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -669,42 +703,48 @@ add_test(function test_saveMultipleAppStats () {
|
|||||||
appId: 0, date: new Date(),
|
appId: 0, date: new Date(),
|
||||||
networkId: networkWifi.id, networkType: networkWifi.type,
|
networkId: networkWifi.id, networkType: networkWifi.type,
|
||||||
rxBytes: 0, txBytes: 10,
|
rxBytes: 0, txBytes: 10,
|
||||||
serviceType: serviceType, isAccumulative: false
|
serviceType: serviceType, isAccumulative: false,
|
||||||
|
isInBrowser: false
|
||||||
};
|
};
|
||||||
|
|
||||||
cached[0 + '' + serviceType + mobileNetId] = {
|
cached[0 + '' + serviceType + mobileNetId] = {
|
||||||
appId: 0, date: new Date(),
|
appId: 0, date: new Date(),
|
||||||
networkId: networkMobile.id, networkType: networkMobile.type,
|
networkId: networkMobile.id, networkType: networkMobile.type,
|
||||||
rxBytes: 0, txBytes: 10,
|
rxBytes: 0, txBytes: 10,
|
||||||
serviceType: serviceType, isAccumulative: false
|
serviceType: serviceType, isAccumulative: false,
|
||||||
|
isInBrowser: false
|
||||||
};
|
};
|
||||||
|
|
||||||
cached[1 + '' + wifiNetId] = {
|
cached[1 + '' + wifiNetId] = {
|
||||||
appId: 1, date: new Date(),
|
appId: 1, date: new Date(),
|
||||||
networkId: networkWifi.id, networkType: networkWifi.type,
|
networkId: networkWifi.id, networkType: networkWifi.type,
|
||||||
rxBytes: 0, txBytes: 10,
|
rxBytes: 0, txBytes: 10,
|
||||||
serviceType: "", isAccumulative: false
|
serviceType: "", isAccumulative: false,
|
||||||
|
isInBrowser: false
|
||||||
};
|
};
|
||||||
|
|
||||||
cached[1 + '' + mobileNetId] = {
|
cached[1 + '' + mobileNetId] = {
|
||||||
appId: 1, date: new Date(),
|
appId: 1, date: new Date(),
|
||||||
networkId: networkMobile.id, networkType: networkMobile.type,
|
networkId: networkMobile.id, networkType: networkMobile.type,
|
||||||
rxBytes: 0, txBytes: 10,
|
rxBytes: 0, txBytes: 10,
|
||||||
serviceType: "", isAccumulative: false
|
serviceType: "", isAccumulative: false,
|
||||||
|
isInBrowser: false
|
||||||
};
|
};
|
||||||
|
|
||||||
cached[2 + '' + wifiNetId] = {
|
cached[2 + '' + wifiNetId] = {
|
||||||
appId: 2, date: new Date(),
|
appId: 2, date: new Date(),
|
||||||
networkId: networkWifi.id, networkType: networkWifi.type,
|
networkId: networkWifi.id, networkType: networkWifi.type,
|
||||||
rxBytes: 0, txBytes: 10,
|
rxBytes: 0, txBytes: 10,
|
||||||
serviceType: "", isAccumulative: false
|
serviceType: "", isAccumulative: false,
|
||||||
|
isInBrowser: false
|
||||||
};
|
};
|
||||||
|
|
||||||
cached[2 + '' + mobileNetId] = {
|
cached[2 + '' + mobileNetId] = {
|
||||||
appId: 2, date: new Date(),
|
appId: 2, date: new Date(),
|
||||||
networkId: networkMobile.id, networkType: networkMobile.type,
|
networkId: networkMobile.id, networkType: networkMobile.type,
|
||||||
rxBytes: 0, txBytes: 10,
|
rxBytes: 0, txBytes: 10,
|
||||||
serviceType: "", isAccumulative: false
|
serviceType: "", isAccumulative: false,
|
||||||
|
isInBrowser: false
|
||||||
};
|
};
|
||||||
|
|
||||||
let keys = Object.keys(cached);
|
let keys = Object.keys(cached);
|
||||||
@ -712,7 +752,7 @@ add_test(function test_saveMultipleAppStats () {
|
|||||||
|
|
||||||
networks.push(networkMobile);
|
networks.push(networkMobile);
|
||||||
|
|
||||||
clearStore('net_stats_store', function() {
|
clearStore(STATS_STORE_NAME, function() {
|
||||||
netStatsDb.saveStats(cached[keys[index]],
|
netStatsDb.saveStats(cached[keys[index]],
|
||||||
function callback(error, result) {
|
function callback(error, result) {
|
||||||
do_check_eq(error, null);
|
do_check_eq(error, null);
|
||||||
@ -721,6 +761,7 @@ add_test(function test_saveMultipleAppStats () {
|
|||||||
netStatsDb.logAllRecords(function(error, result) {
|
netStatsDb.logAllRecords(function(error, result) {
|
||||||
do_check_eq(error, null);
|
do_check_eq(error, null);
|
||||||
do_check_eq(result.length, 6);
|
do_check_eq(result.length, 6);
|
||||||
|
do_check_eq(result[0].isInBrowser, 0);
|
||||||
do_check_eq(result[0].serviceType, serviceType);
|
do_check_eq(result[0].serviceType, serviceType);
|
||||||
do_check_eq(result[3].appId, 1);
|
do_check_eq(result[3].appId, 1);
|
||||||
do_check_true(compareNetworks(result[0].network, [networkWifi.id, networkWifi.type]));
|
do_check_true(compareNetworks(result[0].network, [networkWifi.id, networkWifi.type]));
|
||||||
@ -737,6 +778,118 @@ add_test(function test_saveMultipleAppStats () {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Test case for find samples with browsingTrafficOnly option.
|
||||||
|
add_test(function test_findBrowsingTrafficStats() {
|
||||||
|
var networks = getNetworks();
|
||||||
|
var networkWifi = [networks[0].id, networks[0].type];
|
||||||
|
var networkMobile = [networks[1].id, networks[1].type];
|
||||||
|
var serviceType = "";
|
||||||
|
var samples = 5;
|
||||||
|
var sampleRate = netStatsDb.sampleRate;
|
||||||
|
var start = Date.now();
|
||||||
|
var end = new Date(start + (sampleRate * (samples - 1)));
|
||||||
|
var saveDate = filterTimestamp(new Date());
|
||||||
|
start = new Date(start - sampleRate);
|
||||||
|
var stats = [];
|
||||||
|
|
||||||
|
for (var i = 0; i < samples; i++) {
|
||||||
|
// System app.
|
||||||
|
stats.push({ appId: 1008, isInBrowser: 0,
|
||||||
|
serviceType: serviceType, network: networkMobile,
|
||||||
|
timestamp: saveDate + (sampleRate * i),
|
||||||
|
rxBytes: 200, txBytes: 100});
|
||||||
|
// Browser of system app.
|
||||||
|
stats.push({ appId: 1008, isInBrowser: 1,
|
||||||
|
serviceType: serviceType, network: networkMobile,
|
||||||
|
timestamp: saveDate + (sampleRate * i),
|
||||||
|
rxBytes: 1000, txBytes: 500});
|
||||||
|
// Another app.
|
||||||
|
stats.push({ appId: 1021, isInBrowser: 0,
|
||||||
|
serviceType: serviceType, network: networkMobile,
|
||||||
|
timestamp: saveDate + (sampleRate * i),
|
||||||
|
rxBytes: 300, txBytes: 150});
|
||||||
|
// Browser of another app.
|
||||||
|
stats.push({ appId: 1021, isInBrowser: 1,
|
||||||
|
serviceType: serviceType, network: networkMobile,
|
||||||
|
timestamp: saveDate + (sampleRate * i),
|
||||||
|
rxBytes: 600, txBytes: 300});
|
||||||
|
}
|
||||||
|
|
||||||
|
prepareFind(stats, function(error, result) {
|
||||||
|
do_check_eq(error, null);
|
||||||
|
netStatsDb.find(function(error, result) {
|
||||||
|
do_check_eq(error, null);
|
||||||
|
do_check_eq(result.browsingTrafficOnly, true);
|
||||||
|
do_check_eq(result.serviceType, serviceType);
|
||||||
|
do_check_eq(result.network.id, networks[1].id);
|
||||||
|
do_check_eq(result.network.type, networks[1].type);
|
||||||
|
do_check_eq(result.start.getTime(), start.getTime());
|
||||||
|
do_check_eq(result.end.getTime(), end.getTime());
|
||||||
|
do_check_eq(result.data.length, samples + 1);
|
||||||
|
do_check_eq(result.data[0].rxBytes, null);
|
||||||
|
do_check_eq(result.data[1].txBytes, 500);
|
||||||
|
do_check_eq(result.data[2].rxBytes, 1000);
|
||||||
|
run_next_test();
|
||||||
|
}, 1008, true, serviceType, networks[1], start, end);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// Test case for find samples with browsingTrafficOnly option.
|
||||||
|
add_test(function test_findAppTrafficStats() {
|
||||||
|
var networks = getNetworks();
|
||||||
|
var networkWifi = [networks[0].id, networks[0].type];
|
||||||
|
var networkMobile = [networks[1].id, networks[1].type];
|
||||||
|
var serviceType = "";
|
||||||
|
var samples = 5;
|
||||||
|
var sampleRate = netStatsDb.sampleRate;
|
||||||
|
var start = Date.now();
|
||||||
|
var end = new Date(start + (sampleRate * (samples - 1)));
|
||||||
|
var saveDate = filterTimestamp(new Date());
|
||||||
|
start = new Date(start - sampleRate);
|
||||||
|
var stats = [];
|
||||||
|
|
||||||
|
for (var i = 0; i < samples; i++) {
|
||||||
|
// System app.
|
||||||
|
stats.push({ appId: 1008, isInBrowser: 0,
|
||||||
|
serviceType: serviceType, network: networkMobile,
|
||||||
|
timestamp: saveDate + (sampleRate * i),
|
||||||
|
rxBytes: 200, txBytes: 100});
|
||||||
|
// Browser of system app.
|
||||||
|
stats.push({ appId: 1008, isInBrowser: 1,
|
||||||
|
serviceType: serviceType, network: networkMobile,
|
||||||
|
timestamp: saveDate + (sampleRate * i),
|
||||||
|
rxBytes: 1000, txBytes: 500});
|
||||||
|
// Another app.
|
||||||
|
stats.push({ appId: 1021, isInBrowser: 0,
|
||||||
|
serviceType: serviceType, network: networkMobile,
|
||||||
|
timestamp: saveDate + (sampleRate * i),
|
||||||
|
rxBytes: 300, txBytes: 150});
|
||||||
|
// Browser of another app.
|
||||||
|
stats.push({ appId: 1021, isInBrowser: 1,
|
||||||
|
serviceType: serviceType, network: networkMobile,
|
||||||
|
timestamp: saveDate + (sampleRate * i),
|
||||||
|
rxBytes: 600, txBytes: 300});
|
||||||
|
}
|
||||||
|
|
||||||
|
prepareFind(stats, function(error, result) {
|
||||||
|
do_check_eq(error, null);
|
||||||
|
netStatsDb.find(function(error, result) {
|
||||||
|
do_check_eq(error, null);
|
||||||
|
do_check_eq(result.browsingTrafficOnly, false);
|
||||||
|
do_check_eq(result.serviceType, serviceType);
|
||||||
|
do_check_eq(result.network.id, networks[1].id);
|
||||||
|
do_check_eq(result.network.type, networks[1].type);
|
||||||
|
do_check_eq(result.start.getTime(), start.getTime());
|
||||||
|
do_check_eq(result.end.getTime(), end.getTime());
|
||||||
|
do_check_eq(result.data.length, samples + 1);
|
||||||
|
do_check_eq(result.data[0].rxBytes, null);
|
||||||
|
do_check_eq(result.data[1].txBytes, 600);
|
||||||
|
do_check_eq(result.data[2].rxBytes, 1200);
|
||||||
|
run_next_test();
|
||||||
|
}, 1008, false, serviceType, networks[1], start, end);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
var networkWifi = '00';
|
var networkWifi = '00';
|
||||||
var networkMobile = '11';
|
var networkMobile = '11';
|
||||||
|
|
||||||
|
@ -48,16 +48,17 @@ add_test(function test_saveAppStats() {
|
|||||||
|
|
||||||
do_check_eq(Object.keys(cachedStats).length, 0);
|
do_check_eq(Object.keys(cachedStats).length, 0);
|
||||||
|
|
||||||
nssProxy.saveAppStats(1, wifi, timestamp, 10, 20, false,
|
nssProxy.saveAppStats(1, false, wifi, timestamp, 10, 20, false,
|
||||||
function (success, message) {
|
function (success, message) {
|
||||||
do_check_eq(success, true);
|
do_check_eq(success, true);
|
||||||
nssProxy.saveAppStats(1, mobile, timestamp, 10, 20, false,
|
nssProxy.saveAppStats(1, false, mobile, timestamp, 10, 20, false,
|
||||||
function (success, message) {
|
function (success, message) {
|
||||||
var key1 = 1 + "" + NetworkStatsService.getNetworkId(wifi.id, wifi.type);
|
var key1 = 1 + "" + false + "" + NetworkStatsService.getNetworkId(wifi.id, wifi.type);
|
||||||
var key2 = 1 + "" + mobileNetId + "";
|
var key2 = 1 + "" + false + "" + mobileNetId + "";
|
||||||
|
|
||||||
do_check_eq(Object.keys(cachedStats).length, 2);
|
do_check_eq(Object.keys(cachedStats).length, 2);
|
||||||
do_check_eq(cachedStats[key1].appId, 1);
|
do_check_eq(cachedStats[key1].appId, 1);
|
||||||
|
do_check_eq(cachedStats[key1].isInBrowser, false);
|
||||||
do_check_eq(cachedStats[key1].serviceType.length, 0);
|
do_check_eq(cachedStats[key1].serviceType.length, 0);
|
||||||
do_check_eq(cachedStats[key1].networkId, wifi.id);
|
do_check_eq(cachedStats[key1].networkId, wifi.id);
|
||||||
do_check_eq(cachedStats[key1].networkType, wifi.type);
|
do_check_eq(cachedStats[key1].networkType, wifi.type);
|
||||||
@ -104,12 +105,13 @@ add_test(function test_saveServiceStats() {
|
|||||||
nssProxy.saveServiceStats(serviceType, mobile, timestamp, 10, 20, false,
|
nssProxy.saveServiceStats(serviceType, mobile, timestamp, 10, 20, false,
|
||||||
function (success, message) {
|
function (success, message) {
|
||||||
do_check_eq(success, true);
|
do_check_eq(success, true);
|
||||||
var key1 = 0 + "" + serviceType +
|
var key1 = 0 + "" + false + "" + serviceType +
|
||||||
NetworkStatsService.getNetworkId(wifi.id, wifi.type);
|
NetworkStatsService.getNetworkId(wifi.id, wifi.type);
|
||||||
var key2 = 0 + "" + serviceType + mobileNetId + "";
|
var key2 = 0 + "" + false + "" + serviceType + mobileNetId + "";
|
||||||
|
|
||||||
do_check_eq(Object.keys(cachedStats).length, 2);
|
do_check_eq(Object.keys(cachedStats).length, 2);
|
||||||
do_check_eq(cachedStats[key1].appId, 0);
|
do_check_eq(cachedStats[key1].appId, 0);
|
||||||
|
do_check_eq(cachedStats[key1].isInBrowser, false);
|
||||||
do_check_eq(cachedStats[key1].serviceType, serviceType);
|
do_check_eq(cachedStats[key1].serviceType, serviceType);
|
||||||
do_check_eq(cachedStats[key1].networkId, wifi.id);
|
do_check_eq(cachedStats[key1].networkId, wifi.id);
|
||||||
do_check_eq(cachedStats[key1].networkType, wifi.type);
|
do_check_eq(cachedStats[key1].networkType, wifi.type);
|
||||||
@ -142,18 +144,19 @@ add_test(function test_saveStatsWithDifferentDates() {
|
|||||||
do_check_eq(success, true);
|
do_check_eq(success, true);
|
||||||
|
|
||||||
do_check_eq(Object.keys(NetworkStatsService.cachedStats).length, 0);
|
do_check_eq(Object.keys(NetworkStatsService.cachedStats).length, 0);
|
||||||
nssProxy.saveAppStats(1, mobile, today.getTime(), 10, 20, false,
|
nssProxy.saveAppStats(1, false, mobile, today.getTime(), 10, 20, false,
|
||||||
function (success, message) {
|
function (success, message) {
|
||||||
do_check_eq(success, true);
|
do_check_eq(success, true);
|
||||||
nssProxy.saveAppStats(2, mobile, tomorrow.getTime(), 30, 40, false,
|
nssProxy.saveAppStats(2, false, mobile, tomorrow.getTime(), 30, 40, false,
|
||||||
function (success, message) {
|
function (success, message) {
|
||||||
do_check_eq(success, true);
|
do_check_eq(success, true);
|
||||||
|
|
||||||
var cachedStats = NetworkStatsService.cachedStats;
|
var cachedStats = NetworkStatsService.cachedStats;
|
||||||
var key = 2 + "" +
|
var key = 2 + "" + false + "" +
|
||||||
NetworkStatsService.getNetworkId(mobile.id, mobile.type);
|
NetworkStatsService.getNetworkId(mobile.id, mobile.type);
|
||||||
do_check_eq(Object.keys(cachedStats).length, 1);
|
do_check_eq(Object.keys(cachedStats).length, 1);
|
||||||
do_check_eq(cachedStats[key].appId, 2);
|
do_check_eq(cachedStats[key].appId, 2);
|
||||||
|
do_check_eq(cachedStats[key].isInBrowser, false);
|
||||||
do_check_eq(cachedStats[key].networkId, mobile.id);
|
do_check_eq(cachedStats[key].networkId, mobile.id);
|
||||||
do_check_eq(cachedStats[key].networkType, mobile.type);
|
do_check_eq(cachedStats[key].networkType, mobile.type);
|
||||||
do_check_eq(new Date(cachedStats[key].date).getTime() / 1000,
|
do_check_eq(new Date(cachedStats[key].date).getTime() / 1000,
|
||||||
@ -177,11 +180,11 @@ add_test(function test_saveStatsWithMaxCachedTraffic() {
|
|||||||
|
|
||||||
var cachedStats = NetworkStatsService.cachedStats;
|
var cachedStats = NetworkStatsService.cachedStats;
|
||||||
do_check_eq(Object.keys(cachedStats).length, 0);
|
do_check_eq(Object.keys(cachedStats).length, 0);
|
||||||
nssProxy.saveAppStats(1, wifi, timestamp, 10, 20, false,
|
nssProxy.saveAppStats(1, false, wifi, timestamp, 10, 20, false,
|
||||||
function (success, message) {
|
function (success, message) {
|
||||||
do_check_eq(success, true);
|
do_check_eq(success, true);
|
||||||
do_check_eq(Object.keys(cachedStats).length, 1);
|
do_check_eq(Object.keys(cachedStats).length, 1);
|
||||||
nssProxy.saveAppStats(1, wifi, timestamp, maxtraffic, 20, false,
|
nssProxy.saveAppStats(1, false, wifi, timestamp, maxtraffic, 20, false,
|
||||||
function (success, message) {
|
function (success, message) {
|
||||||
do_check_eq(success, true);
|
do_check_eq(success, true);
|
||||||
do_check_eq(Object.keys(cachedStats).length, 0);
|
do_check_eq(Object.keys(cachedStats).length, 0);
|
||||||
@ -207,7 +210,7 @@ add_test(function test_saveAppStats() {
|
|||||||
|
|
||||||
do_check_eq(Object.keys(cachedStats).length, 0);
|
do_check_eq(Object.keys(cachedStats).length, 0);
|
||||||
|
|
||||||
nssProxy.saveAppStats(1, wifi, timestamp, 10, 20, false, { notify:
|
nssProxy.saveAppStats(1, false, wifi, timestamp, 10, 20, false, { notify:
|
||||||
function (success, message) {
|
function (success, message) {
|
||||||
do_check_eq(success, true);
|
do_check_eq(success, true);
|
||||||
var iterations = 10;
|
var iterations = 10;
|
||||||
@ -219,7 +222,7 @@ add_test(function test_saveAppStats() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
for (var i = 0; i < iterations; i++) {
|
for (var i = 0; i < iterations; i++) {
|
||||||
nssProxy.saveAppStats(1, mobile, timestamp, 10, 20, false, callback);
|
nssProxy.saveAppStats(1, false, mobile, timestamp, 10, 20, false, callback);
|
||||||
}
|
}
|
||||||
}});
|
}});
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user