def test_get_raw_dumps_as_files(self): config = self.get_standard_config() sub_walker = SubmitterFileSystemWalkerSource(config) dump_pathnames = ( '6611a662-e70f-4ba5-a397-69a3a2121129', ( 'raw_crash_file', '/some/path/6611a662-e70f-4ba5-a397-69a3a2121129.dump', '/some/path/6611a662-e70f-4ba5-a397-69a3a2121129.flash1.dump', '/some/path/6611a662-e70f-4ba5-a397-69a3a2121129.flash2.dump', ), ) raw_dumps_files = sub_walker.get_raw_dumps_as_files(dump_pathnames) dump_names = {'upload_file_minidump': '/some/path/6611a662-e70f-4ba5-a397-69a3a2121129.dump', 'flash1': '/some/path/6611a662-e70f-4ba5-a397-69a3a2121129.flash1.dump', 'flash2': '/some/path/6611a662-e70f-4ba5-a397-69a3a2121129.flash2.dump' } ok_(isinstance(raw_dumps_files, dict)) eq_(raw_dumps_files, dump_names)
def test_new_crashes(self): config = self.get_standard_config() sub_walker = SubmitterFileSystemWalkerSource(config) sequence = [ './6611a662-e70f-4ba5-a397-69a3a2121129.json', './7611a662-e70f-4ba5-a397-69a3a2121129.json', './8611a662-e70f-4ba5-a397-69a3a2121129.json', ] crash_path = generator_for_sequence(*sequence) sub_walker.new_crashes = crash_path for a_row in sub_walker.new_crashes(): eq_(a_row, sequence.pop())
def test_new_crashes(self): config = self.get_standard_config() sub_walker = SubmitterFileSystemWalkerSource(config) crash_path = sequencer('./6611a662-e70f-4ba5-a397-69a3a2121129.json', './7611a662-e70f-4ba5-a397-69a3a2121129.json', './8611a662-e70f-4ba5-a397-69a3a2121129.json', ) sub_walker.new_crashes = mock.Mock(side_effect=crash_path) new_crashes = sub_walker.new_crashes() ok_(isinstance(new_crashes.next(), str)) eq_(new_crashes.next(), './7611a662-e70f-4ba5-a397-69a3a2121129.json') ok_(new_crashes.next().endswith(".json"))
def test_new_crashes(self): config = self.get_standard_config() sub_walker = SubmitterFileSystemWalkerSource(config) crash_path = sequencer( './6611a662-e70f-4ba5-a397-69a3a2121129.json', './7611a662-e70f-4ba5-a397-69a3a2121129.json', './8611a662-e70f-4ba5-a397-69a3a2121129.json', ) sub_walker.new_crashes = mock.Mock(side_effect=crash_path) new_crashes = sub_walker.new_crashes() ok_(isinstance(new_crashes.next(), str)) eq_(new_crashes.next(), './7611a662-e70f-4ba5-a397-69a3a2121129.json') ok_(new_crashes.next().endswith(".json"))
def test_get_raw_crash(self): config = self.get_standard_config() sub_walker = SubmitterFileSystemWalkerSource(config) raw = ('{"name":"Gabi", ''"submitted_timestamp":"%d"}' % time.time()) fake_raw_crash = DotDict(json.loads(raw)) mocked_get_raw_crash = mock.Mock(return_value=fake_raw_crash) sub_walker.get_raw_crash = mocked_get_raw_crash path_tuple = ['6611a662-e70f-4ba5-a397-69a3a2121129.dump', '6611a662-e70f-4ba5-a397-69a3a2121129.flash1.dump', '6611a662-e70f-4ba5-a397-69a3a2121129.flash2.dump', ] raw_crash = sub_walker.get_raw_crash(path_tuple) ok_(isinstance(raw_crash, DotDict)) eq_(raw_crash['name'], 'Gabi')
def test_setup(self): config = self.get_standard_config() sub_walker = SubmitterFileSystemWalkerSource(config) eq_(sub_walker.config, config) eq_(sub_walker.config.logger, config.logger)
def test_new_crashes(self): sequence = [ ( './', '6611a662-e70f-4ba5-a397-69a3a2121129.json', './6611a662-e70f-4ba5-a397-69a3a2121129.json', ), ( './', '6611a662-e70f-4ba5-a397-69a3a2121129.upload.dump', './6611a662-e70f-4ba5-a397-69a3a2121129.upload.dump', ), ( './', '7611a662-e70f-4ba5-a397-69a3a2121129.json', './7611a662-e70f-4ba5-a397-69a3a2121129.json', ), ( './', '7611a662-e70f-4ba5-a397-69a3a2121129.other.dump', './7611a662-e70f-4ba5-a397-69a3a2121129.other.dump', ), ( './', '7611a662-e70f-4ba5-a397-69a3a2121129.other.txt', './7611a662-e70f-4ba5-a397-69a3a2121129.other.txt', ), ( './', '8611a662-e70f-4ba5-a397-69a3a2121129.json', './8611a662-e70f-4ba5-a397-69a3a2121129.json', ) ] def findFileGenerator_mock_method(root, method): for x in sequence: if method(x): yield x def listdir_mock_method(a_path): for x in sequence: yield x[1] config = self.get_standard_config() expected = [ ( (( '6611a662-e70f-4ba5-a397-69a3a2121129', [ './6611a662-e70f-4ba5-a397-69a3a2121129.json', './6611a662-e70f-4ba5-a397-69a3a2121129.upload.dump' ], ), ), {} ), ( (( '7611a662-e70f-4ba5-a397-69a3a2121129', [ './7611a662-e70f-4ba5-a397-69a3a2121129.json', './7611a662-e70f-4ba5-a397-69a3a2121129.other.dump' ], ), ), {} ), ( (( '8611a662-e70f-4ba5-a397-69a3a2121129', [ './8611a662-e70f-4ba5-a397-69a3a2121129.json' ] ), ), {} ), ] find_patch_path = 'socorro.collector.submitter_app.findFileGenerator' with mock.patch( find_patch_path, new_callable=lambda: findFileGenerator_mock_method ): listdir_patch_path = 'socorro.collector.submitter_app.listdir' with mock.patch( listdir_patch_path, new_callable=lambda: listdir_mock_method ): sub_walker = SubmitterFileSystemWalkerSource(config) result = [x for x in sub_walker.new_crashes()] eq_(result, expected)