Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix celery to be used in integration tests #4576

Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion dojo/decorators.py
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ def wrapper(self, *args, **kwargs):
except Exception as e:
print("exception occured at url:", self.driver.current_url)
print("page source:", self.driver.page_source)
f = open("selenium_page_source.html", "w", encoding='utf-8')
f = open("/tmp/selenium_page_source.html", "w", encoding='utf-8')
f.writelines(self.driver.page_source)
# time.sleep(30)
raise(e)
Expand Down
1 change: 1 addition & 0 deletions tests/Import_scanner_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -289,6 +289,7 @@ def tearDown(self):
def suite():
suite = unittest.TestSuite()
suite.addTest(BaseTestCase('test_login'))
suite.addTest(BaseTestCase('disable_block_execution'))
suite.addTest(ScannerTest('test_check_test_file'))
suite.addTest(ScannerTest('test_check_for_doc'))
suite.addTest(ScannerTest('test_check_for_fixtures'))
Expand Down
14 changes: 11 additions & 3 deletions tests/base_test_class.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import re
# import time


dd_driver = None
dd_driver_options = None

Expand Down Expand Up @@ -246,19 +247,26 @@ def disable_github(self):
def enable_github(self):
return self.enable_system_setting('id_enable_github')

def enable_block_execution(self):
def set_block_execution(self, block_execution=True):
# we set the admin user (ourselves) to have block_execution checked
# this will force dedupe to happen synchronously, among other things like notifications, rules, ...
print('setting lbock execution to: ', str(block_execution))
driver = self.driver
driver.get(self.base_url + 'profile')
if not driver.find_element_by_id('id_block_execution').is_selected():
if driver.find_element_by_id('id_block_execution').is_selected() != block_execution:
driver.find_element_by_xpath('//*[@id="id_block_execution"]').click()
# save settings
driver.find_element_by_css_selector("input.btn.btn-primary").click()
# check if it's enabled after reload
self.assertTrue(driver.find_element_by_id('id_block_execution').is_selected())
self.assertTrue(driver.find_element_by_id('id_block_execution').is_selected() == block_execution)
return driver

def enable_block_execution(self):
self.set_block_execution()

def disable_block_execution(self):
self.set_block_execution(block_execution=False)

def is_alert_present(self):
try:
self.driver.switch_to_alert()
Expand Down
20 changes: 13 additions & 7 deletions tests/dedupe_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -465,8 +465,18 @@ def test_check_cross_status(self):
self.check_nb_duplicates(1)


def add_dedupe_tests_to_suite(suite):
def add_dedupe_tests_to_suite(suite, jira=False, github=False, block_execution=False):
suite.addTest(BaseTestCase('test_login'))

if jira:
suite.addTest(FindingTest('enable_jira'))
if github:
suite.addTest(FindingTest('enable_github'))
if block_execution:
suite.addTest(FindingTest('enable_block_execution'))
else:
suite.addTest(FindingTest('disable_block_execution'))

suite.addTest(ProductTest('test_create_product'))
suite.addTest(DedupeTest('test_enable_deduplication'))
# Test same scanners - same engagement - static - dedupe
Expand Down Expand Up @@ -501,12 +511,8 @@ def add_dedupe_tests_to_suite(suite):

def suite():
suite = unittest.TestSuite()
add_dedupe_tests_to_suite(suite)
suite.addTest(DedupeTest('enable_jira'))
suite.addTest(DedupeTest('enable_github'))
# block mode no longer needed, so good to actually test in non block mode so celery does the dedupe
# suite.addTest(DedupeTest('enable_block_execution'))
add_dedupe_tests_to_suite(suite)
add_dedupe_tests_to_suite(suite, jira=False, github=False, block_execution=False)
add_dedupe_tests_to_suite(suite, jira=True, github=True, block_execution=True)
return suite


