def test_add_album_checksum_without_autotag(self): with self.mockAutotag(): beets.ui._raw_main(['import', '--noautotag', self.import_dir]) item = self.lib.items().get() self.assertIn('checksum', item) self.assertEqual(item.title, 'ok') verify_checksum(item)
def test_add_singleton_checksum_without_autotag(self): with self.mockAutotag(): beets.ui._raw_main( ['import', '--singletons', '--noautotag', self.import_dir]) item = self.lib.items().get() self.assertIn('checksum', item) verify_checksum(item)
def test_add_singleton_checksum_without_autotag(self): with self.mockAutotag(): beets.ui._raw_main(['import', '--singletons', '--noautotag', self.import_dir]) item = self.lib.items().get() self.assertIn('checksum', item) verify_checksum(item)
def test_update_checksum(self): item = self.addIntegrityFailFixture() old_checksum = item['checksum'] beets.ui._raw_main(['check', '--fix', '--force']) item.load() verify_checksum(item) self.assertNotEqual(old_checksum, item['checksum'])
def test_log_error_for_invalid_checksum(self): item = self.lib.items(u'ok').get() verify_checksum(item) self.modifyFile(item.path) with captureLog() as logs: beets.ui._raw_main(['write', item.title]) self.assertRegexpMatches( '\n'.join(logs), r'error reading .*: checksum did not match value in library')
def test_abort_write_when_invalid_checksum(self): item = self.lib.items(u'ok').get() verify_checksum(item) self.modifyFile(item.path, title='other title') item['title'] = 'newtitle' item.store() beets.ui._raw_main(['write', item.title]) mediafile = MediaFile(item.path) self.assertNotEqual(mediafile.title, 'newtitle')
def test_force_all_update(self): self.setupFixtureLibrary() item = self.lib.items().get() orig_checksum = item['checksum'] self.modifyFile(item.path) beets.ui._raw_main(['check', '--force', '--update']) item.load() self.assertNotEqual(item['checksum'], orig_checksum) verify_checksum(item)
def test_update_after_keep_new_convert(self): item = self.lib.items(u'ok.ogg').get() verify_checksum(item) with controlStdin('y'): beets.ui._raw_main(['convert', '--keep-new', 'ok.ogg']) converted = self.lib.items(u'ok.ogg').get() self.assertNotEqual(converted.path, item.path) self.assertNotEqual(converted.checksum, item.checksum) verify_checksum(converted)
def test_reimport_does_not_overwrite_checksum(self): self.setupFixtureLibrary() item = self.lib.items().get() orig_checksum = item['checksum'] verify_checksum(item) self.modifyFile(item.path, 'changed') with self.mockAutotag(): beets.ui._raw_main(['import', self.libdir]) item = self.lib.items([item.path]).get() self.assertEqual(item['checksum'], orig_checksum)
def test_write_on_integrity_error(self): MockChecker.install() item = self.lib.items(u'truncated').get() item['title'] = 'newtitle' item.store() beets.ui._raw_main(['write', item.title]) item.load() verify_checksum(item) mediafile = MediaFile(item.path) self.assertEqual(mediafile.title, 'newtitle')
def test_reimport_does_not_overwrite_checksum(self): self.setupFixtureLibrary() item = self.lib.items().get() orig_checksum = item['checksum'] verify_checksum(item) self.modifyFile(item.path, 'changed') with self.mockAutotag(): beets.ui._raw_main(['import', self.libdir]) item = self.lib.items([item.path.decode('utf-8')]).get() self.assertEqual(item['checksum'], orig_checksum)
def test_update_all_confirmation(self): self.setupFixtureLibrary() item = self.lib.items().get() orig_checksum = item['checksum'] self.modifyFile(item.path) with captureStdout() as stdout, controlStdin(u'y'): beets.ui._raw_main(['check', '--update']) self.assertIn('Do you want to overwrite all checksums', stdout.getvalue()) item.load() self.assertNotEqual(item['checksum'], orig_checksum) verify_checksum(item)
def test_update_checksum(self): item = self.lib.items(u'ok').get() orig_checksum = item['checksum'] verify_checksum(item) item['title'] = 'newtitle' item.store() beets.ui._raw_main(['write', item.title]) item.load() self.assertNotEqual(item['checksum'], orig_checksum) verify_checksum(item) mediafile = MediaFile(item.path) self.assertEqual(mediafile.title, 'newtitle')
def test_do_not_fix(self): item = self.addIntegrityFailFixture() with controlStdin(u'n'): beets.ui._raw_main(['check', '--fix']) verify_checksum(item)