Skip to content

Commit 16b9015

Browse files
meakshdwoz
authored andcommitted
Fix wrong logic and enhance tests around fileserver.update
1 parent 0b92363 commit 16b9015

1 file changed

Lines changed: 36 additions & 4 deletions

File tree

tests/integration/runners/test_fileserver.py

Lines changed: 36 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -202,15 +202,31 @@ def test_update(self):
202202
fileserver.update
203203
"""
204204
ret = self.run_run_plus(fun="fileserver.update")
205-
self.assertTrue(ret["return"])
205+
self.assertTrue(ret["return"] is True)
206206

207207
# Backend submitted as a string
208208
ret = self.run_run_plus(fun="fileserver.update", backend="roots")
209-
self.assertTrue(ret["return"])
209+
self.assertTrue(ret["return"] is True)
210210

211211
# Backend submitted as a list
212212
ret = self.run_run_plus(fun="fileserver.update", backend=["roots"])
213-
self.assertTrue(ret["return"])
213+
self.assertTrue(ret["return"] is True)
214+
215+
# Possible '__pub_user' is removed from kwargs
216+
ret = self.run_run_plus(
217+
fun="fileserver.update", backend=["roots"], __pub_user="foo"
218+
)
219+
self.assertTrue(ret["return"] is True)
220+
221+
# Unknown arguments
222+
ret = self.run_run_plus(
223+
fun="fileserver.update", backend=["roots"], unknown_arg="foo"
224+
)
225+
self.assertIn(
226+
"Passed invalid arguments: update() got an unexpected keyword argument"
227+
" 'unknown_arg'",
228+
ret["return"],
229+
)
214230

215231
# Other arguments are passed to backend
216232
def mock_gitfs_update(remotes=None):
@@ -225,7 +241,23 @@ def mock_gitfs_update(remotes=None):
225241
ret = self.run_run_plus(
226242
fun="fileserver.update", backend="gitfs", remotes="myrepo,yourrepo"
227243
)
228-
self.assertTrue(ret["return"])
244+
self.assertTrue(ret["return"] is True)
245+
mock_backend_func.assert_called_once_with(remotes="myrepo,yourrepo")
246+
247+
# Possible '__pub_user' arguments are removed from kwargs
248+
mock_backend_func = create_autospec(mock_gitfs_update)
249+
mock_return_value = {
250+
"gitfs.envs": None, # This is needed to activate the backend
251+
"gitfs.update": mock_backend_func,
252+
}
253+
with patch("salt.loader.fileserver", MagicMock(return_value=mock_return_value)):
254+
ret = self.run_run_plus(
255+
fun="fileserver.update",
256+
backend="gitfs",
257+
remotes="myrepo,yourrepo",
258+
__pub_user="foo",
259+
)
260+
self.assertTrue(ret["return"] is True)
229261
mock_backend_func.assert_called_once_with(remotes="myrepo,yourrepo")
230262

231263
# Unknown arguments are passed to backend

0 commit comments

Comments
 (0)