@serenity-js/rest 3.15.0 → 3.16.0

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 CHANGED
@@ -3,6 +3,30 @@
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.16.0](https://github.com/serenity-js/serenity-js/compare/v3.15.1...v3.16.0) (2024-02-01)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **deps:** update dependency lru-cache to v10.2.0 ([a580d1e](https://github.com/serenity-js/serenity-js/commit/a580d1e301b7901e78ea87b5a273438562880533))
12
+
13
+
14
+ ### Features
15
+
16
+ * **core:** added Masked.valueOf() Question ([e9ff5ab](https://github.com/serenity-js/serenity-js/commit/e9ff5ab62e8b305aa7ef2238f482be5369d890c1)), closes [#2165](https://github.com/serenity-js/serenity-js/issues/2165)
17
+
18
+
19
+
20
+
21
+
22
+ ## [3.15.1](https://github.com/serenity-js/serenity-js/compare/v3.15.0...v3.15.1) (2024-01-19)
23
+
24
+ **Note:** Version bump only for package @serenity-js/rest
25
+
26
+
27
+
28
+
29
+
6
30
  # [3.15.0](https://github.com/serenity-js/serenity-js/compare/v3.14.2...v3.15.0) (2024-01-12)
7
31
 
8
32
  **Note:** Version bump only for package @serenity-js/rest
@@ -83,6 +83,27 @@ import { Interaction } from '@serenity-js/core';
83
83
  * )
84
84
  * ```
85
85
  *
86
+ * ## Handling sensitive information
87
+ *
88
+ * By design, any data handled by an actor appears in Serenity/JS reports.
89
+ * To prevent the exposure of any sensitive information, such as passwords or tokens, you should use {@apilink Masked}.
90
+ *
91
+ * ```ts
92
+ * import { actorCalled, Masked } from '@serenity-js/core'
93
+ * import { CallAnApi, ChangeApiConfig, GetRequest, LastResponse, Send } from '@serenity-js/rest'
94
+ * import { Ensure, equals } from '@serenity-js/assertions'
95
+ *
96
+ * await actorCalled('Apisitt')
97
+ * .whoCan(
98
+ * CallAnApi.at('http://localhost'),
99
+ * )
100
+ * .attemptsTo(
101
+ * ChangeApiConfig.setHeader('Authorization', Masked.valueOf('secret token')),
102
+ * Send.a(GetRequest.to('/api')),
103
+ * Ensure.that(LastResponse.status(), equals(200)),
104
+ * )
105
+ * ```
106
+ *
86
107
  * @group Activities
87
108
  */
88
109
  export declare class ChangeApiConfig {
@@ -1 +1 @@
1
- {"version":3,"file":"ChangeApiConfig.d.ts","sourceRoot":"","sources":["../../../src/screenplay/interactions/ChangeApiConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAsD,MAAM,mBAAmB,CAAC;AACxG,OAAO,EAAK,WAAW,EAAc,MAAM,mBAAmB,CAAC;AAK/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoFG;AACH,qBAAa,eAAe;IAExB;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,WAAW;IAI3D;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,WAAW;IAI7D;;;;;;;;OAQG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,WAAW;CAGrF"}
1
+ {"version":3,"file":"ChangeApiConfig.d.ts","sourceRoot":"","sources":["../../../src/screenplay/interactions/ChangeApiConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAsD,MAAM,mBAAmB,CAAC;AACxG,OAAO,EAAK,WAAW,EAAc,MAAM,mBAAmB,CAAC;AAK/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyGG;AACH,qBAAa,eAAe;IAExB;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,WAAW;IAI3D;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,WAAW;IAI7D;;;;;;;;OAQG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,WAAW;CAGrF"}
@@ -87,6 +87,27 @@ const abilities_1 = require("../abilities");
87
87
  * )
88
88
  * ```
89
89
  *
90
+ * ## Handling sensitive information
91
+ *
92
+ * By design, any data handled by an actor appears in Serenity/JS reports.
93
+ * To prevent the exposure of any sensitive information, such as passwords or tokens, you should use {@apilink Masked}.
94
+ *
95
+ * ```ts
96
+ * import { actorCalled, Masked } from '@serenity-js/core'
97
+ * import { CallAnApi, ChangeApiConfig, GetRequest, LastResponse, Send } from '@serenity-js/rest'
98
+ * import { Ensure, equals } from '@serenity-js/assertions'
99
+ *
100
+ * await actorCalled('Apisitt')
101
+ * .whoCan(
102
+ * CallAnApi.at('http://localhost'),
103
+ * )
104
+ * .attemptsTo(
105
+ * ChangeApiConfig.setHeader('Authorization', Masked.valueOf('secret token')),
106
+ * Send.a(GetRequest.to('/api')),
107
+ * Ensure.that(LastResponse.status(), equals(200)),
108
+ * )
109
+ * ```
110
+ *
90
111
  * @group Activities
91
112
  */
92
113
  class ChangeApiConfig {
@@ -1 +1 @@
1
- {"version":3,"file":"ChangeApiConfig.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/ChangeApiConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChangeApiConfig.js","sourceRoot":"","sources":["../../../src/screenplay/interactions/ChangeApiConfig.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serenity-js/rest",
3
- "version": "3.15.0",
3
+ "version": "3.16.0",
4
4
  "description": "Test REST APIs with Serenity/JS",
5
5
  "author": {
6
6
  "name": "Jan Molak",
@@ -46,25 +46,25 @@
46
46
  "node": "^16.13 || ^18.12 || ^20"
47
47
  },
48
48
  "dependencies": {
49
- "@serenity-js/core": "3.15.0",
49
+ "@serenity-js/core": "3.16.0",
50
50
  "agent-base": "7.1.0",
51
- "axios": "1.6.5",
51
+ "axios": "1.6.7",
52
52
  "http-proxy-agent": "7.0.0",
53
53
  "https-proxy-agent": "7.0.2",
54
- "lru-cache": "10.1.0",
54
+ "lru-cache": "10.2.0",
55
55
  "proxy-from-env": "1.1.0"
56
56
  },
57
57
  "devDependencies": {
58
58
  "@integration/testing-tools": "3.0.0",
59
- "@serenity-js/assertions": "3.15.0",
59
+ "@serenity-js/assertions": "3.16.0",
60
60
  "@types/chai": "4.3.11",
61
61
  "@types/mocha": "10.0.6",
62
62
  "axios-mock-adapter": "1.22.0",
63
- "c8": "9.0.0",
63
+ "c8": "9.1.0",
64
64
  "mocha": "10.2.0",
65
65
  "mocha-multi": "1.1.7",
66
66
  "ts-node": "10.9.2",
67
67
  "typescript": "5.1.6"
68
68
  },
69
- "gitHead": "f3580d6b6380e9f175544929b9504a85c1d204ad"
69
+ "gitHead": "242771e55bd6becc5baeaac03edf945e4cdaf7a4"
70
70
  }
@@ -87,6 +87,27 @@ import { CallAnApi } from '../abilities';
87
87
  * )
88
88
  * ```
89
89
  *
90
+ * ## Handling sensitive information
91
+ *
92
+ * By design, any data handled by an actor appears in Serenity/JS reports.
93
+ * To prevent the exposure of any sensitive information, such as passwords or tokens, you should use {@apilink Masked}.
94
+ *
95
+ * ```ts
96
+ * import { actorCalled, Masked } from '@serenity-js/core'
97
+ * import { CallAnApi, ChangeApiConfig, GetRequest, LastResponse, Send } from '@serenity-js/rest'
98
+ * import { Ensure, equals } from '@serenity-js/assertions'
99
+ *
100
+ * await actorCalled('Apisitt')
101
+ * .whoCan(
102
+ * CallAnApi.at('http://localhost'),
103
+ * )
104
+ * .attemptsTo(
105
+ * ChangeApiConfig.setHeader('Authorization', Masked.valueOf('secret token')),
106
+ * Send.a(GetRequest.to('/api')),
107
+ * Ensure.that(LastResponse.status(), equals(200)),
108
+ * )
109
+ * ```
110
+ *
90
111
  * @group Activities
91
112
  */
92
113
  export class ChangeApiConfig {