Mock assert_called_with обрабатывает аргумент как неупорядоченный список

У меня есть некая подражаемая функция, и я пытаюсь проверить, что аргументы, которые я туда передаю, корректны.
Один из аргументов - список, сгенерированный на основе DB queryset, допустим [{"id": 1}, {"id": 13}]
. Функцию не волнует порядок диктов в списке, поэтому она работает одинаково с обратным (перетасованным) списком.

У меня также есть тест для проверки правильности передачи аргументов:

function_mock.assert_called_once_with(
    argument1='some_string',
    argument2='another_string',
    argument3={'some_dict_key': False},
    ...
    my_list=[{"id": 1}, {"id": 13}],
)

Проблема в том, что на разных окружениях queryset выдает записи в разном порядке, в результате чего на одних окружениях получается [{"id": 1}, {"id": 13}], а на других [{"id": 13}, {"id": 1}] (другой порядок). Это приводит к тому, что тесты проходят на одних средах и не проходят на других.

Есть ли способ сообщить mock, что этот аргумент должен рассматриваться как неупорядоченный список?
Что-то похожее на my_list=mock.any_order([{...}, {...}])


P.S. Я знаю о call_args_list, поэтому могу проверять аргументы по одному, и применять set при необходимости, но я хотел бы избежать этого решения, если нет лучшего.

Вернуться на верх