示例#1
0
def test_parse_data_package_name():
    ret = parser.parse_data(
        {
            'link': 'test',
        }, 'test_package',
    )

    assert 'package' in ret
    assert ret['package'] in 'test_package'
示例#2
0
def test_parse_data_multiple_links():
    ret = parser.parse_data(
        {
            'link': [
                {'a': 'link_a'},
                {'b': 'link_b'},
            ],
        }, 'test_package',
    )
    assert 'linkLocations' in ret
    assert len(ret['linkLocations']) == 2
    assert ret['linkLocations'][0] == {'a': 'link_a'}
    assert ret['linkLocations'][1] == {'b': 'link_b'}
示例#3
0
def install(options):
    with io.open(options['conf'], 'r') as f:
        packages = yaml.load(f)

    for package in packages.keys():
        if options['prompt']:
            Logger.header('\nInstall {} (Y/n)? '.format(package))
            if input().strip().lower() == 'n':
                continue
        else:
            Logger.header('\nInstalling {}\n'.format(package))

        data = parser.parse_data(packages[package], package)
        for plugin in plugins:
            plugin.execute(options, data, pkg_manager)
示例#4
0
def test_parse_data_no_attributes():
    ret = parser.parse_data(
        {
            'link': 'test',
        }, 'test_package',
    )

    assert 'overwrite' in ret
    assert ret['overwrite']
    assert 'prelink' in ret
    assert ret['prelink'] == []
    assert 'postlink' in ret
    assert ret['postlink'] == []
    assert 'dependencies' in ret
    assert ret['dependencies'] == []
    assert 'clean' in ret
    assert ret['clean']
示例#5
0
def test_parse_data_attributes():
    ret = parser.parse_data(
        {
            'link': 'test',
            'overwrite': 'overwrite',
            'prelink': 'prelink',
            'postlink': 'postlink',
            'dependencies': 'dependencies',
            'clean': 'clean',
        }, 'test_package',
    )

    assert 'overwrite' in ret
    assert ret['overwrite'] == 'overwrite'
    assert 'prelink' in ret
    assert ret['prelink'] == 'prelink'
    assert 'postlink' in ret
    assert ret['postlink'] == 'postlink'
    assert 'dependencies' in ret
    assert ret['dependencies'] == 'dependencies'
    assert 'clean' in ret
    assert ret['clean'] == 'clean'
示例#6
0
def test_parse_data_one_link():
    ret = parser.parse_data({'link': 'test'}, 'test_package')
    assert 'linkLocations' in ret
    assert len(ret['linkLocations']) == 2
    assert ret['linkLocations'][0] == {'*': 'test'}
    assert ret['linkLocations'][1] == {'.*': 'test'}
示例#7
0
def test_parse_data_no_link():
    with mock.patch.object(Logger, 'error') as mock_logger:
        with pytest.raises(SystemExit) as excinfo:
            parser.parse_data({}, 'test_package')
        mock_logger.assert_called_once_with('No link attribute set.\n')
    assert excinfo.value.code == 1