This repository has been archived by the owner on Nov 3, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
/
distribution.test.js
66 lines (59 loc) · 2.25 KB
/
distribution.test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
var rmrf = require('rimraf').sync;
var exec = require('child_process').exec;
var vm = require('vm');
var AdmZip = require('adm-zip');
var helper = require('./helper');
var path = require('path');
var assert = require('chai').assert;
var fs = require('fs');
suite('Distribution mechanism', function() {
suiteSetup(function() {
rmrf('profile');
});
function validateSettings() {
var settingsPath = path.join(process.cwd(), 'profile', 'settings.json');
var settings = JSON.parse(fs.readFileSync(settingsPath));
var expectedSettings = {
'wap.push.enabled': false
};
helper.checkSettings(settings, expectedSettings);
}
function validateCalendar() {
var calZip = new AdmZip(path.join(process.cwd(), 'profile',
'webapps', 'calendar.gaiamobile.org', 'application.zip'));
var presetsContent = calZip.readAsText(calZip.getEntry('js/presets.js'));
assert.isNotNull(presetsContent, 'js/presets.js should exist');
var sandbox = { Calendar: { Presets: null } };
vm.runInNewContext(presetsContent, sandbox);
assert.isDefined(sandbox.Calendar.Presets['Test Provider'],
'Test Provider should be defined');
assert.equal(sandbox.Calendar.Presets['Test Provider'].providerType,
'Local', 'Property providerType should equal "Local"')
}
function validateWappush() {
var wappushZip = new AdmZip(path.join(process.cwd(), 'profile',
'webapps', 'wappush.gaiamobile.org', 'application.zip'));
var whitelist =
wappushZip.readAsText(wappushZip.getEntry('js/whitelist.json'));
assert.isNotNull(whitelist, 'js/whitelist.json should exist');
var list = JSON.parse(whitelist);
assert.isDefined(list[0], 'whitelist[0] should be defined');
assert.equal(list[0], '9871010079',
'whitelist[0] should equal "9871010079"');
}
test('build with GAIA_DISTRIBUTION_DIR', function(done) {
var distDir = path.join(process.cwd(), 'build', 'test', 'resources',
'distribution_test');
var cmd = 'GAIA_DISTRIBUTION_DIR=' + distDir + ' make';
exec(cmd, function(error, stdout, stderr) {
helper.checkError(error, stdout, stderr);
validateSettings();
validateCalendar();
validateWappush();
done();
});
});
teardown(function() {
rmrf('profile');
});
});