Skip to content

Commit b8f537a

Browse files
committed
Ruby: update rack tests
1 parent e807972 commit b8f537a

File tree

3 files changed

+39
-9
lines changed

3 files changed

+39
-9
lines changed

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

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
rackApps
2-
| rack.rb:1:1:10:3 | HelloWorld | rack.rb:2:12:2:14 | env |
3-
| rack.rb:12:1:22:3 | Proxy | rack.rb:17:12:17:18 | the_env |
4-
| rack.rb:24:1:37:3 | Logger | rack.rb:30:12:30:14 | env |
5-
| rack.rb:39:1:45:3 | Redirector | rack.rb:40:12:40:14 | env |
6-
| rack.rb:59:1:75:3 | Baz | rack.rb:60:12:60:14 | env |
7-
| rack.rb:77:1:95:3 | Qux | rack.rb:79:17:79:19 | env |
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 |
812
rackResponseContentTypes
913
| rack.rb:8:5:8:38 | call to [] | rack.rb:7:34:7:45 | "text/plain" |
1014
| 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: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ 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::AppCandidate c, DataFlow::ParameterNode env) {
6-
env = c.getEnv()
7-
}
5+
query predicate rackApps(Rack::App::App app, DataFlow::ParameterNode env) { env = app.getEnv() }
86

97
query predicate rackResponseContentTypes(
108
Rack::Response::ResponseNode resp, DataFlow::Node contentType
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
require 'rack'
2+
require 'rack/handler/puma'
3+
handler = Rack::Handler::Puma
4+
5+
class InstanceApp
6+
def call(env)
7+
status = 200
8+
headers = {}
9+
body = ["instance app"]
10+
resp = [status, headers, body]
11+
resp
12+
end
13+
end
14+
15+
class ClassApp
16+
def self.call(env)
17+
[200, {}, ["class app"]]
18+
end
19+
end
20+
21+
lambda_app = ->(env) { [200, {}, ["lambda app"]] }
22+
23+
proc_app = Proc.new { |env| [200, {}, ["proc app"]] }
24+
25+
handler.run InstanceApp.new
26+
handler.run ClassApp
27+
handler.run lambda_app
28+
handler.run proc_app

0 commit comments

Comments
 (0)