def test_scan_when_two_failures(self): # Prepare data and mocks test_subject = WorldWritable(None) test_subject.scan_worldwritable_files_starting_with_dot = MagicMock( return_value=[]) test_subject.scan_worldwritable_directories_with_no_sticky_bit_set = MagicMock( return_value=['/some/failure']) test_subject.scan_worldwritable_files_owned_by_root = MagicMock( return_value=['/other/failure']) test_subject.get_scan_text = MagicMock( side_effect=['Test2 Failed', 'Test3 Failed']) # Run test scenario result = test_subject.scan() # Assertions test_subject.get_scan_text.assert_has_calls([ call('World writable directories with no sticky bit set', ['/some/failure']), call('World writable files owned by root', ['/other/failure']), ]) test_subject.scan_worldwritable_files_starting_with_dot.assert_called_once_with( ) test_subject.scan_worldwritable_directories_with_no_sticky_bit_set.assert_called_once_with( ) test_subject.scan_worldwritable_files_owned_by_root.assert_called_once_with( ) self.assertEqual(result[0], ScanStatus.fail) self.assertEqual(result[1], 'Test2 Failed\nTest3 Failed')
def test_scan_when_success(self): # Prepare data and mocks test_subject = WorldWritable(None) test_subject.scan_worldwritable_files_starting_with_dot = MagicMock(return_value=[]) test_subject.scan_worldwritable_directories_with_no_sticky_bit_set = MagicMock(return_value=[]) test_subject.scan_worldwritable_files_owned_by_root = MagicMock(return_value=[]) # Run test scenario result = test_subject.scan() # Assertions test_subject.scan_worldwritable_files_starting_with_dot.assert_called_once_with() test_subject.scan_worldwritable_directories_with_no_sticky_bit_set.assert_called_once_with() test_subject.scan_worldwritable_files_owned_by_root.assert_called_once_with() self.assertEqual(result[0], ScanStatus.success) self.assertEqual(result[1], '')
def test_scan_when_success(self): # Prepare data and mocks test_subject = WorldWritable(None) test_subject.scan_worldwritable_files_starting_with_dot = MagicMock( return_value=[]) test_subject.scan_worldwritable_directories_with_no_sticky_bit_set = MagicMock( return_value=[]) test_subject.scan_worldwritable_files_owned_by_root = MagicMock( return_value=[]) # Run test scenario result = test_subject.scan() # Assertions test_subject.scan_worldwritable_files_starting_with_dot.assert_called_once_with( ) test_subject.scan_worldwritable_directories_with_no_sticky_bit_set.assert_called_once_with( ) test_subject.scan_worldwritable_files_owned_by_root.assert_called_once_with( ) self.assertEqual(result[0], ScanStatus.success) self.assertEqual(result[1], '')
def test_scan_when_two_failures(self): # Prepare data and mocks test_subject = WorldWritable(None) test_subject.scan_worldwritable_files_starting_with_dot = MagicMock(return_value=[]) test_subject.scan_worldwritable_directories_with_no_sticky_bit_set = MagicMock(return_value=['/some/failure']) test_subject.scan_worldwritable_files_owned_by_root = MagicMock(return_value=['/other/failure']) test_subject.get_scan_text = MagicMock(side_effect=['Test2 Failed', 'Test3 Failed']) # Run test scenario result = test_subject.scan() # Assertions test_subject.get_scan_text.assert_has_calls( [ call('World writable directories with no sticky bit set', ['/some/failure']), call('World writable files owned by root', ['/other/failure']), ] ) test_subject.scan_worldwritable_files_starting_with_dot.assert_called_once_with() test_subject.scan_worldwritable_directories_with_no_sticky_bit_set.assert_called_once_with() test_subject.scan_worldwritable_files_owned_by_root.assert_called_once_with() self.assertEqual(result[0], ScanStatus.fail) self.assertEqual(result[1], 'Test2 Failed\nTest3 Failed')