npm - fix installing from package.json (#2924)

correctly handle cases where a dependency does not have a `version` property because it is either missing or invalid
This commit is contained in:
Shahar Mor 2021-07-02 22:42:50 +03:00 committed by GitHub
parent ffe505a798
commit a0915036f9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 25 additions and 2 deletions

View file

@ -52,6 +52,25 @@ class NPMModuleTestCase(ModuleTestCase):
call(['/testbin/npm', 'install', '--global', 'coffee-script'], check_rc=True, cwd=None),
])
def test_present_missing(self):
set_module_args({
'name': 'coffee-script',
'global': 'true',
'state': 'present',
})
self.module_main_command.side_effect = [
(0, '{"dependencies": {"coffee-script": {"missing" : true}}}', ''),
(0, '{}', ''),
]
result = self.module_main(AnsibleExitJson)
self.assertTrue(result['changed'])
self.module_main_command.assert_has_calls([
call(['/testbin/npm', 'list', '--json', '--long', '--global'], check_rc=False, cwd=None),
call(['/testbin/npm', 'install', '--global', 'coffee-script'], check_rc=True, cwd=None),
])
def test_present_version(self):
set_module_args({
'name': 'coffee-script',