Имитация сценария оболочки в тесте Django/DRF

Я пытался сделать тест на методе в представлениях, но этот метод вызывает скрипт-оболочку, этот скрипт написан для работы в другой ОС, так что мне нужно смоделировать это.

здесь тест:

    @patch('check_web_share_file_folder.get_path_from_inode')
    def test_list_with_search_mocked(self, mock_get_attribute):
        mock_get_attribute.return_value = 'expected value'
        request = self.factory.get('/fake-url')
        force_authenticate(request, user=self.user)

        view = WebShareFileFolderViewSet.as_view({'get': 'list'})
        response = view(request)

        self.assertEqual(response.status_code, status.HTTP_200_OK)

здесь проблема, я столкнулся с этой ошибкой при тестировании:

AttributeError: <function check_web_share_file_folder at 0x00000237FD567708> does not have the attribute 'get_path_from_inode'

check_web_share_file_folder.py имеет, конечно, get_path_from_inode()

def get_path_from_inode(inode):
    std, err, code = popen_wrapper([
        'sudo', 'get_path_from_inode.sh',
        str(inode)
    ])
    if code != 0:
        return False
    return str(std.strip())[1:]

Вы уверены, что они находятся в одной папке?

Кроме того, похоже, что python пытается получить 'get_path_from_inode' из функции, а не из модуля 'check_web_share_file_folder.py'

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