def test_new_user_success(self): ''' Test if it returns True when new user is added to htpasswd file ''' mock_grep = MagicMock(return_value={'retcode': 1}) mock_useradd = MagicMock(return_value={ 'retcode': 0, 'stderr': 'Success' }) with patch.dict(htpasswd.__salt__, { 'file.grep': mock_grep, 'webutil.useradd': mock_useradd }): ret = htpasswd.user_exists('larry', 'badpass', '/etc/httpd/htpasswd') expected = { 'name': 'larry', 'result': True, 'comment': 'Success', 'changes': { 'larry': True } } self.assertEqual(ret, expected)
def test_no_htpasswd_file_and_user_doesnt_exist(tmp_path): """ Test if .htpasswd does not exist, it returns that the user does not exist as opposed to erroring out """ htpasswd_file = tmp_path / ".htpasswd" assert not htpasswd_file.is_file() mock_file_exists = MagicMock(return_value={"retcode": 1}) mock_grep = MagicMock(return_value={"retcode": 1}) mock_useradd = MagicMock(return_value={"retcode": 0, "stderr": "Success"}) with patch.dict( htpasswd.__salt__, { "file.grep": mock_grep, "file.file_exists": mock_file_exists, "webutil.useradd": mock_useradd, }, ): ret = htpasswd.user_exists("larry", "badpass", "/etc/httpd/htpasswd") expected = { "name": "larry", "result": True, "comment": "Success", "changes": { "larry": True }, } assert ret == expected
def test_new_user_error(): """ Test if it returns False when adding user to htpasswd failed """ mock_file_exists = MagicMock(return_value={"retcode": 1}) mock_grep = MagicMock(return_value={"retcode": 1}) mock_useradd = MagicMock(return_value={"retcode": 1, "stderr": "Error"}) with patch.dict( htpasswd.__salt__, { "file.grep": mock_grep, "file.file_exists": mock_file_exists, "webutil.useradd": mock_useradd, }, ): ret = htpasswd.user_exists("larry", "badpass", "/etc/httpd/htpasswd") expected = { "name": "larry", "result": False, "comment": "Error", "changes": {}, } assert ret == expected
def test_new_user_success(): """ Test if it returns True when new user is added to htpasswd file """ mock_file_exists = MagicMock(return_value={"retcode": 1}) mock_grep = MagicMock(return_value={"retcode": 1}) mock_useradd = MagicMock(return_value={"retcode": 0, "stderr": "Success"}) with patch.dict( htpasswd.__salt__, { "file.grep": mock_grep, "file.file_exists": mock_file_exists, "webutil.useradd": mock_useradd, }, ): ret = htpasswd.user_exists("larry", "badpass", "/etc/httpd/htpasswd") expected = { "name": "larry", "result": True, "comment": "Success", "changes": { "larry": True }, } assert ret == expected
def test_user_exists_already(): """ Test if it returns True when user already exists in htpasswd file """ mock = MagicMock(return_value={"retcode": 0}) with patch.dict(htpasswd.__salt__, {"file.grep": mock}): ret = htpasswd.user_exists("larry", "badpass", "/etc/httpd/htpasswd") expected = { "name": "larry", "result": True, "comment": "User already known", "changes": {}, } assert ret == expected
def test_user_exists_already(self): ''' Test if it returns True when user already exists in htpasswd file ''' mock = MagicMock(return_value={'retcode': 0}) with patch.dict(htpasswd.__salt__, {'file.grep': mock}): ret = htpasswd.user_exists('larry', 'badpass', '/etc/httpd/htpasswd') expected = { 'name': 'larry', 'result': True, 'comment': 'User already known', 'changes': {} } self.assertEqual(ret, expected)
def test_new_user_error(self): ''' Test if it returns False when adding user to htpasswd failed ''' mock_grep = MagicMock(return_value={'retcode': 1}) mock_useradd = MagicMock(return_value={ 'retcode': 1, 'stderr': 'Error' }) with patch.dict(htpasswd.__salt__, { 'file.grep': mock_grep, 'webutil.useradd': mock_useradd }): ret = htpasswd.user_exists('larry', 'badpass', '/etc/httpd/htpasswd') expected = { 'name': 'larry', 'result': False, 'comment': 'Error', 'changes': {} } self.assertEqual(ret, expected)