Ejemplo n.º 1
0
 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())
Ejemplo n.º 2
0
 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())
Ejemplo n.º 3
0
 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])
Ejemplo n.º 4
0
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)
Ejemplo n.º 5
0
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)
Ejemplo n.º 6
0
 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)
Ejemplo n.º 7
0
 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())
Ejemplo n.º 8
0
 def test_readd_error(self):
     pi = PictureIndex(self.index)
     pi.add(self.mock_pic)
     self.assertRaises(PictureAlreadyIndexedError,
                       pi.add, self.mock_pic)
Ejemplo n.º 9
0
 def test_add(self):
     pi = PictureIndex(self.index)
     pi.add(self.mock_pic)
     self.assertIn(self.mock_pic, self.index.values())