@sap_oss/wdio-qmate-service 2.8.0 → 2.8.2
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/docs/doc.md +16 -7
- package/docs/sections/bestPractices/authentication.md +4 -4
- package/lib/reuse/modules/service/odata.d.ts +12 -3
- package/lib/reuse/modules/service/odata.js +18 -5
- package/lib/reuse/modules/service/odata.js.map +1 -1
- package/package.json +1 -1
- package/test/reuse/service/odata/get.spec.js +18 -0
package/docs/doc.md
CHANGED
|
@@ -5262,9 +5262,9 @@ Global namespace for service modules.
|
|
|
5262
5262
|
* [service](#service)
|
|
5263
5263
|
* [.odata](#service.odata)
|
|
5264
5264
|
* [.init(url, username, password, [loggingEnabled], [params], [authType], [headers])](#service.odata.init) ⇒ <code>Object</code>
|
|
5265
|
-
* [.get(srv, entitySet, keys, [raw], [headers])](#service.odata.get) ⇒ <code>Promise</code>
|
|
5265
|
+
* [.get(srv, entitySet, keys, [raw], [headers], [queryParams])](#service.odata.get) ⇒ <code>Promise</code>
|
|
5266
5266
|
* [.getEntitySet(srv, entitySet, [filterString], [selectionFields], [queryParams])](#service.odata.getEntitySet) ⇒ <code>Promise</code>
|
|
5267
|
-
* [.post(srv, entitySet, payload, [raw], [headers])](#service.odata.post) ⇒ <code>Promise</code>
|
|
5267
|
+
* [.post(srv, entitySet, payload, [raw], [headers], [queryParams])](#service.odata.post) ⇒ <code>Promise</code>
|
|
5268
5268
|
* [.merge(srv, entitySet, payload, [headers])](#service.odata.merge) ⇒ <code>Promise</code>
|
|
5269
5269
|
* [.delete(srv, entitySet, options, [headers])](#service.odata.delete) ⇒ <code>Promise</code>
|
|
5270
5270
|
* [.callFunctionImport(srv, functionImportName, options)](#service.odata.callFunctionImport) ⇒ <code>Promise</code>
|
|
@@ -5286,9 +5286,9 @@ Global namespace for service modules.
|
|
|
5286
5286
|
|
|
5287
5287
|
* [.odata](#service.odata)
|
|
5288
5288
|
* [.init(url, username, password, [loggingEnabled], [params], [authType], [headers])](#service.odata.init) ⇒ <code>Object</code>
|
|
5289
|
-
* [.get(srv, entitySet, keys, [raw], [headers])](#service.odata.get) ⇒ <code>Promise</code>
|
|
5289
|
+
* [.get(srv, entitySet, keys, [raw], [headers], [queryParams])](#service.odata.get) ⇒ <code>Promise</code>
|
|
5290
5290
|
* [.getEntitySet(srv, entitySet, [filterString], [selectionFields], [queryParams])](#service.odata.getEntitySet) ⇒ <code>Promise</code>
|
|
5291
|
-
* [.post(srv, entitySet, payload, [raw], [headers])](#service.odata.post) ⇒ <code>Promise</code>
|
|
5291
|
+
* [.post(srv, entitySet, payload, [raw], [headers], [queryParams])](#service.odata.post) ⇒ <code>Promise</code>
|
|
5292
5292
|
* [.merge(srv, entitySet, payload, [headers])](#service.odata.merge) ⇒ <code>Promise</code>
|
|
5293
5293
|
* [.delete(srv, entitySet, options, [headers])](#service.odata.delete) ⇒ <code>Promise</code>
|
|
5294
5294
|
* [.callFunctionImport(srv, functionImportName, options)](#service.odata.callFunctionImport) ⇒ <code>Promise</code>
|
|
@@ -5337,7 +5337,7 @@ const srv = await service.odata.init(url, user, password, true, params, "headers
|
|
|
5337
5337
|
```
|
|
5338
5338
|
<a name="service.odata.get"></a>
|
|
5339
5339
|
|
|
5340
|
-
#### odata.get(srv, entitySet, keys, [raw], [headers]) ⇒ <code>Promise</code>
|
|
5340
|
+
#### odata.get(srv, entitySet, keys, [raw], [headers], [queryParams]) ⇒ <code>Promise</code>
|
|
5341
5341
|
Sends a GET request to retrieve data from the specified OData entity set.
|
|
5342
5342
|
|
|
5343
5343
|
**Kind**: static method of [<code>odata</code>](#service.odata)
|
|
@@ -5350,6 +5350,7 @@ Sends a GET request to retrieve data from the specified OData entity set.
|
|
|
5350
5350
|
| keys | <code>Object</code> | | The required keys for the GET request. |
|
|
5351
5351
|
| [raw] | <code>Boolean</code> | <code>false</code> | Specifies whether the response should include all header contents. |
|
|
5352
5352
|
| [headers] | <code>Object</code> | | Optional headers to be included in the request. |
|
|
5353
|
+
| [queryParams] | <code>Object</code> | | JSON object of key value pairs of custom query parameters. |
|
|
5353
5354
|
|
|
5354
5355
|
**Example**
|
|
5355
5356
|
```js
|
|
@@ -5358,7 +5359,14 @@ const srv = await service.odata.init(url, user, password);
|
|
|
5358
5359
|
const keys = {
|
|
5359
5360
|
PurchaseOrder: "4100000000"
|
|
5360
5361
|
};
|
|
5361
|
-
const
|
|
5362
|
+
const queryParams = {
|
|
5363
|
+
"$top" : 5,
|
|
5364
|
+
"$skip" : 10,
|
|
5365
|
+
};
|
|
5366
|
+
const headers = {
|
|
5367
|
+
'X-Custom-Header': 'foobar'
|
|
5368
|
+
}
|
|
5369
|
+
const res = await service.odata.get(srv, "A_PurchaseOrder", keys, false, headers, queryParams);
|
|
5362
5370
|
```
|
|
5363
5371
|
<a name="service.odata.getEntitySet"></a>
|
|
5364
5372
|
|
|
@@ -5395,7 +5403,7 @@ let res = await service.odata.getEntitySet(srv, "A_PurchaseOrder", filterString,
|
|
|
5395
5403
|
```
|
|
5396
5404
|
<a name="service.odata.post"></a>
|
|
5397
5405
|
|
|
5398
|
-
#### odata.post(srv, entitySet, payload, [raw], [headers]) ⇒ <code>Promise</code>
|
|
5406
|
+
#### odata.post(srv, entitySet, payload, [raw], [headers], [queryParams]) ⇒ <code>Promise</code>
|
|
5399
5407
|
Sends a POST request to retrieve data from the specified OData entity set for the given payload.
|
|
5400
5408
|
|
|
5401
5409
|
**Kind**: static method of [<code>odata</code>](#service.odata)
|
|
@@ -5408,6 +5416,7 @@ Sends a POST request to retrieve data from the specified OData entity set for th
|
|
|
5408
5416
|
| payload | <code>Object</code> | | The payload of the POST request. |
|
|
5409
5417
|
| [raw] | <code>Boolean</code> | <code>false</code> | Specifies whether the response should include all header contents. |
|
|
5410
5418
|
| [headers] | <code>Object</code> | | Optional headers to be included in the request. |
|
|
5419
|
+
| [queryParams] | <code>Object</code> | | JSON object of key value pairs of custom query parameters. |
|
|
5411
5420
|
|
|
5412
5421
|
**Example**
|
|
5413
5422
|
```js
|
|
@@ -9,7 +9,7 @@ There are different approaches to log into the system:
|
|
|
9
9
|
|
|
10
10
|
Which way to choose depends on your needs and preferences. If you are testing a scenario which goes through various systems (especially non UI5 systems) it is not recommended/possible to use a global authentication via the configuration file. If there is only one login during the script execution, it is up to you, to do the authentication via the configuration file.
|
|
11
11
|
!!! info
|
|
12
|
-
|
|
12
|
+
For consistency reasons we recommend to use the login via reuse methods if possible.
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
## Login via **Reuse Methods**
|
|
@@ -82,7 +82,7 @@ You can use one of the following methods:
|
|
|
82
82
|
- To store your credential securely, you can refer to our main documentation under section [Data Privacy](https://pages.github.tools.sap/sProcurement/qmate/sections/furtherTopics/dataPrivacy/).
|
|
83
83
|
|
|
84
84
|
!!! tip
|
|
85
|
-
|
|
85
|
+
You can disable the login centrally without touching your specs by setting the `formType` to `"skip"` inside your configuration file.
|
|
86
86
|
|
|
87
87
|
## Login via **Configuration File**
|
|
88
88
|
Inside the *conf.js* file You can specify how the script will automatically log into the system. This will only be executed once before the first script gets executed. Hence, we recommend to use this only if you are not switching between multiple users or systems during the test execution.
|
|
@@ -154,7 +154,7 @@ The following environment variables are recognized as **username** and **passwor
|
|
|
154
154
|
- `QMATE_SESSION_PASSWORD`
|
|
155
155
|
|
|
156
156
|
!!! warning "Please Note"
|
|
157
|
-
|
|
157
|
+
The username and password provided to the login functions will be ignored if the corresponding variables are set.
|
|
158
158
|
|
|
159
159
|
### Default Password Fallback
|
|
160
160
|
Another environment variable can be set to act as a default password or fallback in case no password is provided to the reuse function. Unlike the variables mentioned above, this will only be considered if no password is provided and will not overwrite any existing value.
|
|
@@ -170,7 +170,7 @@ it("Step XX: logout", async function () {
|
|
|
170
170
|
```
|
|
171
171
|
|
|
172
172
|
!!! info
|
|
173
|
-
|
|
173
|
+
Please note, if `formType` is set to `"skip"`, the logout will be skipped as well.
|
|
174
174
|
|
|
175
175
|
## Finding the right login form
|
|
176
176
|
Please use the screenshots to find the proper login form.
|
|
@@ -60,15 +60,23 @@ export declare class OData {
|
|
|
60
60
|
* @param {Object} keys - The required keys for the GET request.
|
|
61
61
|
* @param {Boolean} [raw=false] - Specifies whether the response should include all header contents.
|
|
62
62
|
* @param {Object} [headers] - Optional headers to be included in the request.
|
|
63
|
+
* @param {Object} [queryParams] - JSON object of key value pairs of custom query parameters.
|
|
63
64
|
* @returns {Promise} A Promise that resolves to the response data.
|
|
64
65
|
* @example const url = "<baseUrl>/sap/opu/odata/sap/API_PURCHASEORDER_PROCESS_SRV/";
|
|
65
66
|
* const srv = await service.odata.init(url, user, password);
|
|
66
67
|
* const keys = {
|
|
67
68
|
* PurchaseOrder: "4100000000"
|
|
68
69
|
* };
|
|
69
|
-
* const
|
|
70
|
+
* const queryParams = {
|
|
71
|
+
* "$top" : 5,
|
|
72
|
+
* "$skip" : 10,
|
|
73
|
+
* };
|
|
74
|
+
* const headers = {
|
|
75
|
+
* 'X-Custom-Header': 'foobar'
|
|
76
|
+
* }
|
|
77
|
+
* const res = await service.odata.get(srv, "A_PurchaseOrder", keys, false, headers, queryParams);
|
|
70
78
|
*/
|
|
71
|
-
get(srv: any, entitySet: string, keys: any, raw?: boolean, headers?: IHeaders): Promise<any>;
|
|
79
|
+
get(srv: any, entitySet: string, keys: any, raw?: boolean, headers?: IHeaders, queryParams?: any): Promise<any>;
|
|
72
80
|
/**
|
|
73
81
|
* @function getEntitySet
|
|
74
82
|
* @memberOf service.odata
|
|
@@ -105,6 +113,7 @@ export declare class OData {
|
|
|
105
113
|
* @param {Object} payload - The payload of the POST request.
|
|
106
114
|
* @param {Boolean} [raw=false] - Specifies whether the response should include all header contents.
|
|
107
115
|
* @param {Object} [headers] - Optional headers to be included in the request.
|
|
116
|
+
* @param {Object} [queryParams] - JSON object of key value pairs of custom query parameters.
|
|
108
117
|
* @returns {Promise} A Promise that resolves to the response data.
|
|
109
118
|
* @example
|
|
110
119
|
* const payload = {
|
|
@@ -114,7 +123,7 @@ export declare class OData {
|
|
|
114
123
|
* };
|
|
115
124
|
* const res = await service.odata.post(srv, "A_PurchaseOrder", payload);
|
|
116
125
|
*/
|
|
117
|
-
post(srv: any, entitySet: string, payload: any, raw?: boolean, headers?: IHeaders): Promise<any>;
|
|
126
|
+
post(srv: any, entitySet: string, payload: any, raw?: boolean, headers?: IHeaders, queryParams?: any): Promise<any>;
|
|
118
127
|
/**
|
|
119
128
|
* @function merge
|
|
120
129
|
* @memberOf service.odata
|
|
@@ -66,12 +66,12 @@ class OData {
|
|
|
66
66
|
error: console.error
|
|
67
67
|
};
|
|
68
68
|
const parameters = {
|
|
69
|
-
...params,
|
|
70
69
|
...{
|
|
71
70
|
"sap-client": "715",
|
|
72
71
|
"sap-documentation": ["heading", "quickinfo"],
|
|
73
72
|
"sap-language": "EN"
|
|
74
|
-
}
|
|
73
|
+
},
|
|
74
|
+
...params
|
|
75
75
|
};
|
|
76
76
|
const auth = {
|
|
77
77
|
username,
|
|
@@ -100,15 +100,23 @@ class OData {
|
|
|
100
100
|
* @param {Object} keys - The required keys for the GET request.
|
|
101
101
|
* @param {Boolean} [raw=false] - Specifies whether the response should include all header contents.
|
|
102
102
|
* @param {Object} [headers] - Optional headers to be included in the request.
|
|
103
|
+
* @param {Object} [queryParams] - JSON object of key value pairs of custom query parameters.
|
|
103
104
|
* @returns {Promise} A Promise that resolves to the response data.
|
|
104
105
|
* @example const url = "<baseUrl>/sap/opu/odata/sap/API_PURCHASEORDER_PROCESS_SRV/";
|
|
105
106
|
* const srv = await service.odata.init(url, user, password);
|
|
106
107
|
* const keys = {
|
|
107
108
|
* PurchaseOrder: "4100000000"
|
|
108
109
|
* };
|
|
109
|
-
* const
|
|
110
|
+
* const queryParams = {
|
|
111
|
+
* "$top" : 5,
|
|
112
|
+
* "$skip" : 10,
|
|
113
|
+
* };
|
|
114
|
+
* const headers = {
|
|
115
|
+
* 'X-Custom-Header': 'foobar'
|
|
116
|
+
* }
|
|
117
|
+
* const res = await service.odata.get(srv, "A_PurchaseOrder", keys, false, headers, queryParams);
|
|
110
118
|
*/
|
|
111
|
-
async get(srv, entitySet, keys, raw = false, headers) {
|
|
119
|
+
async get(srv, entitySet, keys, raw = false, headers, queryParams) {
|
|
112
120
|
if (!srv)
|
|
113
121
|
throw new Error(SERVICE_INIT_ERROR);
|
|
114
122
|
let entity = srv[entitySet];
|
|
@@ -116,6 +124,8 @@ class OData {
|
|
|
116
124
|
throw new Error(entitySetError(entitySet));
|
|
117
125
|
if (headers)
|
|
118
126
|
entity = this._applyHeaders(entity, headers);
|
|
127
|
+
if (queryParams)
|
|
128
|
+
entity = this._applyQueryParameters(entity, queryParams);
|
|
119
129
|
if (raw)
|
|
120
130
|
entity = entity.raw();
|
|
121
131
|
if (keys && Object.entries(keys).length > 0) {
|
|
@@ -174,6 +184,7 @@ class OData {
|
|
|
174
184
|
* @param {Object} payload - The payload of the POST request.
|
|
175
185
|
* @param {Boolean} [raw=false] - Specifies whether the response should include all header contents.
|
|
176
186
|
* @param {Object} [headers] - Optional headers to be included in the request.
|
|
187
|
+
* @param {Object} [queryParams] - JSON object of key value pairs of custom query parameters.
|
|
177
188
|
* @returns {Promise} A Promise that resolves to the response data.
|
|
178
189
|
* @example
|
|
179
190
|
* const payload = {
|
|
@@ -183,7 +194,7 @@ class OData {
|
|
|
183
194
|
* };
|
|
184
195
|
* const res = await service.odata.post(srv, "A_PurchaseOrder", payload);
|
|
185
196
|
*/
|
|
186
|
-
async post(srv, entitySet, payload, raw = false, headers) {
|
|
197
|
+
async post(srv, entitySet, payload, raw = false, headers, queryParams) {
|
|
187
198
|
if (!srv)
|
|
188
199
|
throw new Error(SERVICE_INIT_ERROR);
|
|
189
200
|
let entity = srv[entitySet];
|
|
@@ -191,6 +202,8 @@ class OData {
|
|
|
191
202
|
throw new Error(entitySetError(entitySet));
|
|
192
203
|
if (headers)
|
|
193
204
|
entity = this._applyHeaders(entity, headers);
|
|
205
|
+
if (queryParams)
|
|
206
|
+
entity = this._applyQueryParameters(entity, queryParams);
|
|
194
207
|
if (raw)
|
|
195
208
|
entity = entity.raw();
|
|
196
209
|
return entity.post(payload);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odata.js","sourceRoot":"","sources":["../../../../src/reuse/modules/service/odata.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAWb,iFAAiF;AACjF,MAAM,kBAAkB,GAAG,6FAA6F,CAAC;AACzH,MAAM,cAAc,GAAG,CAAC,SAAc,EAAE,EAAE,CAAC,eAAe,SAAS,yBAAyB,CAAC;AAE7F,iFAAiF;AACjF;;;GAGG;AACH,MAAa,KAAK;IAMhB;QALS,eAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7B,WAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;QAC5B,SAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAI9B,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,qGAAqG,CAAC,CAAC;QAC5H,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,KAAK,CAAC,IAAI,CAAC,GAAW,EAAE,QAAgB,EAAE,QAAgB,EAAE,cAAc,GAAG,KAAK,EAAE,MAAM,GAAG,EAAE,EAAE,QAAiB,EAAE,OAAa;QAC/H,MAAM,MAAM,GAAG;YACb,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;YACf,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC;QAEF,MAAM,UAAU,GAAG;YACjB,GAAG
|
|
1
|
+
{"version":3,"file":"odata.js","sourceRoot":"","sources":["../../../../src/reuse/modules/service/odata.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -53,3 +53,21 @@ describe("odata - get - wrong entity set", function () {
|
|
|
53
53
|
await expect(service.odata.get(srv, "WrongEntitySet", { UserName: "willieashmore" })).rejects.toThrow(/Entity Set .* not found in service./);
|
|
54
54
|
});
|
|
55
55
|
});
|
|
56
|
+
|
|
57
|
+
describe("odata - get with query parameters", function () {
|
|
58
|
+
let srv;
|
|
59
|
+
let res;
|
|
60
|
+
const numberOfResultsToFetch = 3;
|
|
61
|
+
it("Preparation", async function () {
|
|
62
|
+
srv = await service.odata.init(browser.config.baseUrl, "", "", false, {}, "none");
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
it("Execution", async function () {
|
|
66
|
+
res = await service.odata.get(srv, "People", null, false, null, { $top: numberOfResultsToFetch, $skip: 3 });
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
it("Verification", async function () {
|
|
70
|
+
common.assertion.expectDefined(res);
|
|
71
|
+
common.assertion.expectEqual(res.length, numberOfResultsToFetch);
|
|
72
|
+
});
|
|
73
|
+
});
|