elastic / detection-rules

https://www.elastic.co/guide/en/security/current/detection-engine-overview.html
Other
1.85k stars 462 forks source link

Test case to check updated_date #3818

Closed shashank-elastic closed 15 minutes ago

shashank-elastic commented 1 week ago

Issues

https://github.com/elastic/ia-trade-team/issues/118

Summary

Additional Information

Code Changes

Edge Case

Testing

Local Testing with following git hub events Event- push and Branch = main--> Test Case Skipped.

detection-rules on ξ‚  tarde_118 [$?] is πŸ“¦ v0.1.0 via 🐍 v3.12.3 (.venv) on ☁️  shashank.suryanarayana@elastic.co 
❯ export GITHUB_EVENT_NAME=push        
(.venv) 
detection-rules on ξ‚  tarde_118 [$?] is πŸ“¦ v0.1.0 via 🐍 v3.12.3 (.venv) on ☁️  shashank.suryanarayana@elastic.co 
❯ export GITHUB_BASE_REF=main   
(.venv) 
detection-rules on ξ‚  tarde_118 [$?] is πŸ“¦ v0.1.0 via 🐍 v3.12.3 (.venv) on ☁️  shashank.suryanarayana@elastic.co 
❯ echo $GITHUB_EVENT_NAME       
push
(.venv) 
detection-rules on ξ‚  tarde_118 [$?] is πŸ“¦ v0.1.0 via 🐍 v3.12.3 (.venv) on ☁️  shashank.suryanarayana@elastic.co 
❯ echo $GITHUB_BASE_REF         
main
tests/test_all_rules.py::TestRuleFiles::test_bbr_in_correct_dir PASSED                                                                                                                                                           [ 55%]
tests/test_all_rules.py::TestRuleFiles::test_non_bbr_in_correct_dir PASSED                                                                                                                                                       [ 56%]
tests/test_all_rules.py::TestRuleFiles::test_rule_file_name_tactic PASSED                                                                                                                                                        [ 57%]
tests/test_all_rules.py::TestRuleMetadata::test_deprecated_rules PASSED                                                                                                                                                          [ 57%]
tests/test_all_rules.py::TestRuleMetadata::test_deprecated_rules_modified PASSED                                                                                                                                                 [ 58%]
tests/test_all_rules.py::TestRuleMetadata::test_event_dataset PASSED                                                                                                                                                             [ 59%]
tests/test_all_rules.py::TestRuleMetadata::test_integration_tag PASSED                                                                                                                                                           [ 59%]
tests/test_all_rules.py::TestRuleMetadata::test_invalid_queries PASSED                                                                                                                                                           [ 60%]
tests/test_all_rules.py::TestRuleMetadata::test_rule_change_has_updated_date SKIPPED (Skipping this test when not running on pull requests to main branch)       

Local Testing with following git hub events Event- pull_request and Branch = main--> Test Case Executed

detection-rules on ξ‚  tarde_118 [$?] is πŸ“¦ v0.1.0 via 🐍 v3.12.3 (.venv) on ☁️  shashank.suryanarayana@elastic.co took 1m23s 
❯ export GITHUB_EVENT_NAME=pull_request
(.venv) 
detection-rules on ξ‚  tarde_118 [$?] is πŸ“¦ v0.1.0 via 🐍 v3.12.3 (.venv) on ☁️  shashank.suryanarayana@elastic.co 
❯ echo $GITHUB_EVENT_NAME              
pull_request
(.venv) 
detection-rules on ξ‚  tarde_118 [$?] is πŸ“¦ v0.1.0 via 🐍 v3.12.3 (.venv) on ☁️  shashank.suryanarayana@elastic.co 
❯ echo $GITHUB_BASE_REF                
main
tests/test_all_rules.py::TestRuleMetadata::test_deprecated_rules_modified PASSED                                                                                                                                                 [ 58%]
tests/test_all_rules.py::TestRuleMetadata::test_event_dataset PASSED                                                                                                                                                             [ 59%]
tests/test_all_rules.py::TestRuleMetadata::test_integration_tag PASSED                                                                                                                                                           [ 59%]
tests/test_all_rules.py::TestRuleMetadata::test_invalid_queries PASSED                                                                                                                                                           [ 60%]
tests/test_all_rules.py::TestRuleMetadata::test_rule_change_has_updated_date PASSED                                                                                                                                              [ 61%]
tests/test_all_rules.py::TestRuleMetadata::test_updated_date_newer_than_creation PASSED          

On Github PR Run. The testcase was executed - sample_run

image

Testing With Skip criteria for push

Locally this can be run without any additional settings

tests/test_all_rules.py::TestRuleTimelines::test_timeline_has_title PASSED                                                                                                                                                     [ 55%]
tests/test_all_rules.py::TestRuleFiles::test_bbr_in_correct_dir PASSED                                                                                                                                                         [ 55%]
tests/test_all_rules.py::TestRuleFiles::test_non_bbr_in_correct_dir PASSED                                                                                                                                                     [ 56%]
tests/test_all_rules.py::TestRuleFiles::test_rule_file_name_tactic PASSED                                                                                                                                                      [ 57%]
tests/test_all_rules.py::TestRuleMetadata::test_deprecated_rules PASSED                                                                                                                                                        [ 57%]
tests/test_all_rules.py::TestRuleMetadata::test_deprecated_rules_modified PASSED                                                                                                                                               [ 58%]
tests/test_all_rules.py::TestRuleMetadata::test_event_dataset PASSED                                                                                                                                                           [ 59%]
tests/test_all_rules.py::TestRuleMetadata::test_integration_tag PASSED                                                                                                                                                         [ 59%]
tests/test_all_rules.py::TestRuleMetadata::test_invalid_queries PASSED                        

On PR the test is checked --> Refer Latest Unit Test Result.

When event is push the test case is skipped

detection-rules on ξ‚  tarde_118 [$?] is πŸ“¦ v0.1.0 via 🐍 v3.12.3 (.venv) on ☁️  shashank.suryanarayana@elastic.co took 1m25s 
❯ export GITHUB_EVENT_NAME=push          
(.venv) 
detection-rules on ξ‚  tarde_118 [$?] is πŸ“¦ v0.1.0 via 🐍 v3.12.3 (.venv) on ☁️  shashank.suryanarayana@elastic.co 
❯ echo $GITHUB_EVENT_NAME       
push

tests/test_all_rules.py::TestRuleMetadata::test_deprecated_rules PASSED                                                                                                                                                        [ 57%]
tests/test_all_rules.py::TestRuleMetadata::test_deprecated_rules_modified PASSED                                                                                                                                               [ 58%]
tests/test_all_rules.py::TestRuleMetadata::test_event_dataset PASSED                                                                                                                                                           [ 59%]
tests/test_all_rules.py::TestRuleMetadata::test_integration_tag PASSED                                                                                                                                                         [ 59%]
tests/test_all_rules.py::TestRuleMetadata::test_invalid_queries PASSED                                                                                                                                                         [ 60%]
tests/test_all_rules.py::TestRuleMetadata::test_rule_change_has_updated_date SKIPPED (Skipping this test when not running on pull requests.)       
shashank-elastic commented 1 day ago

Reconciling this PR design