diff --git a/OPI/src/CommonModules/OPI_Slack/Module.bsl b/OPI/src/CommonModules/OPI_Slack/Module.bsl index 13071a5a58..41c0fa5c99 100644 --- a/OPI/src/CommonModules/OPI_Slack/Module.bsl +++ b/OPI/src/CommonModules/OPI_Slack/Module.bsl @@ -65,18 +65,31 @@ // Соответствие Из КлючИЗначение - сериализованный JSON ответа от Slack Функция ПолучитьСписокРабочихОбластей(Знач Токен, Знач Курсор = "") Экспорт - URL = "https://slack.com/api/auth.teams.list"; - Заголовки = ПолучитьЗаголовокАвторизации(Токен); - - Параметры = Новый Структура; - OPI_Инструменты.ДобавитьПоле("cursor", Курсор, "Строка", Параметры); - - Ответ = OPI_Инструменты.Get(URL, Параметры, Заголовки); + URL = "https://slack.com/api/auth.teams.list"; + Ответ = ПолучениеОбщихДанных(Токен, URL, Курсор); Возврат Ответ; КонецФункции +// Получить список пользователей +// Получает список пользователей рабочей области +// +// Параметры: +// Токен - Строка - Токен бота - token +// Курсор - Строка - Указатель из предыдущего запроса, если строк результата > 100 - cursor +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Slack +Функция ПолучитьСписокПользователей(Знач Токен, Знач Курсор = "") Экспорт + + URL = "https://slack.com/api/users.list"; + Ответ = ПолучениеОбщихДанных(Токен, URL, Курсор); + + Возврат Ответ; + +КонецФункции + #КонецОбласти #Область РаботаССообщениями @@ -1001,6 +1014,19 @@ КонецФункции +Функция ПолучениеОбщихДанных(Знач Токен, Знач URL, Знач Курсор) + + Заголовки = ПолучитьЗаголовокАвторизации(Токен); + + Параметры = Новый Структура; + OPI_Инструменты.ДобавитьПоле("cursor", Курсор, "Строка", Параметры); + + Ответ = OPI_Инструменты.Get(URL, Параметры, Заголовки); + + Возврат Ответ; + +КонецФункции + Функция УправлениеВнешнимФайлом(Знач Токен, Знач ИдентификаторФайла, Знач URL) Заголовки = ПолучитьЗаголовокАвторизации(Токен); diff --git a/OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl b/OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl index ce772fc538..59eece4b09 100644 --- a/OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl +++ b/OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl @@ -175,6 +175,7 @@ НовыйТест(ТаблицаТестов, "Ноушн_ПолучитьДанныеПользователя" , "Получить данные пользователя" , Ноушн); НовыйТест(ТаблицаТестов, "Слак_ПолучитьИнформациюОБоте" , "Получить информацию о боте" , Слак); + НовыйТест(ТаблицаТестов, "Слак_ПолучитьСписокПользователей" , "Получить список пользователей" , Слак); НовыйТест(ТаблицаТестов, "Слак_ПолучитьСписокОбластей" , "Получить список областей" , Слак); НовыйТест(ТаблицаТестов, "Слак_ОтправитьУдалитьСообщение" , "Отправить/Удалить сообщение" , Слак); НовыйТест(ТаблицаТестов, "Слак_ОтправитьУдалитьЭфемерное" , "Отправить/Удалить эфемерное" , Слак); diff --git a/OPI/src/CommonModules/OPI_Тесты/Module.bsl b/OPI/src/CommonModules/OPI_Тесты/Module.bsl index 2241ded8c4..2547cec76b 100644 --- a/OPI/src/CommonModules/OPI_Тесты/Module.bsl +++ b/OPI/src/CommonModules/OPI_Тесты/Module.bsl @@ -2843,6 +2843,18 @@ КонецПроцедуры +Процедура Слак_ПолучитьСписокПользователей() Экспорт + + Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token"); + Результат = OPI_Slack.ПолучитьСписокПользователей(Токен); + + // !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокПользователей"); + + Проверка_СлакОк(Результат); + OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["members"]).ИмеетТип("Массив"); + +КонецПроцедуры + Процедура Слак_ПолучитьСписокОбластей() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");