def test_plugins_listing_after_uninstall(interface, httpie_plugins_success, dummy_plugin): httpie_plugins_success('install', dummy_plugin.path) httpie_plugins_success('uninstall', dummy_plugin.name) data = parse_listing(httpie_plugins_success('list')) assert len(data) == 0
def test_plugins_listing_multiple(interface, httpie_plugins_success, dummy_plugins): paths = [plugin.path for plugin in dummy_plugins] httpie_plugins_success('install', *paths) data = parse_listing(httpie_plugins_success('list')) assert data == {plugin.name: plugin.dump() for plugin in dummy_plugins}
def test_broken_plugins(httpie_plugins, httpie_plugins_success, dummy_plugin, broken_plugin): httpie_plugins_success("install", dummy_plugin.path, broken_plugin.path) with pytest.warns(UserWarning, match=(f'While loading "{broken_plugin.name}", an error' ' ocurred: broken plugin')): data = parse_listing(httpie_plugins_success('list')) assert len(data) == 2 # We load before the uninstallation, so it will warn again. with pytest.warns(UserWarning): httpie_plugins_success("uninstall", broken_plugin.name) # No warning now, since it is uninstalled. data = parse_listing(httpie_plugins_success('list')) assert len(data) == 1
def test_plugins_upgrade(httpie_plugins, httpie_plugins_success, dummy_plugin): httpie_plugins_success("install", dummy_plugin.path) # Make a new version of the plugin dummy_plugin.version = '2.0.0' dummy_plugin.build() httpie_plugins_success("upgrade", dummy_plugin.path) data = parse_listing(httpie_plugins_success('list')) assert data[dummy_plugin.name]['version'] == '2.0.0'
def test_plugins_listing(httpie_plugins_success, interface, dummy_plugin): httpie_plugins_success('install', dummy_plugin.path) data = parse_listing(httpie_plugins_success('list')) assert data == {dummy_plugin.name: dummy_plugin.dump()}