function execPromise (cmd) { return Q.Promise(function (resolve, reject) { exec(cmd, function (code, output) { if (code) { reject(output); } else { resolve(output); } }); }); }
executeUninstallCommand (uninstallCommand) { return Q.Promise((resolve, reject) => { logger.info('cordova-paramedic: Running command: ' + uninstallCommand); exec(uninstallCommand, (code) => { if (code === 0) { resolve(); } else { logger.error('Failed to uninstall the app'); logger.error('Error code: ' + code); reject(); } }); }).timeout(60000) .fail(() => { logger.warn('cordova-paramedic: App uninstall timed out!'); }); }
createTunnel () { logger.info('cordova-paramedic: attempt to create local tunnel'); return Q.Promise((resolve, reject) => { const tunnel = localtunnel(this.port, (err, tunnel) => { if (err) { reject('Unable to create local tunnel: ' + err); return; } this.tunneledUrl = tunnel.url; logger.info('cordova-paramedic: using tunneled url ' + this.tunneledUrl); resolve(this); }); // this trace is useful to debug test run timeout issue tunnel.on('close', function () { logger.normal('local-server: local tunnel has been closed'); }); }); }
signout(removeTokenFromDB) { var that = this; return Promise((resolve, reject) => { if (removeTokenFromDB) { var userid = this.localStorageService.get('rh_userid'); this.Rh.one('_authtokens', userid).remove().then(function () { that.clearAuthInfo(); resolve(true); }, function errorCallback(response) { reject(response); }); } else { that.clearAuthInfo(); resolve(true); } }); }
connectSauceConnect () { const isBrowser = this.isBrowser; // on platforms other than browser, only run sauce connect if user explicitly asks for it if (!isBrowser && !this.config.getSauceTunnelId()) return Q(); // on browser, run sauce connect in any case if (isBrowser && !this.config.getSauceTunnelId()) { this.config.setSauceTunnelId(process.env[utilities.SAUCE_TUNNEL_ID_ENV_VAR] || this.config.getBuildName()); } return Q.Promise((resolve, reject) => { logger.info('cordova-paramedic: Starting Sauce Connect...'); sauceConnectLauncher({ username: this.config.getSauceUser(), accessKey: this.config.getSauceKey(), tunnelIdentifier: this.config.getSauceTunnelId(), connectRetries: utilities.SAUCE_CONNECT_CONNECTION_RETRIES, connectRetryTimeout: utilities.SAUCE_CONNECT_CONNECTION_TIMEOUT, downloadRetries: utilities.SAUCE_CONNECT_DOWNLOAD_RETRIES, downloadRetryTimeout: utilities.SAUCE_CONNECT_DOWNLOAD_TIMEOUT }, (err, sauceConnectProcess) => { if (err) reject(err); this.sauceConnectProcess = sauceConnectProcess; logger.info('cordova-paramedic: Sauce Connect ready'); resolve(); }); }); }
packageApp () { switch (this.platformId) { case utilities.IOS: { return Q.Promise((resolve, reject) => { const zipCommand = 'zip -r ' + this.getPackageName() + ' ' + this.getBinaryName(); shell.pushd(this.getPackageFolder()); shell.rm('-rf', this.getPackageName()); console.log('Running command: ' + zipCommand + ' in dir: ' + shell.pwd()); exec(zipCommand, (code) => { shell.popd(); if (code) { reject('zip command returned with error code ' + code); } else { resolve(); } }); }); } case utilities.ANDROID: break; // don't need to zip the app for Android case utilities.BROWSER: break; // don't need to bundle the app on Browser platform at all default: throw new Error('Don\'t know how to package the app for platform: ' + this.platformId); } return Q.resolve(); }
describe('#checkIn cnode', function () { it('should check out and cnode status changed to online', function (done) { var observeReqStub = sinon.stub(CoapNode.prototype, 'observeReq', function (callback) { return Q.resolve({ status: '2.05', data: 'hb'
/** * * * @param {any} filename * @memberof DiskStore */ delete(filename) { return Q.Promise((resolve, reject) => { fs.unlink(path.join(this.uploadFolder, filename), (err) => { if (err) { return reject(err) } resolve(); }); }); }
it('should register 2nd new cnode', function (done) { var _readAllResourceStub = sinon.stub(CoapNode.prototype, '_readAllResource', function (path, callback) { return Q.resolve({ status: '2.05', data: { a: {'0': { 'a0': 10, 'a1': 20 }, '1':{ 'a0': 11, 'a1': 21 }}, }), observeReqStub = sinon.stub(CoapNode.prototype, 'observeReq', function (callback) { return Q.resolve({ status: '2.05', data: 'hb'
manager = new PluginManager('windows', FAKE_LOCATIONS, FAKE_PROJECT); actions = jasmine.createSpyObj('actions', ['createAction', 'push', 'process']); actions.process.and.returnValue(Q.resolve()); PluginManager.__set__('ActionStack', function () { return actions; }); }); return Promise.resolve() .then(() => expectAsync(manager.addPlugin(null, {})).toBeRejected()) .then(() => expectAsync(manager.addPlugin({}, {})).toBeRejected());
it('should register new cnode', function (done) { var _readAllResourceStub = sinon.stub(CoapNode.prototype, '_readAllResource', function (path, callback) { return Q.resolve({ status: '2.05', data: { x: {'0': { 'x0': 10, 'x1': 20 }, '1':{ 'x0': 11, 'x1': 21 }}, }), observeReqStub = sinon.stub(CoapNode.prototype, 'observeReq', function (callback) { return Q.resolve({ status: '2.05', data: 'hb'
signout(removeTokenFromDB) { var that = this; return Promise((resolve, reject) => { if (removeTokenFromDB) { var userid = this.localStorageService.get('rh_userid'); this.Rh.one('_authtokens', userid).remove().then(function () { that.clearAuthInfo(); resolve(true); }, function errorCallback(response) { reject(response); }); } else { that.clearAuthInfo(); resolve(true); } }); }