Expand Down
1 change: 1 addition & 0 deletions tests/endpoint_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ def suite():
# Add each test the the suite to be run
# success and failure is output by the test
suite.addTest(BaseTestCase('test_login'))
suite.addTest(BaseTestCase('disable_block_execution'))
suite.addTest(ProductTest('test_create_product'))
suite.addTest(EndpointTest('test_create_endpoint'))
suite.addTest(EndpointTest('test_edit_endpoint'))
Expand Down
1 change: 1 addition & 0 deletions tests/engagement_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ def test_new_ci_cd_engagement(self):
def suite():
suite = unittest.TestSuite()
suite.addTest(BaseTestCase('test_login'))
suite.addTest(BaseTestCase('disable_block_execution'))
suite.addTest(ProductTest('test_create_product'))
suite.addTest(EngagementTest('test_add_new_engagement'))
suite.addTest(EngagementTest('test_edit_created_new_engagement'))
Expand Down
1 change: 1 addition & 0 deletions tests/environment_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ def test_delete_environment(self):
def suite():
suite = unittest.TestSuite()
suite.addTest(BaseTestCase('test_login'))
suite.addTest(BaseTestCase('disable_block_execution'))
suite.addTest(EnvironmentTest('test_create_environment'))
suite.addTest(EnvironmentTest('test_edit_environment'))
suite.addTest(EnvironmentTest('test_delete_environment'))
Expand Down
2 changes: 2 additions & 0 deletions tests/finding_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -359,6 +359,8 @@ def add_finding_tests_to_suite(suite, jira=False, github=False, block_execution=
suite.addTest(FindingTest('enable_github'))
if block_execution:
suite.addTest(FindingTest('enable_block_execution'))
else:
suite.addTest(FindingTest('disable_block_execution'))

# Add each test the the suite to be run
# success and failure is output by the test
Expand Down
1 change: 1 addition & 0 deletions tests/ibm_appscan_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ def suite():
# Add each test the the suite to be run
# success and failure is output by the test
suite.addTest(BaseTestCase('test_login'))
suite.addTest(BaseTestCase('disable_block_execution'))
suite.addTest(ProductTest('test_create_product'))
suite.addTest(IBMAppScanTest('test_import_ibm_app_scan_result'))
suite.addTest(ProductTest('test_delete_product'))
Expand Down
1 change: 1 addition & 0 deletions tests/note_type_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ def test_enable_note_type(self):
def suite():
suite = unittest.TestSuite()
suite.addTest(BaseTestCase('test_login'))
suite.addTest(BaseTestCase('disable_block_execution'))
suite.addTest(NoteTypeTest('test_create_note_type'))
suite.addTest(NoteTypeTest('test_edit_note_type'))
suite.addTest(NoteTypeTest('test_disable_note_type'))
Expand Down
1 change: 1 addition & 0 deletions tests/notes_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ def test_engagement_note(self):
def suite():
suite = unittest.TestSuite()
suite.addTest(BaseTestCase('test_login'))
suite.addTest(BaseTestCase('disable_block_execution'))
suite.addTest(ProductTest('test_create_product'))
suite.addTest(ProductTest('test_add_product_finding'))
suite.addTest(NoteTest('test_finding_note'))
Expand Down
1 change: 1 addition & 0 deletions tests/product_member_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,7 @@ def suite():
# Add each test the the suite to be run
# success and failure is output by the test
suite.addTest(BaseTestCase('test_login'))
suite.addTest(BaseTestCase('disable_block_execution'))
suite.addTest(ProductTest('test_create_product'))
suite.addTest(UserTest('test_create_user'))
suite.addTest(ProductMemberTest('test_user_add_product_member'))
Expand Down
1 change: 1 addition & 0 deletions tests/product_type_member_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,7 @@ def suite():
# Add each test the the suite to be run
# success and failure is output by the test
suite.addTest(BaseTestCase('test_login'))
suite.addTest(BaseTestCase('disable_block_execution'))
suite.addTest(UserTest('test_create_user'))
suite.addTest(ProductTypeMemberTest('test_user_add_product_type_member'))
suite.addTest(ProductTypeMemberTest('test_user_edit_product_type_member'))
Expand Down
1 change: 1 addition & 0 deletions tests/product_type_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ def test_delete_product_type(self):
def suite():
suite = unittest.TestSuite()
suite.addTest(BaseTestCase('test_login'))
suite.addTest(BaseTestCase('disable_block_execution'))
suite.addTest(ProductTypeTest('test_create_product_type'))
suite.addTest(ProductTypeTest('test_view_product_type'))
suite.addTest(ProductTypeTest('test_create_product_for_product_type'))
Expand Down
1 change: 1 addition & 0 deletions tests/regulations_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ def test_delete_regulation(self):
def suite():
suite = unittest.TestSuite()
suite.addTest(BaseTestCase('test_login'))
suite.addTest(BaseTestCase('disable_block_execution'))
suite.addTest(RegulationTest('test_create_regulation'))
suite.addTest(RegulationTest('test_edit_regulation'))
suite.addTest(RegulationTest('test_delete_regulation'))
Expand Down
1 change: 1 addition & 0 deletions tests/report_builder_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,7 @@ def add_report_tests_to_suite(suite):
# Add each test the the suite to be run
# success and failure is output by the test
suite.addTest(BaseTestCase('test_login'))
suite.addTest(BaseTestCase('disable_block_execution'))
suite.addTest(ProductTest('test_create_product'))
suite.addTest(ProductTest('test_add_product_finding'))
suite.addTest(ProductTest('test_add_product_endpoints'))
Expand Down
1 change: 1 addition & 0 deletions tests/search_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ def test_search_id(self):
def suite():
suite = unittest.TestSuite()
suite.addTest(BaseTestCase('test_login'))
suite.addTest(BaseTestCase('disable_block_execution'))
suite.addTest(SearchTests('test_search'))
suite.addTest(SearchTests('test_search_cve'))
suite.addTest(SearchTests('test_search_tag'))
Expand Down