@serenity-js/local-server 3.0.0-rc.40 → 3.0.0-rc.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/lib/screenplay/abilities/ManageALocalServer.d.ts +3 -10
- package/lib/screenplay/abilities/ManageALocalServer.d.ts.map +1 -1
- package/lib/screenplay/abilities/ManageALocalServer.js +3 -11
- package/lib/screenplay/abilities/ManageALocalServer.js.map +1 -1
- package/package.json +9 -9
- package/src/screenplay/abilities/ManageALocalServer.ts +4 -13
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,26 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [3.0.0-rc.42](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.41...v3.0.0-rc.42) (2023-02-12)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @serenity-js/local-server
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [3.0.0-rc.41](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.40...v3.0.0-rc.41) (2023-02-07)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* **core:** better assertion errors reporting in Visual Studio Code ([3b94b7d](https://github.com/serenity-js/serenity-js/commit/3b94b7d606fae49e7ca77c2fbe09d07eeb042ea9)), closes [#1486](https://github.com/serenity-js/serenity-js/issues/1486)
|
|
20
|
+
* **core:** overridable abilities ([03966cc](https://github.com/serenity-js/serenity-js/commit/03966ccae40d102b7dbca1125beb90ceda8fbc50))
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
6
26
|
# [3.0.0-rc.40](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.39...v3.0.0-rc.40) (2023-01-06)
|
|
7
27
|
|
|
8
28
|
**Note:** Version bump only for package @serenity-js/local-server
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
3
|
/// <reference types="node" />
|
|
4
|
-
import { Ability
|
|
4
|
+
import { Ability } from '@serenity-js/core';
|
|
5
5
|
import * as http from 'http';
|
|
6
6
|
import * as https from 'https';
|
|
7
7
|
import * as net from 'net';
|
|
@@ -45,7 +45,7 @@ import * as net from 'net';
|
|
|
45
45
|
*
|
|
46
46
|
* @group Abilities
|
|
47
47
|
*/
|
|
48
|
-
export declare class ManageALocalServer
|
|
48
|
+
export declare class ManageALocalServer extends Ability {
|
|
49
49
|
private readonly protocol;
|
|
50
50
|
private readonly server;
|
|
51
51
|
/**
|
|
@@ -59,18 +59,11 @@ export declare class ManageALocalServer implements Ability {
|
|
|
59
59
|
*
|
|
60
60
|
* @param listener
|
|
61
61
|
* @param options
|
|
62
|
-
* Accepts options from `tls.createServer()`, `tls.createSecureContext()` and `http.createServer()`.
|
|
62
|
+
* Accepts an options object from `tls.createServer()`, `tls.createSecureContext()` and `http.createServer()`.
|
|
63
63
|
*
|
|
64
64
|
* @see https://nodejs.org/api/https.html#https_https_createserver_options_requestlistener
|
|
65
65
|
*/
|
|
66
66
|
static runningAHttpsListener(listener: RequestListener | https.Server, options?: https.ServerOptions): ManageALocalServer;
|
|
67
|
-
/**
|
|
68
|
-
* Used to access the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink ManageALocalServer}
|
|
69
|
-
* from within the {@apilink Interaction} classes, such as {@apilink StartLocalServer}.
|
|
70
|
-
*
|
|
71
|
-
* @param actor
|
|
72
|
-
*/
|
|
73
|
-
static as(actor: UsesAbilities): ManageALocalServer;
|
|
74
67
|
/**
|
|
75
68
|
* @param protocol
|
|
76
69
|
* Protocol to be used when communicating with the running server; `http` or `https`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManageALocalServer.d.ts","sourceRoot":"","sources":["../../../src/screenplay/abilities/ManageALocalServer.ts"],"names":[],"mappings":";;;AAAA,OAAO,EAAE,OAAO,EAAsB,
|
|
1
|
+
{"version":3,"file":"ManageALocalServer.d.ts","sourceRoot":"","sources":["../../../src/screenplay/abilities/ManageALocalServer.ts"],"names":[],"mappings":";;;AAAA,OAAO,EAAE,OAAO,EAAsB,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAG3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,qBAAa,kBAAmB,SAAQ,OAAO;IA2C/B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAzCrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAE5C;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,eAAe,GAAG,GAAG,CAAC,MAAM,GAAG,kBAAkB;IAQvF;;;;;;;;OAQG;IACH,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE,eAAe,GAAG,KAAK,CAAC,MAAM,EAAE,OAAO,GAAE,KAAK,CAAC,aAAkB,GAAG,kBAAkB;IAQ7H;;;;;;;;OAQG;gBAC0B,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM;IAK7E;;;;;;;;OAQG;IACH,MAAM,CAAC,aAAa,SAAO,EAAE,WAAW,SAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBhE;;;;OAIG;IACH,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,QAAQ,CAAC,EAAE,kBAAkB,KAAK,CAAC,GAAG,CAAC;CAG1F;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC;AAErG;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,MAAM,GAAG;IAC1C,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,KAAK,IAAI,CAAC;IACtD,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,KAAK,IAAI,CAAC;CAC9D,CAAC;AAEF;;;;;GAKG;AACH,oBAAY,kBAAkB;IAC1B,IAAI,SAAS;IACb,KAAK,UAAU;CAClB"}
|
|
@@ -69,7 +69,7 @@ const portfinder_1 = require("portfinder");
|
|
|
69
69
|
*
|
|
70
70
|
* @group Abilities
|
|
71
71
|
*/
|
|
72
|
-
class ManageALocalServer {
|
|
72
|
+
class ManageALocalServer extends core_1.Ability {
|
|
73
73
|
/**
|
|
74
74
|
* An {@apilink Ability} to manage a Node.js HTTP server using the provided `requestListener`.
|
|
75
75
|
*
|
|
@@ -86,7 +86,7 @@ class ManageALocalServer {
|
|
|
86
86
|
*
|
|
87
87
|
* @param listener
|
|
88
88
|
* @param options
|
|
89
|
-
* Accepts options from `tls.createServer()`, `tls.createSecureContext()` and `http.createServer()`.
|
|
89
|
+
* Accepts an options object from `tls.createServer()`, `tls.createSecureContext()` and `http.createServer()`.
|
|
90
90
|
*
|
|
91
91
|
* @see https://nodejs.org/api/https.html#https_https_createserver_options_requestlistener
|
|
92
92
|
*/
|
|
@@ -96,15 +96,6 @@ class ManageALocalServer {
|
|
|
96
96
|
: listener;
|
|
97
97
|
return new ManageALocalServer(SupportedProtocols.HTTPS, server);
|
|
98
98
|
}
|
|
99
|
-
/**
|
|
100
|
-
* Used to access the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink ManageALocalServer}
|
|
101
|
-
* from within the {@apilink Interaction} classes, such as {@apilink StartLocalServer}.
|
|
102
|
-
*
|
|
103
|
-
* @param actor
|
|
104
|
-
*/
|
|
105
|
-
static as(actor) {
|
|
106
|
-
return actor.abilityTo(ManageALocalServer);
|
|
107
|
-
}
|
|
108
99
|
/**
|
|
109
100
|
* @param protocol
|
|
110
101
|
* Protocol to be used when communicating with the running server; `http` or `https`
|
|
@@ -115,6 +106,7 @@ class ManageALocalServer {
|
|
|
115
106
|
* @see https://www.npmjs.com/package/http-shutdown
|
|
116
107
|
*/
|
|
117
108
|
constructor(protocol, server) {
|
|
109
|
+
super();
|
|
118
110
|
this.protocol = protocol;
|
|
119
111
|
this.server = withShutdownSupport(server);
|
|
120
112
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManageALocalServer.js","sourceRoot":"","sources":["../../../src/screenplay/abilities/ManageALocalServer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"ManageALocalServer.js","sourceRoot":"","sources":["../../../src/screenplay/abilities/ManageALocalServer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAgE;AAChE,2CAA6B;AAC7B,qDAAsD;AACtD,6CAA+B;AAE/B,2CAA4C;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAa,kBAAmB,SAAQ,cAAO;IAI3C;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,QAAsC;QAC9D,MAAM,MAAM,GAAG,OAAO,QAAQ,KAAK,UAAU;YACzC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;YAC7B,CAAC,CAAC,QAAQ,CAAC;QAEf,OAAO,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,qBAAqB,CAAC,QAAwC,EAAE,UAA+B,EAAE;QACpG,MAAM,MAAM,GAAG,OAAO,QAAQ,KAAK,UAAU;YACzC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC;YACvC,CAAC,CAAC,QAAQ,CAAC;QAEf,OAAO,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;;OAQG;IACH,YAA6B,QAA4B,EAAE,MAAkB;QACzE,KAAK,EAAE,CAAC;QADiB,aAAQ,GAAR,QAAQ,CAAoB;QAErD,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,aAAa,GAAG,IAAI,EAAE,WAAW,GAAG,KAAK;QAC5C,OAAO,IAAA,2BAAc,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;aAChE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAChD,SAAS,YAAY,CAAC,KAA6B;gBAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;oBAC7B,OAAO,MAAM,CAAC,IAAI,yBAAkB,CAAC,qEAAsE,IAAK,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;iBAChI;gBAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAExC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;gBACvC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBAElD,OAAO,EAAE,CAAC;YACd,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAI,EAAoE;QAC/E,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;CACJ;AAtFD,gDAsFC;AAmBD;;;;;GAKG;AACH,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,mCAAa,CAAA;IACb,qCAAe,CAAA;AACnB,CAAC,EAHW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAG7B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@serenity-js/local-server",
|
|
3
|
-
"version": "3.0.0-rc.
|
|
3
|
+
"version": "3.0.0-rc.42",
|
|
4
4
|
"description": "Enables Serenity/JS Actors to manage local Node.js test servers, such as Express, Koa or Restify",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Jan Molak",
|
|
@@ -49,17 +49,17 @@
|
|
|
49
49
|
"npm": "^6 || ^7 || ^8"
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"@serenity-js/core": "3.0.0-rc.
|
|
52
|
+
"@serenity-js/core": "3.0.0-rc.42",
|
|
53
53
|
"http-shutdown": "^1.2.2",
|
|
54
54
|
"portfinder": "^1.0.32"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
|
-
"@hapi/hapi": "^21.1
|
|
57
|
+
"@hapi/hapi": "^21.2.1",
|
|
58
58
|
"@integration/testing-tools": "3.0.0",
|
|
59
|
-
"@serenity-js/assertions": "3.0.0-rc.
|
|
60
|
-
"@serenity-js/rest": "3.0.0-rc.
|
|
59
|
+
"@serenity-js/assertions": "3.0.0-rc.42",
|
|
60
|
+
"@serenity-js/rest": "3.0.0-rc.42",
|
|
61
61
|
"@types/chai": "^4.3.4",
|
|
62
|
-
"@types/express": "^4.17.
|
|
62
|
+
"@types/express": "^4.17.17",
|
|
63
63
|
"@types/hapi": "^18.0.8",
|
|
64
64
|
"@types/mocha": "^10.0.1",
|
|
65
65
|
"@types/restify": "^8.5.5",
|
|
@@ -68,10 +68,10 @@
|
|
|
68
68
|
"koa": "^2.14.1",
|
|
69
69
|
"mocha": "^10.2.0",
|
|
70
70
|
"nyc": "15.1.0",
|
|
71
|
-
"restify": "^
|
|
71
|
+
"restify": "^11.0.0",
|
|
72
72
|
"semver": "^7.3.8",
|
|
73
73
|
"ts-node": "^10.9.1",
|
|
74
|
-
"typescript": "^4.9.
|
|
74
|
+
"typescript": "^4.9.5"
|
|
75
75
|
},
|
|
76
|
-
"gitHead": "
|
|
76
|
+
"gitHead": "ebe1ca57bb98f09bc4554f32e87f44a0dbce2c22"
|
|
77
77
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Ability, ConfigurationError
|
|
1
|
+
import { Ability, ConfigurationError } from '@serenity-js/core';
|
|
2
2
|
import * as http from 'http';
|
|
3
3
|
import withShutdownSupport = require('http-shutdown');
|
|
4
4
|
import * as https from 'https';
|
|
@@ -45,7 +45,7 @@ import { getPortPromise } from 'portfinder';
|
|
|
45
45
|
*
|
|
46
46
|
* @group Abilities
|
|
47
47
|
*/
|
|
48
|
-
export class ManageALocalServer
|
|
48
|
+
export class ManageALocalServer extends Ability {
|
|
49
49
|
|
|
50
50
|
private readonly server: ServerWithShutdown;
|
|
51
51
|
|
|
@@ -67,7 +67,7 @@ export class ManageALocalServer implements Ability {
|
|
|
67
67
|
*
|
|
68
68
|
* @param listener
|
|
69
69
|
* @param options
|
|
70
|
-
* Accepts options from `tls.createServer()`, `tls.createSecureContext()` and `http.createServer()`.
|
|
70
|
+
* Accepts an options object from `tls.createServer()`, `tls.createSecureContext()` and `http.createServer()`.
|
|
71
71
|
*
|
|
72
72
|
* @see https://nodejs.org/api/https.html#https_https_createserver_options_requestlistener
|
|
73
73
|
*/
|
|
@@ -79,16 +79,6 @@ export class ManageALocalServer implements Ability {
|
|
|
79
79
|
return new ManageALocalServer(SupportedProtocols.HTTPS, server);
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
/**
|
|
83
|
-
* Used to access the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink ManageALocalServer}
|
|
84
|
-
* from within the {@apilink Interaction} classes, such as {@apilink StartLocalServer}.
|
|
85
|
-
*
|
|
86
|
-
* @param actor
|
|
87
|
-
*/
|
|
88
|
-
static as(actor: UsesAbilities): ManageALocalServer {
|
|
89
|
-
return actor.abilityTo(ManageALocalServer);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
82
|
/**
|
|
93
83
|
* @param protocol
|
|
94
84
|
* Protocol to be used when communicating with the running server; `http` or `https`
|
|
@@ -99,6 +89,7 @@ export class ManageALocalServer implements Ability {
|
|
|
99
89
|
* @see https://www.npmjs.com/package/http-shutdown
|
|
100
90
|
*/
|
|
101
91
|
constructor(private readonly protocol: SupportedProtocols, server: net.Server) {
|
|
92
|
+
super();
|
|
102
93
|
this.server = withShutdownSupport(server);
|
|
103
94
|
}
|
|
104
95
|
|