def run(argv=None): ''' Main function of |info_cname|. ''' ff = FFFlash(parsed_args(argv)) ff.log(info.ident) if not ff.access_for('api'): return (not ff.log('error loading API file', level=False)) modified = [] if ff.access_for('sidecars'): modified.append( handle_sidecars(ff) ) if ff.access_for('nodelist'): modified.append( handle_nodelist(ff) ) if ff.args.dry: ff.log('\n{}'.format(ff.api.pretty()), level='API file preview') else: if any(modified): ff.save() ff.log('saved api file') return (not any(modified))
def run(argv=None): ''' Main function of |info_cname|. ''' ff = FFFlash(parsed_args(argv)) ff.log(info.ident) if not ff.access_for('api'): return (not ff.log('error loading API file', level=False)) modified = [] if ff.access_for('sidecars'): modified.append(handle_sidecars(ff)) if ff.access_for('nodelist'): modified.append(handle_nodelist(ff)) if ff.args.dry: ff.log('\n{}'.format(ff.api.pretty()), level='API file preview') else: if any(modified): ff.save() ff.log('saved api file') return (not any(modified))
def test_handle_sidecars_wrong_keys(tmpdir, fffake): apifile = tmpdir.join('api_file.json') apifile.write_text(dumps({'a': 'b'}), 'utf-8') sc = tmpdir.join('sc.json') ff = fffake(apifile, sidecars=[sc], dry=True) assert handle_sidecars(ff) is False assert tmpdir.remove() is None
def test_handle_sidecars_self_not_existing(tmpdir, fffake): apifile = tmpdir.join('api_file.json') apifile.write_text(dumps({'a': 'b'}), 'utf-8') sc = tmpdir.join('a.json') assert tmpdir.listdir() == [apifile] ff = fffake(apifile, sidecars=[sc], dry=True) assert handle_sidecars(ff) is True assert sorted(tmpdir.listdir()) == sorted([sc, apifile]) assert tmpdir.remove() is None
def test_handle_sidecarts_invalid_filenames(tmpdir, fffake): apifile = tmpdir.join('api_file.json') apifile.write_text(dumps({'a': 'b'}), 'utf-8') ff = fffake(apifile, sidecars=[ str(tmpdir.join('sc.txt')), str(tmpdir.join('does.not.exist.json')), str(tmpdir.join('a..b.yaml')), ], dry=True) assert handle_sidecars(ff) is False assert tmpdir.remove() is None
def test_handle_sidecars_existing_overwrites_api(tmpdir, fffake): apifile = tmpdir.join('api_file.json') apifile.write_text(dumps({'a': 'b'}), 'utf-8') sc = tmpdir.join('a.json') sc.write_text(dumps('c'), 'utf-8') assert sorted(tmpdir.listdir()) == sorted([sc, apifile]) ff = fffake(apifile, sidecars=[sc], dry=True) assert handle_sidecars(ff) is True assert ff.api.c.get('a') == 'c' assert tmpdir.remove() is None
def test_handle_sidecars_without_sidecars(tmpdir, fffake): ff = fffake(tmpdir.join('api_file.json'), dry=True) assert handle_sidecars(ff) is False assert tmpdir.remove() is None