94 lines
4.0 KiB
Lua
94 lines
4.0 KiB
Lua
local json = require('cjson')
|
||
local log = require('utils.log')
|
||
|
||
-- Настройка логирования
|
||
log.outfile = 'logs/tests_user_live_'..os.date('%Y-%m-%d_%H-%M-%S')..'.log'
|
||
log.level = 'trace'
|
||
|
||
log.info("===== СТАРТ ТЕСТИРОВАНИЯ (РЕЖИМ LIVE) =====")
|
||
|
||
-- Подключаем модуль. Настройки подключения берутся из bitrix.api
|
||
local user = require('bitrix.user')
|
||
|
||
-- ID пользователя для тестов. Обычно 1 - это администратор.
|
||
local test_user_id = 1
|
||
|
||
--=== ТЕСТЫ ===--
|
||
|
||
local function test_user_get()
|
||
log.info('--- Тест: Получение пользователя (get) ---')
|
||
local result, error_response = user.get(test_user_id)
|
||
|
||
if result and result.users and result.users[1] then
|
||
local user_data = result.users[1]
|
||
log.info(string.format('Тест получения пользователя: УСПЕШНО. Имя: "%s %s"', user_data.NAME or '', user_data.LAST_NAME or ''))
|
||
else
|
||
log.error('Тест получения пользователя: ПРОВАЛЕНО.')
|
||
log.error('Ответ сервера: ' .. json.encode(result))
|
||
if error_response then
|
||
log.error('Ошибка: ' .. json.encode(error_response))
|
||
end
|
||
end
|
||
end
|
||
|
||
local function test_user_getlist()
|
||
log.info('--- Тест: Листинг пользователей (getlist) ---')
|
||
|
||
-- Фильтр: активные пользователи, у которых есть email
|
||
local filter = {
|
||
ACTIVE = 'Y',
|
||
EMAIL = '%@%'
|
||
}
|
||
|
||
local result_list, error_response = user.getlist({'LAST_NAME', 'NAME'}, filter, {'ID', 'NAME', 'LAST_NAME', 'EMAIL'}, nil, 0)
|
||
|
||
if result_list and result_list.users and #result_list.users > 0 then
|
||
log.info(string.format('Тест листинга пользователей: УСПЕШНО. Найдено пользователей: %d', #result_list.users))
|
||
elseif result_list and result_list.users and #result_list.users == 0 then
|
||
log.warning('Тест листинга пользователей: Пользователи не найдены по фильтру.')
|
||
else
|
||
log.error('Тест листинга пользователей: ПРОВАЛЕНО.')
|
||
if error_response then
|
||
log.error('Ответ сервера: ' .. json.encode(error_response))
|
||
end
|
||
end
|
||
end
|
||
|
||
local function test_user_current()
|
||
log.info('--- Тест: Получение текущего пользователя (current) ---')
|
||
local result, error_response = user.current()
|
||
|
||
if result and result.ID then
|
||
log.info(string.format('Тест текущего пользователя: УСПЕШНО. Вы вошли как: "%s %s"', result.NAME or '', result.LAST_NAME or ''))
|
||
else
|
||
log.error('Тест текущего пользователя: ПРОВАЛЕНО.')
|
||
if error_response then
|
||
log.error('Ответ сервера: ' .. json.encode(error_response))
|
||
end
|
||
end
|
||
end
|
||
|
||
local function test_user_avatar_get()
|
||
log.info('--- Тест: Получение аватара пользователя (avatar.get) ---')
|
||
local result, error_response = user.avatar.get(test_user_id, 'big') -- Получаем большой аватар
|
||
|
||
if result and result.result then
|
||
log.info('Тест получения аватара: УСПЕШНО.')
|
||
-- Результат обычно содержит URL до изображения
|
||
log.debug('URL аватара: ' .. tostring(result.result))
|
||
else
|
||
log.error('Тест получения аватара: ПРОВАЛЕНО.')
|
||
if error_response then
|
||
log.error('Ответ сервера: ' .. json.encode(error_response))
|
||
end
|
||
end
|
||
end
|
||
|
||
|
||
--=== ЗАПУСК ТЕСТОВ ===--
|
||
test_user_get()
|
||
test_user_getlist()
|
||
test_user_current()
|
||
test_user_avatar_get()
|
||
log.info("===== ЗАВЕРШЕНИЕ ТЕСТИРОВАНИЯ =====")
|