From ba1ed4e100205e627d169f98890a3df6ca5589c1 Mon Sep 17 00:00:00 2001 From: kmccoan-allocadia Date: Mon, 23 Oct 2017 09:45:25 -0700 Subject: [PATCH] Added new package @types/artillery (#20779) * Artillery types for beforeRequest & afterResponse hooks * Remove unnecessary linting rule in Artillery project * Update Artillery tests to define variables to ensure proper compilation usage * Fix compilation errors in test & move typescript decl to line 5 --- types/artillery/artillery-tests.ts | 13 +++++++++++++ types/artillery/index.d.ts | 13 +++++++++++++ types/artillery/tsconfig.json | 23 +++++++++++++++++++++++ types/artillery/tslint.json | 3 +++ 4 files changed, 52 insertions(+) create mode 100644 types/artillery/artillery-tests.ts create mode 100644 types/artillery/index.d.ts create mode 100644 types/artillery/tsconfig.json create mode 100644 types/artillery/tslint.json diff --git a/types/artillery/artillery-tests.ts b/types/artillery/artillery-tests.ts new file mode 100644 index 0000000000..b79c3f1c52 --- /dev/null +++ b/types/artillery/artillery-tests.ts @@ -0,0 +1,13 @@ +import { ScenarioContext, Next } from 'artillery'; + +const scenarioContext: ScenarioContext = {vars: {}}; +scenarioContext.vars = {}; +scenarioContext.vars.testing = "value"; +scenarioContext.vars.testing2 = 1; + +const next: Next = (error?: Error) => { + // do nothing. +}; + +next(); +next(new Error()); diff --git a/types/artillery/index.d.ts b/types/artillery/index.d.ts new file mode 100644 index 0000000000..d3c00d87d7 --- /dev/null +++ b/types/artillery/index.d.ts @@ -0,0 +1,13 @@ +// Type definitions for artillery 1.6 +// Project: https://github.com/shoreditch-ops/artillery#readme +// Definitions by: Kira McCoan +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.2 +import * as request from 'request'; +import * as events from 'events'; + +export interface ScenarioContext { vars: {[key: string]: any}; } +export type Next = (err?: Error) => void; +export type ResponseRequest = request.ResponseRequest; +export type RequestResponse = request.RequestResponse; +export type EventEmitter = events.EventEmitter; diff --git a/types/artillery/tsconfig.json b/types/artillery/tsconfig.json new file mode 100644 index 0000000000..0ad4bae0ee --- /dev/null +++ b/types/artillery/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "artillery-tests.ts" + ] +} diff --git a/types/artillery/tslint.json b/types/artillery/tslint.json new file mode 100644 index 0000000000..f93cf8562a --- /dev/null +++ b/types/artillery/tslint.json @@ -0,0 +1,3 @@ +{ + "extends": "dtslint/dt.json" +}