示例#1
0
文件: tests.py 项目: faulkner/pif
class TestIndexChanges:
    """Tests for modifying the Index."""

    def setUp(self):
        minimock.mock('os.path.isdir', returns=True)
        minimock.mock('pif.flickr.get_proxy')

        self.files = {}
        minimock.mock('pif.local.FileIndex', returns=self.files)

        minimock.mock('pif.flickr.PhotoIndex', returns=Mock('PhotoIndex'))

        self.hashes = MockIndex('HashIndex')
        minimock.mock('pif.hash.HashIndex', returns=self.hashes)

        self.index = Index()

    def tearDown(self):
        minimock.restore()

    def test_ignore(self):
        """Index ignores a valid file"""

        self.files['x.jpg'] = 'hash'

        assert self.index.type('x.jpg') == 'new'

        self.index.ignore('x.jpg')

        assert self.index.type('x.jpg') == 'old'

    @raises(KeyError)
    def test_ignore_invalid(self):
        """Index barfs when ignoring an invalid file"""

        assert self.index.type('x.jpg') == 'invalid'
        self.index.ignore('x.jpg')

    def test_ignore_repeat(self):
        """Index ignoring is idempotent"""

        self.files['x.jpg'] = 'hash'
        self.hashes['hash'] = []

        self.index.ignore('x.jpg')
        self.index.ignore('x.jpg')

        assert self.index.type('x.jpg') == 'old'
        assert self.hashes['hash'] == [None]

    @raises(KeyError)
    def test_upload_no_file(self):
        """Try to upload without a valid file"""

        self.index.upload('x.jpg')
示例#2
0
class TestIndexChanges:
    """Tests for modifying the Index."""
    def setUp(self):
        minimock.mock('os.path.isdir', returns=True)
        minimock.mock('pif.flickr.get_proxy')

        self.files = {}
        minimock.mock('pif.local.FileIndex', returns=self.files)

        minimock.mock('pif.flickr.PhotoIndex', returns=Mock('PhotoIndex'))

        self.hashes = MockIndex('HashIndex')
        minimock.mock('pif.hash.HashIndex', returns=self.hashes)

        self.index = Index()

    def tearDown(self):
        minimock.restore()

    def test_ignore(self):
        """Index ignores a valid file"""

        self.files['x.jpg'] = 'hash'

        assert self.index.type('x.jpg') == 'new'

        self.index.ignore('x.jpg')

        assert self.index.type('x.jpg') == 'old'

    @raises(KeyError)
    def test_ignore_invalid(self):
        """Index barfs when ignoring an invalid file"""

        assert self.index.type('x.jpg') == 'invalid'
        self.index.ignore('x.jpg')

    def test_ignore_repeat(self):
        """Index ignoring is idempotent"""

        self.files['x.jpg'] = 'hash'
        self.hashes['hash'] = []

        self.index.ignore('x.jpg')
        self.index.ignore('x.jpg')

        assert self.index.type('x.jpg') == 'old'
        assert self.hashes['hash'] == [None]

    @raises(KeyError)
    def test_upload_no_file(self):
        """Try to upload without a valid file"""

        self.index.upload('x.jpg')