Skip to content

Commit b7a00f7

Browse files
committed
Add additional cases to remoteflowsources
1 parent 511d498 commit b7a00f7

File tree

6 files changed

+28
-6
lines changed

6 files changed

+28
-6
lines changed

javascript/frameworks/cap/test/models/cds/remoteflowsources/ExposedServices.expected renamed to javascript/frameworks/cap/test/models/cds/remoteflowsources/HandlerParameterOfExposedService.expected

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
| srv/service1.js:52:29:52:31 | req |
1010
| srv/service1.js:58:29:58:31 | req |
1111
| srv/service1.js:64:29:64:31 | req |
12+
| srv/service1.js:70:30:70:32 | req |
1213
| srv/service2.js:4:27:4:29 | msg |
1314
| srv/service3.js:5:29:5:31 | req |
1415
| srv/service3.js:11:29:11:31 | req |
@@ -19,3 +20,4 @@
1920
| srv/service3.js:51:29:51:31 | req |
2021
| srv/service3.js:57:29:57:31 | req |
2122
| srv/service3.js:63:29:63:31 | req |
23+
| srv/service3.js:69:30:69:32 | req |

javascript/frameworks/cap/test/models/cds/remoteflowsources/remoteflowsource.expected

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
| srv/service1.js:34:31:34:61 | req.htt ... eProp") |
1414
| srv/service1.js:35:31:35:60 | req.htt ... eProp") |
1515
| srv/service1.js:41:29:41:34 | req.id |
16+
| srv/service1.js:47:29:47:45 | req._queryOptions |
1617
| srv/service2.js:5:31:5:38 | msg.data |
1718
| srv/service3.js:6:33:6:40 | req.data |
1819
| srv/service3.js:12:33:12:42 | req.params |
@@ -29,3 +30,4 @@
2930
| srv/service3.js:33:31:33:61 | req.htt ... eProp") |
3031
| srv/service3.js:34:31:34:60 | req.htt ... eProp") |
3132
| srv/service3.js:40:29:40:34 | req.id |
33+
| srv/service3.js:46:29:46:45 | req._queryOptions |

javascript/frameworks/cap/test/models/cds/remoteflowsources/srv/service1.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,24 +44,30 @@ module.exports = class Service1 extends cds.ApplicationService {
4444
});
4545

4646
this.on("send6", async (req) => {
47-
const messageToPass = req.locale; // SAFE: Not a taint source, Exposed service
47+
const messageToPass = req._queryOptions; // UNSAFE: Taint source, Exposed service
4848
const Service2 = await cds.connect.to("service-2");
4949
Service2.send("send2", { messageToPass });
5050
});
5151

5252
this.on("send7", async (req) => {
53-
const messageToPass = req.tenant; // SAFE: Not a taint source, Exposed service
53+
const messageToPass = req.locale; // SAFE: Not a taint source, Exposed service
5454
const Service2 = await cds.connect.to("service-2");
5555
Service2.send("send2", { messageToPass });
5656
});
5757

5858
this.on("send8", async (req) => {
59-
const messageToPass = req.timestamp; // SAFE: Not a taint source, Exposed service
59+
const messageToPass = req.tenant; // SAFE: Not a taint source, Exposed service
6060
const Service2 = await cds.connect.to("service-2");
6161
Service2.send("send2", { messageToPass });
6262
});
6363

6464
this.on("send9", async (req) => {
65+
const messageToPass = req.timestamp; // SAFE: Not a taint source, Exposed service
66+
const Service2 = await cds.connect.to("service-2");
67+
Service2.send("send2", { messageToPass });
68+
});
69+
70+
this.on("send10", async (req) => {
6571
const messageToPass = req.user; // SAFE: Not a taint source, Exposed service
6672
const Service2 = await cds.connect.to("service-2");
6773
Service2.send("send2", { messageToPass });

javascript/frameworks/cap/test/models/cds/remoteflowsources/srv/service3.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,24 +43,30 @@ class Service3 extends cds.ApplicationService {
4343
});
4444

4545
this.on("send6", async (req) => {
46-
const messageToPass = req.locale; // SAFE: Not a taint source, Exposed service (fallback)
46+
const messageToPass = req._queryOptions; // UNSAFE: Taint source, Exposed service
4747
const Service2 = await cds.connect.to("service-2");
4848
Service2.send("send2", { messageToPass });
4949
});
5050

5151
this.on("send7", async (req) => {
52-
const messageToPass = req.tenant; // SAFE: Not a taint source, Exposed service (fallback)
52+
const messageToPass = req.locale; // SAFE: Not a taint source, Exposed service (fallback)
5353
const Service2 = await cds.connect.to("service-2");
5454
Service2.send("send2", { messageToPass });
5555
});
5656

5757
this.on("send8", async (req) => {
58-
const messageToPass = req.timestamp; // SAFE: Not a taint source, Exposed service (fallback)
58+
const messageToPass = req.tenant; // SAFE: Not a taint source, Exposed service (fallback)
5959
const Service2 = await cds.connect.to("service-2");
6060
Service2.send("send2", { messageToPass });
6161
});
6262

6363
this.on("send9", async (req) => {
64+
const messageToPass = req.timestamp; // SAFE: Not a taint source, Exposed service (fallback)
65+
const Service2 = await cds.connect.to("service-2");
66+
Service2.send("send2", { messageToPass });
67+
});
68+
69+
this.on("send10", async (req) => {
6470
const messageToPass = req.user; // SAFE: Not a taint source, Exposed service (fallback)
6571
const Service2 = await cds.connect.to("service-2");
6672
Service2.send("send2", { messageToPass });

javascript/frameworks/cap/test/models/cds/remoteflowsources/srv/service4.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,5 +41,11 @@ module.exports = class Service4 extends cds.ApplicationService {
4141
const Service2 = await cds.connect.to("service-2");
4242
Service2.send("send2", { messageToPass });
4343
});
44+
45+
this.on("send6", async (req) => {
46+
const messageToPass = req._queryOptions; // UNSAFE: Taint source, Exposed service
47+
const Service2 = await cds.connect.to("service-2");
48+
Service2.send("send2", { messageToPass });
49+
});
4450
}
4551
};

0 commit comments

Comments
 (0)