Example #1
0
 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)
     check.verify(item)
Example #2
0
 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')
     check.verify(item)
Example #3
0
    def test_log_error_for_invalid_checksum(self):
        item = self.lib.items('ok').get()
        check.verify(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')
Example #4
0
    def test_force_all_update(self):
        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)
        check.verify(item)
Example #5
0
    def test_update_after_keep_new_convert(self):
        item = self.lib.items('ok.ogg').get()
        check.verify(item)

        with controlStdin('y'):
            beets.ui._raw_main(['convert', '--keep-new', 'ok.ogg'])

        converted = self.lib.items('ok.ogg').get()
        self.assertNotEqual(converted.path, item.path)
        self.assertNotEqual(converted.checksum, item.checksum)
        check.verify(converted)
Example #6
0
    def test_abort_write_when_invalid_checksum(self):
        item = self.lib.items('ok').get()
        check.verify(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')
Example #7
0
    def test_update_all_confirmation(self):
        item = self.lib.items().get()
        orig_checksum = item['checksum']
        self.modifyFile(item.path)

        with captureStdout() as stdout, controlStdin(u'y') as stdin:
            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)
        check.verify(item)
Example #8
0
    def test_reimport_does_not_overwrite_checksum(self):
        self.setupFixtureLibrary()

        item = self.lib.items().get()
        orig_checksum = item['checksum']
        check.verify(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)
Example #9
0
    def test_update_checksum(self):
        item = self.lib.items('ok').get()
        orig_checksum = item['checksum']
        check.verify(item)

        item['title'] = 'newtitle'
        item.store()
        beets.ui._raw_main(['write', item.title])

        item.load()
        self.assertNotEqual(item['checksum'], orig_checksum)
        check.verify(item)

        mediafile = MediaFile(item.path)
        self.assertEqual(mediafile.title, 'newtitle')