def test_parse_data_package_name(): ret = parser.parse_data( { 'link': 'test', }, 'test_package', ) assert 'package' in ret assert ret['package'] in 'test_package'
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'}
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)
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']
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'
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'}
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