Пример #1
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')
     verify_checksum(item)
Пример #2
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)
     verify_checksum(item)
Пример #3
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)
     verify_checksum(item)
Пример #4
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')
     verify_checksum(item)
Пример #5
0
    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'])
Пример #6
0
    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'])
Пример #7
0
    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')
Пример #8
0
    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')
Пример #9
0
    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')
Пример #10
0
    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)
Пример #11
0
    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)
Пример #12
0
    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)
Пример #13
0
    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')
Пример #14
0
    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)
Пример #15
0
    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)
Пример #16
0
    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')
Пример #17
0
    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)
Пример #18
0
    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')
Пример #19
0
    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)
Пример #20
0
    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')
Пример #21
0
    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')
Пример #22
0
    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)
Пример #23
0
 def test_do_not_fix(self):
     item = self.addIntegrityFailFixture()
     with controlStdin(u'n'):
         beets.ui._raw_main(['check', '--fix'])
     verify_checksum(item)
Пример #24
0
 def test_do_not_fix(self):
     item = self.addIntegrityFailFixture()
     with controlStdin(u'n'):
         beets.ui._raw_main(['check', '--fix'])
     verify_checksum(item)