Skip to content

Commit 29844e6

Browse files
committed
Ruby: rack - test for response tracking
1 parent 4b3d995 commit 29844e6

File tree

2 files changed

+16
-11
lines changed

2 files changed

+16
-11
lines changed

ruby/ql/test/library-tests/frameworks/rack/Rack.expected

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
rackApps
2-
| Rack application: -> { ... } | rack_apps.rb:21:17:21:19 | env |
3-
| Rack application: Baz | rack.rb:60:12:60:14 | env |
4-
| Rack application: ClassApp | rack_apps.rb:16:17:16:19 | env |
5-
| Rack application: HelloWorld | rack.rb:2:12:2:14 | env |
6-
| Rack application: InstanceApp | rack_apps.rb:6:12:6:14 | env |
7-
| Rack application: Logger | rack.rb:30:12:30:14 | env |
8-
| Rack application: Proxy | rack.rb:17:12:17:18 | the_env |
9-
| Rack application: Qux | rack.rb:79:17:79:19 | env |
10-
| Rack application: Redirector | rack.rb:40:12:40:14 | env |
11-
| Rack application: { ... } | rack_apps.rb:23:24:23:26 | env |
2+
| Rack application: -> { ... } | rack_apps.rb:21:17:21:19 | env | rack_apps.rb:21:24:21:48 | call to [] |
3+
| Rack application: Baz | rack.rb:60:12:60:14 | env | rack.rb:66:7:66:22 | call to [] |
4+
| Rack application: Baz | rack.rb:60:12:60:14 | env | rack.rb:73:5:73:21 | call to [] |
5+
| Rack application: ClassApp | rack_apps.rb:16:17:16:19 | env | rack_apps.rb:17:5:17:28 | call to [] |
6+
| Rack application: HelloWorld | rack.rb:2:12:2:14 | env | rack.rb:8:5:8:38 | call to [] |
7+
| Rack application: InstanceApp | rack_apps.rb:6:12:6:14 | env | rack_apps.rb:10:12:10:34 | call to [] |
8+
| Rack application: Logger | rack.rb:30:12:30:14 | env | rack.rb:35:5:35:26 | call to [] |
9+
| Rack application: Proxy | rack.rb:17:12:17:18 | the_env | rack.rb:20:5:20:27 | call to [] |
10+
| Rack application: Qux | rack.rb:79:17:79:19 | env | rack.rb:93:5:93:78 | call to finish |
11+
| Rack application: Redirector | rack.rb:40:12:40:14 | env | rack.rb:43:5:43:45 | call to [] |
12+
| Rack application: { ... } | rack_apps.rb:23:24:23:26 | env | rack_apps.rb:23:29:23:51 | call to [] |
1213
rackResponseContentTypes
1314
| rack.rb:8:5:8:38 | call to [] | rack.rb:7:34:7:45 | "text/plain" |
1415
| rack.rb:20:5:20:27 | call to [] | rack.rb:19:28:19:38 | "text/html" |

ruby/ql/test/library-tests/frameworks/rack/Rack.ql

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,11 @@ private import codeql.ruby.AST
22
private import codeql.ruby.frameworks.Rack
33
private import codeql.ruby.DataFlow
44

5-
query predicate rackApps(Rack::App::App app, DataFlow::ParameterNode env) { env = app.getEnv() }
5+
query predicate rackApps(
6+
Rack::App::App app, DataFlow::ParameterNode env, Rack::Response::ResponseNode resp
7+
) {
8+
env = app.getEnv() and resp = app.getAResponse()
9+
}
610

711
query predicate rackResponseContentTypes(
812
Rack::Response::ResponseNode resp, DataFlow::Node contentType

0 commit comments

Comments
 (0)