def test_add(): fm = FileSet() assert len(fm) == 0 file_a = File(contents='test file a', count=1) fm.add('file_a', file_a) assert len(fm) == 1
def test_filter(): fm = FileSet() fm.add('file_a', File(contents='test file a', count=1)) fm.add('file_b', File(contents='test file b', count=1)) for _, hfile in fm.filter().patterns('*_a'): hfile['count'] += 1 assert fm['file_a']['count'] == 2 assert fm['file_b']['count'] == 1
def test_patterns(): patterns = ['*', 'blog/**', '*'] fsf = FileSetFilter(FileSet()) fsf.patterns(patterns[1]) fsf.patterns(*patterns[1:]) assert fsf._flatten(fsf._patterns) == set(patterns)
def test_rename(): fm = FileSet() file_a = File(contents='test file a', count=1) fm.add('file_a', file_a) fm.rename('file_a', 'file_b') assert 'file_b' in fm assert 'file_a' not in fm
def test_metadata_limit(): fs = FileSet() fs.add('file_a', File()) fs.add('file_b', File(title='x')) fs.add('file_c', File(title='x')) fsf = FileSetFilter(fs) res = dict(fsf.metadata('title', 'x').limit(1)) assert len(res) == 1
def test_metadata(): fs = FileSet() fs.add('file_a', File()) fs.add('file_b', File(title='x')) fs.add('file_c', File(title='y')) fsf = FileSetFilter(fs) res = dict(fsf.metadata('title', 'x')) assert len(res) == 1 filename = res.keys()[0] assert filename.startswith('file_b')
def test_pattern_limit(): fs = FileSet() fs.add('file_a', File()) fs.add('test_b', File()) fs.add('test_c', File()) fsf = FileSetFilter(fs) res = dict(fsf.patterns('test_*').limit(1)) assert len(res) == 1 filename = res.keys()[0] assert filename.startswith('test_')
def test_limit(limit): fs = FileSet() fs.add('a', File()) fs.add('b', File()) fs.add('c', File()) fsf = FileSetFilter(fs) res = list(fsf.limit(limit)) #Limit of 0 is no limit if limit >= 1 and limit <= len(fs): assert len(res) == limit else: assert len(res) == len(fs)
def test_pattern(patterns): fsf = FileSetFilter(FileSet()) fsf.patterns(*patterns) assert fsf._flatten(fsf._patterns) == set(patterns)
def test_getitem(): fm = FileSet() file_a = File(contents='test file a', count=1) fm.add('file_a', file_a) fm['file_a'] == file_a