Beispiel #1
0
 def test_write_database(self):
     data = {u'a': 2,
             u'b': {u'c': [5, 6]}}
     devices.write_database(data, self.tempdir)
     with open(os.path.join(self.tempdir, '.miro', 'json')) as f:
         new_data = json.load(f)
     self.assertEqual(data, new_data)
Beispiel #2
0
 def test_write_database(self):
     data = {u'a': 2,
             u'b': {u'c': [5, 6]}}
     devices.write_database(data, self.tempdir)
     with open(os.path.join(self.tempdir, '.miro', 'json')) as f:
         new_data = json.load(f)
     self.assertEqual(data, new_data)
Beispiel #3
0
 def test_upgrade_error(self):
     self.open_database()
     self.make_device_items('foo.mp3', 'bar.mp3')
     devices.write_database(self.device.database, self.device.mount)
     # Force our upgrade code to run and throw an exception.
     os.remove(os.path.join(self.device.mount, '.miro', 'sqlite'))
     mock_do_import = mock.Mock()
     method = ('miro.devicedatabaseupgrade.'
               '_do_import_old_items.convert_old_item')
     patcher = mock.patch(method, mock_do_import)
     mock_do_import.side_effect = sqlite3.DatabaseError("Error")
     self.device.database.created_new = False
     with patcher:
         self.open_database()
     # check that we created a new sqlite database and added new metadata
     # status rows for the device items
     cursor = self.device.sqlite_database.cursor
     cursor.execute("SELECT path FROM metadata_status")
     paths = [r[0] for r in cursor.fetchall()]
     self.assertSameSet(paths, ['foo.mp3', 'bar.mp3'])