91 lines
4.0 KiB
Lua
91 lines
4.0 KiB
Lua
local json = require('cjson')
|
||
local log = require('utils.log')
|
||
local chat = require('bitrix.chat')
|
||
|
||
-- Настройка логирования
|
||
log.outfile = 'logs/tests_chats_live_'..os.date('%Y-%m-%d_%H-%M-%S')..'.log'
|
||
log.level = 'trace'
|
||
log.info("===== СТАРТ ТЕСТИРОВАНИЯ (РЕЖИМ LIVE) =====")
|
||
|
||
-- ID чата для тестов. ЗАМЕНИТЕ на ID существующего чата.
|
||
-- Это может быть ID группы или открытого чата.
|
||
local test_chat_id = 1
|
||
local test_user_id_to_add = 2 -- ID пользователя для теста добавления в чат
|
||
|
||
--=== ТЕСТЫ ===--
|
||
|
||
local function test_chat_get()
|
||
log.info('--- Тест: Получение чата (get) ---')
|
||
local result, error_response = chat.get(test_chat_id)
|
||
|
||
if result and result.id then
|
||
log.info(string.format('Тест получения чата: УСПЕШНО. Название: "%s"', result.name or 'N/A'))
|
||
else
|
||
log.error('Тест получения чата: ПРОВАЛЕНО.')
|
||
log.error('Ответ сервера: ' .. json.encode(result))
|
||
if error_response then log.error(error_response) end
|
||
end
|
||
end
|
||
|
||
local function test_chat_getlist()
|
||
log.info('--- Тест: Листинг чатов (getlist) ---')
|
||
|
||
-- Фильтр: только открытые чаты (тип 'L' - lines/group), созданные недавно.
|
||
local two_days_ago_timestamp = os.time() - 2 * 24 * 3600
|
||
local date_two_days_ago = os.date("%Y-%m-%d", two_days_ago_timestamp)
|
||
|
||
local filter = {
|
||
TYPE = 'L',
|
||
>=DATE_CREATE = date_two_days_ago,
|
||
}
|
||
|
||
local result_list, error_response = chat.getlist({'ID', 'NAME'}, filter, {'ID', 'NAME', 'TYPE'}, nil, 0)
|
||
|
||
if result_list and #result_list > 0 then
|
||
log.info(string.format('Тест листинга чатов: УСПЕШНО. Найдено чатов: %d', #result_list))
|
||
elseif result_list and #result_list == 0 then
|
||
log.warning('Тест листинга чатов: Чаты не найдены по фильтру.')
|
||
else
|
||
log.error('Тест листинга чатов: ПРОВАЛЕНО.')
|
||
if error_response then log.error(error_response) end
|
||
end
|
||
end
|
||
|
||
local function test_chat_message_getList()
|
||
log.info('--- Тест: Получение сообщений чата (message.getList) ---')
|
||
|
||
local result_list, error_response = chat.message.getList(test_chat_id, {'ID'}, {}, 0)
|
||
|
||
if result_list and #result_list > 0 then
|
||
log.info(string.format('Тест получения сообщений: УСПЕШНО. Найдено сообщений: %d', #result_list))
|
||
elseif result_list and #result_list == 0 then
|
||
log.warning('Тест получения сообщений: Сообщений не найдено.')
|
||
else
|
||
log.error('Тест получения сообщений: ПРОВАЛЕНО.')
|
||
if error_response then log.error(error_response) end
|
||
end
|
||
end
|
||
|
||
local function test_chat_message_add()
|
||
log.info('--- Тест: Отправка сообщения в чат (message.add) ---')
|
||
|
||
local new_message_text = 'Привет! Это тестовое сообщение от Lua SDK.'
|
||
local result, error_response = chat.message.add(test_chat_id, new_message_text)
|
||
|
||
if result and result.id then
|
||
log.info(string.format('Тест отправки сообщения: УСПЕШНО. ID сообщения: %s', tostring(result.id)))
|
||
else
|
||
log.error('Тест отправки сообщения: ПРОВАЛЕНО.')
|
||
log.error('Ответ сервера: ' .. json.encode(result))
|
||
if error_response then log.error(error_response) end
|
||
end
|
||
end
|
||
|
||
|
||
--=== ЗАПУСК ТЕСТОВ ===--
|
||
test_chat_get()
|
||
test_chat_getlist()
|
||
test_chat_message_getList()
|
||
test_chat_message_add() -- <-- ВНИМАНИЕ! Этот тест отправит сообщение в чат!
|
||
log.info("===== ЗАВЕРШЕНИЕ ТЕСТИРОВАНИЯ =====")
|