def test_replace(self): pi = PictureIndex(self.index) pi.add(self.mock_pic) new_mock_pic = mock.Mock() new_mock_pic.filename = self.mock_pic.filename pi.replace(new_mock_pic) self.assertIn(new_mock_pic, self.index.values()) self.assertNotIn(self.mock_pic, self.index.values())
def test_remove_many(self): pi = PictureIndex(self.index) mock_pics = [mock.Mock(), mock.Mock(), mock.Mock()] pi.add(mock_pics) pi.remove(mock_pics[:2]) self.assertNotIn(mock_pics[0], pi.pics()) self.assertNotIn(mock_pics[1], pi.pics()) self.assertIn(mock_pics[2], pi.pics())
def test_find_by_filename(self): pi = PictureIndex() pic1 = mock.Mock() pic1.get_filenames.return_value = ['pic1_file1', 'pic1_file2'] pic2 = mock.Mock() pic2.get_filenames.return_value = ['pic2_file1', 'shared_file'] pic3 = mock.Mock() pic3.get_filenames.return_value = ['pic3_file1', 'shared_file'] pi.add([pic1, pic2, pic3]) self.assertEqual(pi.find_by_filename('pic1_file1'), [pic1]) self.assertItemsEqual(pi.find_by_filename('shared_file'), [pic2, pic3])
def new_mock_repo(path, num_pics=0): """ Return a repository containing MockPictures using MockConnector backend. Arguments: num_pics -- Add that many MockPictures to the repository index (default: 0). Returns: Repository instance. """ connector = MockConnector.from_string(path) with connector.connected(): # test index pi = PictureIndex() pi.add(MockPicture.create_many(num_pics)) # test config conf = repo.new_repo_config() conf['index.file'] = ".pic/testindex" conf['test.test'] = "foo" return repo.Repo.create_on_disk(connector, conf, pi)
def test_get(self): pi = PictureIndex(self.index) pi.add(self.mock_pic) key = self.mock_pic.filename pic = pi[key] self.assertEqual(pic, self.mock_pic)
def test_add_many(self): pi = PictureIndex(self.index) mock_pics = [mock.Mock(), mock.Mock(), mock.Mock()] pi.add(mock_pics) for mock_pic in mock_pics: self.assertIn(mock_pic, pi.pics())
def test_readd_error(self): pi = PictureIndex(self.index) pi.add(self.mock_pic) self.assertRaises(PictureAlreadyIndexedError, pi.add, self.mock_pic)
def test_add(self): pi = PictureIndex(self.index) pi.add(self.mock_pic) self.assertIn(self.mock_pic, self.index.values())