Add a rules controller
This commit is contained in:
@@ -142,18 +142,49 @@ class EventTest < ActiveSupport::TestCase
|
||||
end
|
||||
|
||||
test "enum scopes work correctly" do
|
||||
# Create events with different methods and actions
|
||||
Event.create_from_waf_payload!("get-allow", @sample_payload, @project)
|
||||
# Create events with different methods and actions using completely separate payloads
|
||||
|
||||
post_payload = @sample_payload.dup
|
||||
post_payload["request"]["method"] = "POST"
|
||||
post_payload["event_id"] = "post-allow"
|
||||
Event.create_from_waf_payload!("post-allow", post_payload, @project)
|
||||
# Event 1: GET + allow
|
||||
Event.create_from_waf_payload!("get-allow", {
|
||||
"event_id" => "get-allow",
|
||||
"timestamp" => Time.now.iso8601,
|
||||
"request" => {
|
||||
"ip" => "192.168.1.1",
|
||||
"method" => "GET",
|
||||
"path" => "/test",
|
||||
"headers" => { "host" => "example.com" }
|
||||
},
|
||||
"response" => { "status_code" => 200 },
|
||||
"waf_action" => "allow"
|
||||
}, @project)
|
||||
|
||||
deny_payload = @sample_payload.dup
|
||||
deny_payload["waf_action"] = "deny"
|
||||
deny_payload["event_id"] = "get-deny"
|
||||
Event.create_from_waf_payload!("get-deny", deny_payload, @project)
|
||||
# Event 2: POST + allow
|
||||
Event.create_from_waf_payload!("post-allow", {
|
||||
"event_id" => "post-allow",
|
||||
"timestamp" => Time.now.iso8601,
|
||||
"request" => {
|
||||
"ip" => "192.168.1.1",
|
||||
"method" => "POST",
|
||||
"path" => "/test",
|
||||
"headers" => { "host" => "example.com" }
|
||||
},
|
||||
"response" => { "status_code" => 200 },
|
||||
"waf_action" => "allow"
|
||||
}, @project)
|
||||
|
||||
# Event 3: GET + deny
|
||||
Event.create_from_waf_payload!("get-deny", {
|
||||
"event_id" => "get-deny",
|
||||
"timestamp" => Time.now.iso8601,
|
||||
"request" => {
|
||||
"ip" => "192.168.1.1",
|
||||
"method" => "GET",
|
||||
"path" => "/test",
|
||||
"headers" => { "host" => "example.com" }
|
||||
},
|
||||
"response" => { "status_code" => 200 },
|
||||
"waf_action" => "deny"
|
||||
}, @project)
|
||||
|
||||
# Test method scopes - use string values for enum queries
|
||||
get_events = Event.where(request_method: "get")
|
||||
|
||||
Reference in New Issue
Block a user