def test_keys(self): pkg = Package() assert not pkg.keys() pkg.set('asdf', LOCAL_MANIFEST) assert set(pkg.keys()) == {'asdf'} pkg.set('jkl;', REMOTE_MANIFEST) assert set(pkg.keys()) == {'asdf', 'jkl;'} pkg.delete('asdf') assert set(pkg.keys()) == {'jkl;'}
def test_tophash_changes(self): test_file = Path('test.txt') test_file.write_text('asdf', 'utf-8') pkg = Package() th1 = pkg.top_hash pkg.set('asdf', test_file) pkg.build('foo/bar') th2 = pkg.top_hash assert th1 != th2 test_file.write_text('jkl', 'utf-8') pkg.set('jkl', test_file) pkg.build('foo/bar') th3 = pkg.top_hash assert th1 != th3 assert th2 != th3 pkg.delete('jkl') th4 = pkg.top_hash assert th2 == th4
def test_rollback(self): p = Package() p.set('foo', DATA_DIR / 'foo.txt') p.build('quilt/tmp') good_hash = p.top_hash assert 'foo' in Package.browse('quilt/tmp') p.delete('foo') p.build('quilt/tmp') assert 'foo' not in Package.browse('quilt/tmp') Package.rollback('quilt/tmp', LOCAL_REGISTRY, good_hash) assert 'foo' in Package.browse('quilt/tmp') with self.assertRaises(QuiltException): Package.rollback('quilt/tmp', LOCAL_REGISTRY, '12345678' * 8) with self.assertRaises(QuiltException): Package.rollback('quilt/blah', LOCAL_REGISTRY, good_hash)