def require_nodejs(): """ Test high level API """ # Require Node.js require.nodejs.installed_from_source() assert is_file('/usr/local/bin/node') assert nodejs.version() == nodejs.DEFAULT_VERSION # Require a global package nodejs.uninstall_package('underscore') require.nodejs.package('underscore', version='1.4.1') assert nodejs.package_version('underscore') == '1.4.1' require.nodejs.package('underscore', version='1.4.0') assert nodejs.package_version('underscore') == '1.4.0' require.nodejs.package('underscore', version='1.4.2') assert nodejs.package_version('underscore') == '1.4.2' # Require a local package nodejs.uninstall_package('underscore', local=True) require.nodejs.package('underscore', version='1.4.2', local=True) assert nodejs.package_version('underscore', local=True) == '1.4.2'
def test_install_and_uninstall_local_package(nodejs): from fabtools.nodejs import install_package, package_version, uninstall_package if not package_version('underscore', local=True): install_package('underscore', version='1.4.2', local=True) assert is_file('node_modules/underscore/underscore.js') assert package_version('underscore', local=True) == '1.4.2' uninstall_package('underscore', local=True) assert package_version('underscore', local=True) is None assert not is_file('node_modules/underscore/underscore.js')
def test_install_and_uninstall_local_package(nodejs): from fabtools.nodejs import install_package, package_version, uninstall_package if not package_version("underscore", local=True): install_package("underscore", version="1.4.2", local=True) assert is_file("node_modules/underscore/underscore.js") assert package_version("underscore", local=True) == "1.4.2" uninstall_package("underscore", local=True) assert package_version("underscore", local=True) is None assert not is_file("node_modules/underscore/underscore.js")
def test_install_and_uninstall_global_package(nodejs): from fabtools.nodejs import install_package, package_version, uninstall_package if not package_version('underscore'): install_package('underscore', version='1.4.2') assert package_version('underscore') == '1.4.2' assert is_file('/usr/local/lib/node_modules/underscore/underscore.js') uninstall_package('underscore') assert package_version('underscore') is None assert not is_file('/usr/local/lib/node_modules/underscore/underscore.js')
def package(pkg_name, version=None, local=False): """ Require a Node.js package. If the package is not installed, and no *version* is specified, the latest available version will be installed. If a *version* is specified, and a different version of the package is already installed, it will be updated to the specified version. If `local` is ``True``, the package will be installed locally. :: from fabtools import require # Install package system-wide require.nodejs.package('foo') # Install package locally require.nodejs.package('bar', local=True) """ pkg_version = nodejs.package_version(pkg_name, local=local) if version: if pkg_version != version: nodejs.install_package(pkg_name, version, local=local) else: if pkg_version is None: nodejs.install_package(pkg_name, local=local)
def test_install_and_uninstall_global_package(nodejs): from fabtools.nodejs import install_package, package_version, uninstall_package # This is not in root's PATH on RedHat systems with path("/usr/local/bin"): if not package_version("underscore"): install_package("underscore", version="1.4.2") assert package_version("underscore") == "1.4.2" assert is_file("/usr/local/lib/node_modules/underscore/underscore.js") uninstall_package("underscore") assert package_version("underscore") is None assert not is_file("/usr/local/lib/node_modules/underscore/underscore.js")
def test_install_and_uninstall_global_package(nodejs): from fabtools.nodejs import install_package, package_version, uninstall_package # This is not in root's PATH on RedHat systems with path('/usr/local/bin'): if not package_version('underscore'): install_package('underscore', version='1.4.2') assert package_version('underscore') == '1.4.2' assert is_file('/usr/local/lib/node_modules/underscore/underscore.js') uninstall_package('underscore') assert package_version('underscore') is None assert not is_file('/usr/local/lib/node_modules/underscore/underscore.js')
def install_nodejs(): """ Test low level API """ from fabtools import nodejs from fabtools import require from fabtools.files import is_file # Upload local copy of source archive to speed up tests local_cache = '~/.vagrant.d/cache/fabtools/node-v%s.tar.gz' % nodejs.DEFAULT_VERSION if os.path.exists(local_cache): put(local_cache) # Install Node.js from source if nodejs.version() != nodejs.DEFAULT_VERSION: nodejs.install_from_source() assert is_file('/usr/local/bin/node') assert nodejs.version() == nodejs.DEFAULT_VERSION # Install / uninstall global package if not nodejs.package_version('underscore'): nodejs.install_package('underscore', version='1.4.2') assert nodejs.package_version('underscore') == '1.4.2' assert is_file('/usr/local/lib/node_modules/underscore/underscore.js') nodejs.uninstall_package('underscore') assert nodejs.package_version('underscore') == None assert not is_file('/usr/local/lib/node_modules/underscore/underscore.js') # Install / uninstall local package if not nodejs.package_version('underscore', local=True): nodejs.install_package('underscore', version='1.4.2', local=True) assert is_file('node_modules/underscore/underscore.js') assert nodejs.package_version('underscore', local=True) == '1.4.2' nodejs.uninstall_package('underscore', local=True) assert nodejs.package_version('underscore', local=True) == None assert not is_file('node_modules/underscore/underscore.js') # Install dependencies from package.json file require.directory('nodetest') with cd('nodetest'): require.file('package.json', contents=json.dumps({ 'name': 'nodetest', 'version': '1.0.0', 'dependencies': { 'underscore': '1.4.2' } })) nodejs.install_dependencies() assert is_file('node_modules/underscore/underscore.js') assert nodejs.package_version('underscore', local=True) == '1.4.2'
def test_require_local_package(nodejs): from fabtools.require.nodejs import package as require_package from fabtools.nodejs import package_version, uninstall_package require_package('underscore', version='1.4.2', local=True) assert package_version('underscore', local=True) == '1.4.2' uninstall_package('underscore', local=True)
def test_require_local_package(nodejs): from fabtools.require.nodejs import package as require_package from fabtools.nodejs import package_version, uninstall_package require_package("underscore", version="1.4.2", local=True) assert package_version("underscore", local=True) == "1.4.2" uninstall_package("underscore", local=True)
def test_require_global_package(nodejs): from fabtools.require.nodejs import package as require_package from fabtools.nodejs import package_version, uninstall_package try: # Require specific version require_package('underscore', version='1.4.1') assert package_version('underscore') == '1.4.1' # Downgrade require_package('underscore', version='1.4.0') assert package_version('underscore') == '1.4.0' # Upgrade require_package('underscore', version='1.4.2') assert package_version('underscore') == '1.4.2' finally: uninstall_package('underscore')
def require_nodejs(): """ Test high level API """ from fabtools import nodejs from fabtools import require from fabtools.files import is_file # Upload local copy of source archive to speed up tests local_cache = '~/.vagrant.d/cache/fabtools/node-v%s.tar.gz' % nodejs.DEFAULT_VERSION if os.path.exists(local_cache): put(local_cache) # Require Node.js require.nodejs.installed_from_source() assert is_file('/usr/local/bin/node') assert nodejs.version() == nodejs.DEFAULT_VERSION # Require a global package nodejs.uninstall_package('underscore') require.nodejs.package('underscore', version='1.4.1') assert nodejs.package_version('underscore') == '1.4.1' require.nodejs.package('underscore', version='1.4.0') assert nodejs.package_version('underscore') == '1.4.0' require.nodejs.package('underscore', version='1.4.2') assert nodejs.package_version('underscore') == '1.4.2' # Require a local package nodejs.uninstall_package('underscore', local=True) require.nodejs.package('underscore', version='1.4.2', local=True) assert nodejs.package_version('underscore', local=True) == '1.4.2'
def install_nodejs(): """ Test low level API """ from fabtools import nodejs from fabtools import require from fabtools.files import is_file # Install Node.js from source if nodejs.version() != nodejs.DEFAULT_VERSION: nodejs.install_from_source() assert is_file('/usr/local/bin/node') assert nodejs.version() == nodejs.DEFAULT_VERSION # Install / uninstall global package if not nodejs.package_version('underscore'): nodejs.install_package('underscore', version='1.4.2') assert nodejs.package_version('underscore') == '1.4.2' assert is_file('/usr/local/lib/node_modules/underscore/underscore.js') nodejs.uninstall_package('underscore') assert nodejs.package_version('underscore') is None assert not is_file('/usr/local/lib/node_modules/underscore/underscore.js') # Install / uninstall local package if not nodejs.package_version('underscore', local=True): nodejs.install_package('underscore', version='1.4.2', local=True) assert is_file('node_modules/underscore/underscore.js') assert nodejs.package_version('underscore', local=True) == '1.4.2' nodejs.uninstall_package('underscore', local=True) assert nodejs.package_version('underscore', local=True) is None assert not is_file('node_modules/underscore/underscore.js') # Install dependencies from package.json file require.directory('nodetest') with cd('nodetest'): require.file('package.json', contents=json.dumps({ 'name': 'nodetest', 'version': '1.0.0', 'dependencies': { 'underscore': '1.4.2' } })) nodejs.install_dependencies() assert is_file('node_modules/underscore/underscore.js') assert nodejs.package_version('underscore', local=True) == '1.4.2'
def test_require_global_package(nodejs): from fabtools.require.nodejs import package as require_package from fabtools.nodejs import package_version, uninstall_package # This is not in root's PATH on RedHat systems with path("/usr/local/bin"): try: # Require specific version require_package("underscore", version="1.4.1") assert package_version("underscore") == "1.4.1" # Downgrade require_package("underscore", version="1.4.0") assert package_version("underscore") == "1.4.0" # Upgrade require_package("underscore", version="1.4.2") assert package_version("underscore") == "1.4.2" finally: uninstall_package("underscore")
def test_require_global_package(nodejs): from fabtools.require.nodejs import package as require_package from fabtools.nodejs import package_version, uninstall_package # This is not in root's PATH on RedHat systems with path('/usr/local/bin'): try: # Require specific version require_package('underscore', version='1.4.1') assert package_version('underscore') == '1.4.1' # Downgrade require_package('underscore', version='1.4.0') assert package_version('underscore') == '1.4.0' # Upgrade require_package('underscore', version='1.4.2') assert package_version('underscore') == '1.4.2' finally: uninstall_package('underscore')
def test_install_dependencies_from_package_json_file(nodejs, testdir): from fabtools.nodejs import install_dependencies, package_version, uninstall_package with cd(testdir): require_file( "package.json", contents=json.dumps({"name": "nodetest", "version": "1.0.0", "dependencies": {"underscore": "1.4.2"}}), ) install_dependencies() assert is_file("node_modules/underscore/underscore.js") assert package_version("underscore", local=True) == "1.4.2" uninstall_package("underscore", local=True)
def test_install_dependencies_from_package_json_file(nodejs, testdir): from fabtools.nodejs import install_dependencies, package_version, uninstall_package with cd(testdir): require_file('package.json', contents=json.dumps({ 'name': 'nodetest', 'version': '1.0.0', 'dependencies': { 'underscore': '1.4.2' } })) install_dependencies() assert is_file('node_modules/underscore/underscore.js') assert package_version('underscore', local=True) == '1.4.2' uninstall_package('underscore', local=True)