Ejemplo n.º 1
0
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))
Ejemplo n.º 2
0
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))
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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
Ejemplo n.º 5
0
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
Ejemplo n.º 6
0
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
Ejemplo n.º 7
0
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