def test_get_does_not_download_if_exists(mock_logic): with mock.patch( 'detect_secrets_server.storage.s3.os.path.exists', return_value=True, ), mock_open(): mock_logic.get('filename', force_download=False) assert not mock_logic.client.download_file.called
def test_get_success(self, local_file_storage, mock_rootdir): with mock_open() as m: local_file_storage.get('mock_filename') m.assert_called_with( '{}/tracked/local/mock_filename.json'.format( mock_rootdir, ), )
def test_single_non_tracked_git_file_should_work(self): with mock.patch( 'detect_secrets.core.baseline.os.path.isfile', return_value=True, ), mock_open( 'Super hidden value "BEEF0123456789a"', 'detect_secrets.core.secrets_collection.codecs.open', ): results = self.get_results(path=['will_be_mocked']) assert len(results['will_be_mocked']) == 1
def test_single_non_tracked_git_file_should_work(self): with mock.patch( 'detect_secrets.core.baseline.os.path.isfile', return_value=True, ), mock_open( 'Super hidden value "0123456789a"', 'detect_secrets.core.secrets_collection.codecs.open', ): results = self.get_results('will_be_mocked') assert len(results['will_be_mocked']) == 1
def test_reads_old_baseline_from_file(self, mock_merge_baseline): with mock_stdin(), mock_open( json.dumps({'key': 'value'}), 'detect_secrets.main.open', ) as m: assert main('--scan --import old_baseline_file'.split()) == 0 assert m.call_args[0][0] == 'old_baseline_file' mock_merge_baseline.assert_called_once_with( {'key': 'value'}, Any(dict), )
def test_put_success(self, file_storage): with mock_open() as m: file_storage.put('filename', { 'key': 'value', }) m().write.assert_called_with( json.dumps( { 'key': 'value', }, indent=2, sort_keys=True, ))
def test_build_automaton(): word_list = """ foam\n """ with mock_open( data=word_list, namespace='detect_secrets.util.open', ): automaton, word_list_hash = util.build_automaton(word_list='will_be_mocked.txt') assert word_list_hash == hashlib.sha1('foam'.encode('utf-8')).hexdigest() assert filters.is_found_with_aho_corasick( secret='foam_roller', automaton=automaton, ) assert not filters.is_found_with_aho_corasick( secret='no_words_in_word_list', automaton=automaton, )
def test_writes_new_baseline_if_modified(self): baseline_string = self._create_baseline() modified_baseline = json.loads(baseline_string) modified_baseline['results']['test_data/files/file_with_secrets.py'][ 0]['line_number'] = 0 with mock.patch( ('detect_secrets.core.secrets_collection.' 'SecretsCollection._get_baseline_string_from_file'), return_value=json.dumps(modified_baseline), ), mock_open( '', 'detect_secrets.pre_commit_hook.open', ) as m: assert_commit_blocked( '--baseline will_be_mocked test_data/files/file_with_secrets.py', ) baseline_written = json.loads(m().write.call_args[0][0]) original_baseline = json.loads(baseline_string) assert original_baseline['exclude_regex'] == baseline_written[ 'exclude_regex'] assert original_baseline['results'] == baseline_written['results']
def test_get_success(self, file_storage): with mock_open({'key': 'value'}): data = file_storage.get('does_not_matter') assert data == {'key': 'value'}