Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
/* global describe, beforeEach, afterEach, it, emit */
/**
* Unit tests for couchdb-model
*/
var should = require('chai').should();
var couchDBModel = require('../lib/couchdb-model.js');
var createNano = require('nano');
var extend = require('node.extend');
var Q = require('q');
var httpMocks = require('node-mocks-http');
Q.longStackSupport = true;
var COUCHDB_BASE_URL = process.env.COUCHDB_BASE_URL;
if (!COUCHDB_BASE_URL) {
throw new Error(
'$COUCHDB_BASE_URL environment variable is not set. ' +
'Please provide a working couchdb base URL to run the tests.');
}
var COUCHDB_DB_NAME = process.env.COUCHDB_DB_NAME || 'couchdb-model-test';
var nano = createNano(COUCHDB_BASE_URL);
describe('couchdb-model REST API', function() {
beforeEach(function(done) {
nano.db.destroy(COUCHDB_DB_NAME, function() {
nano.db.create(COUCHDB_DB_NAME, function(error) {
/* global describe, beforeEach, afterEach, it */
'use strict';
var fire = require('..');
var assert = require('assert');
var crypto = require('crypto');
var uuid = require('node-uuid');
var Q = require('q');
Q.longStackSupport = true;
describe('model methods', function() {
var models;
var app = null;
beforeEach(function(done) {
app = fire.app('methods', {});
fire.start()
.then(function() {
models = app.models;
done();
})
.done();
});
// -*- mode: js; indent-tabs-mode: nil; js-basic-offset: 4 -*-
//
// This file is part of ThingEngine
//
// Copyright 2016 The Board of Trustees of the Leland Stanford Junior University
//
// Author: Giovanni Campagna
//
// See COPYING for details
"use strict";
const Q = require('q');
Q.longStackSupport = true;
process.on('unhandledRejection', (up) => { throw up; });
const assert = require('assert');
const ThingTalk = require('thingtalk');
const Ast = ThingTalk.Ast;
const Utils = require('thingtalk/lib/utils');
const Engine = require('../lib/engine');
const ExecWrapper = require('../lib/apps/exec_wrapper');
function* timerTest(__builtin,env) {
"use strict";
let _t_0;
let _t_1;
let _t_2;
function findAllAvailableVersionsFallBack () {
// console.log('findAllAvailableVersionsFALLBACK');
var versions = ['15.5', '15.0', '14.0', '12.0', '4.0'];
events.emit('verbose', 'Searching for available MSBuild versions...');
return Q.all(versions.map(checkMSBuildVersion)).then(function (unprocessedResults) {
return unprocessedResults.filter(function (item) {
return !!item;
});
});
}
getTeams: function (username, password) {
var resultQ = q.defer();
login(username, password).then(function (data) {
console.log('Getting Yahoo teams for username/password = ' + username + '/*****');
// Load html from fantasy football screen to extract team names
var $ = cheerio.load(data.body);
var teamLinks = $('.Fz-sm').find('a');
var promises = [];
for (var i = 0; i < teamLinks.length; i++) {
var teamLink = teamLinks[i];
if (teamLink.attribs.href !== undefined && teamLink.attribs.href.indexOf('/f1/') > -1 && (i % 2 === 0)) {
var teamUrl = 'http://football.fantasysports.yahoo.com' + teamLink.attribs.href;
promises.push(getTeam(teamUrl, data.cookieJar));
function validatePackageName (package_name) {
// Make the package conform to Java package types
// http://developer.android.com/guide/topics/manifest/manifest-element.html#package
// Enforce underscore limitation
var msg = 'Error validating package name. ';
if (!/^[a-zA-Z][a-zA-Z0-9_]+(\.[a-zA-Z][a-zA-Z0-9_]*)+$/.test(package_name)) {
return Q.reject(new CordovaError(msg + 'Package name must look like: com.company.Name'));
}
// Class is a reserved word
if (/\b[Cc]lass\b/.test(package_name)) {
return Q.reject(new CordovaError(msg + '"class" is a reserved word'));
}
return Q.resolve();
}
var file;
var oldPath;
var newPath;
// Remove any OS specific files from the files array
// before checking its length
files = files.filter(junk.isnt);
// Only rename if there's only one file and it's not the json
if (files.length === 1 && !/^(bower|component)\.json$/.test(files[0])) {
file = files[0];
this._singleFile = 'index' + path.extname(file);
oldPath = path.join(this._tempDir, file);
newPath = path.join(this._tempDir, this._singleFile);
return Q.nfcall(fs.rename, oldPath, newPath);
}
}.bind(this));
};
msg.exitcode = 0;
// Send message back to controller.
cmdport.send(args.topic, msg);
return;
}
}
var nextcmd = msgProcessor.process(msg, args.topic);
if (nextcmd == null) {
//client.end();
// setTimeout(function() {
// process.exit();
// }, 1000);
return;
}
var setenvPromise = Q.resolve();
if(nextcmd.setenv) {
for (var target in nextcmd.env) {
var newenv = nextcmd.env[target];
var envmsg = {
command: "setenv",
logdir: nextcmd.env[target]["logdir"],
}
if( typeof newenv["$path"] != 'undefined'){
envmsg.path = newenv["$path"];
delete newenv["$path"];
}
envmsg.env = newenv;
setenvPromise = sendCommand(nextcmd.env[target][target], envmsg);
}
}
var clientTopic = nextcmd.target;
function namespace(uri, httpd, resources){
var iri = new (require('iri').IRI)(uri);
var pathParts = (iri.path() || '').split('/');
if(pathParts[1]==='about:setup'){
var base = iri.resolveReference('/about:setup/').toString();
return require('q').resolve({
// the base is... whatever the page was requested with
base: base,
// But the 'permalink' to the namespace is http://localhost/about:setup/
resource: 'http://localhost/about:setup/'+iri.toString().substring(base.length),
label: 'Setup',
option: {
'http://magnode.org/Setup': setupOpts,
useTransformTypes: ['http://magnode.org/view/Setup'],
}
});
}
}
.then(function() {
if (!appWasImported) {
// Update app name if the app is not imported.
return Q.ninvoke(fs, 'readFile', manifestDesktopFilename, { encoding: 'utf-8' }).then(function(manifestDesktopData) {
var manifestDesktop;
try {
// jshint evil:true
manifestDesktop = eval('(' + manifestDesktopData + ')');
// jshint evil:false
} catch (e) {
console.error(e);
return Q.reject('Unable to parse manifest ' + manifestDesktopFilename);
}
manifestDesktop.name = appName || path.basename(destAppDir);
manifest.name = manifestDesktop.name;
Q.ninvoke(fs, 'writeFile', manifestDesktopFilename, JSON.stringify(manifestDesktop, null, 4));
});
}
})
.then(function() {