Merge pull request #49376 from twangboy/fix_48608

Fix issue with duplicates in user.list_users on OSX
This commit is contained in:
Nicole Thomas 2018-08-30 08:57:54 -04:00 committed by GitHub
commit 7a166bc58a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 5 deletions

View file

@ -161,7 +161,7 @@ sudo -H $MAKE install
############################################################################
echo -n -e "\033]0;Build_Env: libsodium\007"
PKGURL="https://download.libsodium.org/libsodium/releases/libsodium-1.0.13.tar.gz"
PKGURL="https://download.libsodium.org/libsodium/releases/old/libsodium-1.0.13.tar.gz"
PKGDIR="libsodium-1.0.13"
download $PKGURL

View file

@ -467,7 +467,8 @@ def list_users():
salt '*' user.list_users
'''
return sorted([user.pw_name for user in pwd.getpwall()])
users = _dscl(['/users'], 'list')['stdout']
return users.split()
def rename(name, new_name):

View file

@ -312,6 +312,11 @@ class MacUserTestCase(TestCase, LoaderModuleMockMixin):
'''
Tests the list of all users
'''
with patch('pwd.getpwall', MagicMock(return_value=self.mock_pwall)):
ret = ['_amavisd', '_appleevents', '_appowner']
self.assertEqual(mac_user.list_users(), ret)
expected = ['spongebob', 'patrick', 'squidward']
mock_run = MagicMock(return_value={'pid': 4948,
'retcode': 0,
'stderr': '',
'stdout': '\n'.join(expected)})
with patch.dict(mac_user.__grains__, {'osrelease_info': (10, 9, 1)}), \
patch.dict(mac_user.__salt__, {'cmd.run_all': mock_run}):
self.assertEqual(mac_user.list_users(), expected)