.action(function(conf) { var config = Config(); var account = config.azure.account; var tableName = config.app.workerTypeTableName; var secretTable = config.app.secretTableName; var workerStateTable = config.app.workerStateTableName; var auth = new tc.Auth(); var p = Promise.all([ auth.azureTableSAS(account, tableName), auth.azureTableSAS(account, secretTable), auth.azureTableSAS(account, workerStateTable), ]); p = p.then(function() { console.log(JSON.stringify({ outcome: 'success', tableName: tableName, secretTable: secretTable, workerStateTable: workerStateTable, }, null, 2)); }); p = p.catch(errorHandler); });
constructor(Worker, workerType, workerId) { super(); // This is to avoid the node warning message: // MaxListenersExceededWarning: Possible EventEmitter memory leak // detected. 11 task resolved listeners added. Use // emitter.setMaxListeners() to increase limit // During capacity tests this.setMaxListeners(30); var config = typedEnvConfig({ files: [`${__dirname}/../config.yml`], profile: 'test', env: process.env }); this.provisionerId = PROVISIONER_ID; // Use worker_test_ prefix so ci worker scopes can be more restrictive for // claiming/creating work this.workerType = workerType || `dummy-type-${slugid.v4()}`.substring(0, 22); // remove leading underscores because workerId could be used as container name // and container names must start with an alphanumeric character. this.workerId = workerId || `dummy-worker-${slugid.v4()}`.substring(0, 22); this.worker = new Worker(PROVISIONER_ID, this.workerType, this.workerId); this.pulse = config.pulse; this.queue = new taskcluster.Queue({ rootUrl: config.rootUrl, credentials: config.taskcluster }); var deadline = new Date(); deadline.setMinutes(deadline.getMinutes() + 60); this.TaskFactory = Task.extend({ properties: { deadline: deadline, workerType: this.workerType, provisionerId: PROVISIONER_ID, metadata: { description: 'jonas damn you', owner: '*****@*****.**', name: 'Task from docker-worker test suite', source: 'http://foobar.com' } } }); }
var base = require('taskcluster-base'); var data = require('../hooks/data'); var taskcluster = require('taskcluster-client'); var taskcreator = require('../hooks/taskcreator'); var testing = require('taskcluster-lib-testing'); var v1 = require('../routes/v1'); var load = require('../bin/main'); var config = require('typed-env-config'); var _ = require('lodash'); var cfg = config({profile: 'test'}); var helper = module.exports = {}; helper.load = load; helper.loadOptions = {profile: 'test', process: 'test-helper'}; helper.haveRealCredentials = !!cfg.taskcluster.credentials.accessToken; // Call this in suites or tests that make API calls, hooks etc; it will set up // what's required to respond to those calls. helper.setup = function() { // Hold reference to authServer var authServer = null; var webServer = null; // Setup before tests suiteSetup(async () => { testing.fakeauth.start({ 'test-client': ['*'],
setup: ({profile}) => Config({profile}),
setup: ({profile}) => config({profile}),