1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-10-30 23:47:46 +02:00
Files
OpenIntegrations/src/ru/OInt/tools/Modules/OPI_ПолучениеДанныхТестов.os
Vitaly the Alpaca (bot) 8175103292 Main build (Jenkins)
2025-01-04 15:23:00 +03:00

2379 lines
128 KiB
Plaintext
Vendored

// OneScript: ./OInt/tools/Modules/OPI_ПолучениеДанныхТестов.os
// MIT License
// Copyright (c) 2023 Anton Tsitavets
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
// https://github.com/Bayselonarrend/OpenIntegrations
// BSLLS:LatinAndCyrillicSymbolInWord-off
// BSLLS:IncorrectLineBreak-off
// BSLLS:UsingHardcodePath-off
// BSLLS:Typo-off
// BSLLS:DeprecatedMessage-off
// BSLLS:UsingServiceTag-off
// BSLLS:ExecuteExternalCodeInCommonModule-off
// BSLLS:DuplicateStringLiteral-off
// BSLLS:MagicNumber-off
//@skip-check use-non-recommended-method
//@skip-check module-structure-top-region
//@skip-check module-structure-method-in-regions
//@skip-check undefined-function-or-procedure
//@skip-check wrong-string-literal-content
// Раскомментировать, если выполняется OneScript
#Использовать "./internal"
#Использовать asserts
#Область СлужебныйПрограммныйИнтерфейс
Функция ПолучитьСоответствиеРазделовТестирования() Экспорт
Разделы = Новый Структура;
Разделы.Вставить("Telegram" , 5);
Разделы.Вставить("VK" , 5);
Разделы.Вставить("Viber" , 5);
Разделы.Вставить("Twitter" , 4);
Разделы.Вставить("SQLite" , 5);
Разделы.Вставить("YandexDisk" , 5);
Разделы.Вставить("GoogleWorkspace", 2);
Разделы.Вставить("GoogleCalendar" , 5);
Разделы.Вставить("GoogleDrive" , 5);
Разделы.Вставить("GoogleSheets" , 5);
Разделы.Вставить("Notion" , 5);
Разделы.Вставить("Slack" , 5);
Разделы.Вставить("Airtable" , 5);
Разделы.Вставить("Dropbox" , 5);
Разделы.Вставить("Bitrix24" , 5);
Разделы.Вставить("VkTeams" , 5);
Разделы.Вставить("Ozon" , 5);
Разделы.Вставить("Neocities" , 5);
Разделы.Вставить("CDEK" , 5);
Разделы.Вставить("YandexMetrika" , 5);
Разделы.Вставить("S3" , 5);
Разделы.Вставить("TCP" , 5);
Возврат Разделы;
КонецФункции
Функция ПолучитьСоответствиеРазделовТестированияGA() Экспорт
СтандартныеЗависимости = "[Decode, Build]";
ЗависимостиГугл = "Testing-GoogleWorkspace";
Разделы = Новый Структура;
Разделы.Вставить("Telegram" , СтандартныеЗависимости);
Разделы.Вставить("VK" , СтандартныеЗависимости);
Разделы.Вставить("Viber" , СтандартныеЗависимости);
Разделы.Вставить("Twitter" , СтандартныеЗависимости);
Разделы.Вставить("SQLite" , СтандартныеЗависимости);
Разделы.Вставить("YandexDisk" , СтандартныеЗависимости);
Разделы.Вставить("GoogleWorkspace", СтандартныеЗависимости);
Разделы.Вставить("GoogleCalendar" , ЗависимостиГугл);
Разделы.Вставить("GoogleDrive" , ЗависимостиГугл);
Разделы.Вставить("GoogleSheets" , ЗависимостиГугл);
Разделы.Вставить("Notion" , СтандартныеЗависимости);
Разделы.Вставить("Slack" , СтандартныеЗависимости);
Разделы.Вставить("Airtable" , СтандартныеЗависимости);
Разделы.Вставить("Dropbox" , СтандартныеЗависимости);
Разделы.Вставить("Bitrix24" , СтандартныеЗависимости);
Разделы.Вставить("VkTeams" , СтандартныеЗависимости);
Разделы.Вставить("Ozon" , СтандартныеЗависимости);
Разделы.Вставить("Neocities" , СтандартныеЗависимости);
Разделы.Вставить("CDEK" , СтандартныеЗависимости);
Разделы.Вставить("YandexMetrika" , СтандартныеЗависимости);
Разделы.Вставить("S3" , СтандартныеЗависимости);
Разделы.Вставить("TCP" , СтандартныеЗависимости);
Возврат Разделы;
КонецФункции
Функция ПолучитьТаблицуТестов() Экспорт
Телеграм = "Telegram";
ВКонтакте = "VK";
ЯДиск = "YandexDisk";
Календарь = "GoogleCalendar";
Твиттер = "Twitter";
Вайбер = "Viber";
Драйв = "GoogleDrive";
ВСпейс = "GoogleWorkspace";
Ноушн = "Notion";
Слак = "Slack";
Таблицы = "GoogleSheets";
АирТ = "Airtable";
ДропБокс = "Dropbox";
Битрикс = "Bitrix24";
ВКТ = "VkTeams";
Озон = "Ozon";
Неоситиз = "Neocities";
Сдэк = "CDEK";
Метрика = "YandexMetrika";
S3_ = "S3";
TCP = "TCP";
SQLite = "SQLite";
ТаблицаТестов = Новый ТаблицаЗначений;
ТаблицаТестов.Колонки.Добавить("Метод");
ТаблицаТестов.Колонки.Добавить("Синоним");
ТаблицаТестов.Колонки.Добавить("Раздел");
НовыйТест(ТаблицаТестов, "Телеграм_ПолучитьИнформациюБота" , "Получить информацию бота" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ПолучитьОбновления" , "Получить обновления" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_УстановитьWebhook" , "Установить Webhook" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьТекстовоеСообщение" , "Отправить текстовое сообщение" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьКартинку" , "Отправить картинку" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьВидео" , "Отправить видео" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьАудио" , "Отправить аудио" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьДокумент" , "Отправить документ" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьГифку" , "Отправить гифку" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьМедиагруппу" , "Отправить медиагруппу" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьМестоположение" , "Отправить местоположение" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьКонтакт" , "Отправить контакт" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьОпрос" , "Отправить опрос" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ПереслатьСообщение" , "Переслать сообщение" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_БанРазбан" , "Бан/Разбан" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_СоздатьСсылкуПриглашение" , "Создать ссылку-приглашение" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ЗакрепитьОткрепитьСообщение" , "Закрепить/Открепить сообщение" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ПолучитьЧислоУчастников" , "Получить число участников" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ПолучитьСписокАватаровФорума", "Получить список аватаров форума", Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_СоздатьУдалитьТемуФорума" , "Создать/Удалить тему форума" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ИзменитьИмяГлавнойТемы" , "Изменить имя главной темы" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_СкрытьПоказатьГлавнуюТему" , "Скрыть/Показать главную тему" , Телеграм);
НовыйТест(ТаблицаТестов, "ВК_СоздатьСсылкуТокена" , "Создать ссылку получения токена", ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_СоздатьУдалитьПост" , "Создать/Удалить пост" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_СоздатьСоставнойПост" , "Создать/Удалить составной пост" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_СоздатьОпрос" , "Создать опрос" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_СохранитьУдалитьКартинку" , "Добавить/Удалить картинку" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_СоздатьИсторию" , "Создать историю" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_МетодыОбсуждений" , "Действия с обсуждениями" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_ЛайкРепостКоммент" , "Лайк/Репост/Комментарий" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_ПолучитьСтатистику" , "Получить статистику" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_ПолучитьСтатистикуПостов" , "Получить статистику постов" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_СоздатьРекламнуюКампанию" , "Создать рекламную кампанию" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_ОтправитьСообщение" , "Отправить сообщение" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_ПолучитьКатегорииТоваров" , "Получить категории товаров" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_СоздатьТоварПодборку" , "Создать товар и подборку" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_СоздатьТоварСоСвойствами" , "Создать товар со свойствами" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_ПолучитьСписокТоваров" , "Получить список товаров" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_ПолучитьСписокПодборок" , "Получить список подборок" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_ПолучитьСписокСвойств" , "Получить список свойств" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_ПолучитьСписокЗаказов" , "Получить список заказов" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_ЗагрузитьВидео" , "Загрузить видео" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ЯДиск_ПолучитьИнформациюОДиске" , "Получить информацию о диске" , ЯДиск);
НовыйТест(ТаблицаТестов, "ЯДиск_СоздатьПапку" , "Создать папку" , ЯДиск);
НовыйТест(ТаблицаТестов, "ЯДиск_ЗагрузитьПоАдресуПолучитьОбъект", "Загрузить по URL и получить" , ЯДиск);
НовыйТест(ТаблицаТестов, "ЯДиск_ЗагрузитьУдалитьФайл" , "Загрузить/Удалить файл" , ЯДиск);
НовыйТест(ТаблицаТестов, "ЯДиск_СоздатьКопиюОбъекта" , "Создать копию объекта" , ЯДиск);
НовыйТест(ТаблицаТестов, "ЯДиск_ПолучитьСсылкуНаСкачивание" , "Получить ссылку на скачивание" , ЯДиск);
НовыйТест(ТаблицаТестов, "ЯДиск_ПолучитьСписокФайлов" , "Получить список файлов" , ЯДиск);
НовыйТест(ТаблицаТестов, "ЯДиск_ПереместитьОбъект" , "Переместить объект" , ЯДиск);
НовыйТест(ТаблицаТестов, "ЯДиск_ДействияПубличныхОбъектов" , "Действия с публичными объектами", ЯДиск);
НовыйТест(ТаблицаТестов, "ЯДиск_ПолучитьСписокОпубликованных" , "Получить список опубликованных" , ЯДиск);
НовыйТест(ТаблицаТестов, "ГВ_Авторизация" , "Авторизация" , ВСпейс);
НовыйТест(ТаблицаТестов, "ГВ_Авторизация" , "Авторизация" , Календарь);
НовыйТест(ТаблицаТестов, "ГК_ПолучитьСписокКалендарей" , "Получить список календарей" , Календарь);
НовыйТест(ТаблицаТестов, "ГК_СоздатьУдалитьКалендарь" , "Создать/Удалить календарь" , Календарь);
НовыйТест(ТаблицаТестов, "ГК_СоздатьУдалитьСобытие" , "Создать/Удалить событие" , Календарь);
НовыйТест(ТаблицаТестов, "ГВ_Авторизация" , "Авторизация" , Драйв);
НовыйТест(ТаблицаТестов, "ГД_ПолучитьСписокКаталогов" , "Получить список каталогов" , Драйв);
НовыйТест(ТаблицаТестов, "ГД_ЗагрузитьУдалитьФайл" , "Загрузить/Удалить Файл" , Драйв);
НовыйТест(ТаблицаТестов, "ГД_СоздатьУдалитьКомментарий" , "Создать/Удалить кооментарий" , Драйв);
НовыйТест(ТаблицаТестов, "ГД_СоздатьКаталог" , "Создать/Удалить каталог" , Драйв);
НовыйТест(ТаблицаТестов, "ГВ_Авторизация" , "Авторизация" , Таблицы);
НовыйТест(ТаблицаТестов, "ГТ_СоздатьТаблицу" , "Создать таблицу" , Таблицы);
НовыйТест(ТаблицаТестов, "ГТ_ЗаполнитьОчиститьЯчейки" , "Заполнить/Очистить ячейки" , Таблицы);
НовыйТест(ТаблицаТестов, "Твиттер_ДанныеАккаунта" , "Данные аккаунта" , Твиттер);
НовыйТест(ТаблицаТестов, "Твиттер_Твиты" , "Создание твитов" , Твиттер);
НовыйТест(ТаблицаТестов, "Вайбер_ПолучениеИнформации" , "Получение информации" , Вайбер);
НовыйТест(ТаблицаТестов, "Вайбер_ОтправкаСообщений" , "Отправка сообщений" , Вайбер);
НовыйТест(ТаблицаТестов, "НоушнАпи_СоздатьСтраницу" , "Создать страницу" , Ноушн);
НовыйТест(ТаблицаТестов, "НоушнАпи_СоздатьИзменитьБазу" , "Создать/Изменить базу" , Ноушн);
НовыйТест(ТаблицаТестов, "НоушнАпи_СоздатьУдалитьБлок" , "Создать/Удалить блок" , Ноушн);
НовыйТест(ТаблицаТестов, "НоушнАпи_ПолучитьПользователей" , "Получить пользователей" , Ноушн);
НовыйТест(ТаблицаТестов, "Слак_ПолучитьИнформацию" , "Получить информацию" , Слак);
НовыйТест(ТаблицаТестов, "Слак_ОтправитьУдалитьСообщение" , "Отправить/Удалить сообщение" , Слак);
НовыйТест(ТаблицаТестов, "Слак_СоздатьАрхивироватьКанал" , "Создать/Архивировать канал" , Слак);
НовыйТест(ТаблицаТестов, "Слак_ОткрытьЗакрытьДиалог" , "Открыть/Закрыть диалог" , Слак);
НовыйТест(ТаблицаТестов, "Слак_ЗагрузитьУдалитьФайл" , "Загрузить/Удалить файл" , Слак);
НовыйТест(ТаблицаТестов, "Слак_ЗагрузитьУдалитьВФ" , "Загрузить/Удалить внеш. файл" , Слак);
НовыйТест(ТаблицаТестов, "АТ_СоздатьБазу" , "Создать/Изменить базу" , АирТ);
НовыйТест(ТаблицаТестов, "АТ_СоздатьТаблицу" , "Создать/Изменить таблицу" , АирТ);
НовыйТест(ТаблицаТестов, "АТ_СоздатьПоле" , "Создать/Изменить поле" , АирТ);
НовыйТест(ТаблицаТестов, "АТ_СоздатьУдалитьЗаписи" , "Создать/Удалить записи" , АирТ);
НовыйТест(ТаблицаТестов, "ДропБокс_ПолучитьОбновитьТокен" , "Получить/Обновить токен" , ДропБокс);
НовыйТест(ТаблицаТестов, "ДропБокс_ЗагрузитьФайл" , "Загрузить файл" , ДропБокс);
НовыйТест(ТаблицаТестов, "ДропБокс_ЗагрузитьФайлПоURL" , "Загрузить файл по URL" , ДропБокс);
НовыйТест(ТаблицаТестов, "ДропБокс_СоздатьКаталог" , "Создать каталог" , ДропБокс);
НовыйТест(ТаблицаТестов, "ДропБокс_СоздатьУдалитьТег" , "Создать/Удалить тег" , ДропБокс);
НовыйТест(ТаблицаТестов, "ДропБокс_ПолучитьАккаунт" , "Получить данные аккаунта" , ДропБокс);
НовыйТест(ТаблицаТестов, "ДропБокс_РаботаСДоступами" , "Работа с доступами" , ДропБокс);
НовыйТест(ТаблицаТестов, "ДропБокс_ПолучитьСписокФайловПапки" , "Получить список файлов папки" , ДропБокс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСТокеном" , "Работа с токеном" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_СерверноеВремя" , "Серверное время" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСНовостями" , "Работа с новостями" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСЗадачами" , "Работа с задачами" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСКомментариями" , "Работа с комментариями" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСДиском" , "Работа с диском" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_Канбан" , "Канбан" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_УчетРабочегоВремени" , "Учет рабочего времени" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСЧатами" , "Работа с чатами" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСУведомлениями" , "Работа с уведомлениями" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСПолямиЗадач" , "Работа с польз. полями задач" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_УправлениеПодразделениями" , "Управление подразделениями" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_УправлениеПользователями" , "Управление пользователями" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСЛидами" , "Работа с лидами" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСоСделками" , "Работа со сделками" , Битрикс);
НовыйТест(ТаблицаТестов, "ВКТ_ОтправкаСообщений" , "Отправка сообщений" , ВКТ);
НовыйТест(ТаблицаТестов, "ВКТ_ОбщиеМетоды" , "Общие методы" , ВКТ);
НовыйТест(ТаблицаТестов, "ВКТ_УправлениеЧатами" , "Управление чатами" , ВКТ);
НовыйТест(ТаблицаТестов, "ОзонАПИ_АтрибутыИХарактеристики" , "Атрибуты и характеристики" , Озон);
НовыйТест(ТаблицаТестов, "ОзонАПИ_ЗагрузкаИОбновлениеТоваров" , "Загрузка и обновление товаров" , Озон);
НовыйТест(ТаблицаТестов, "ОзонАПИ_Штрихкоды" , "Штрихкоды" , Озон);
НовыйТест(ТаблицаТестов, "ОзонАПИ_ЦеныИОстаткиТоваров" , "Цены и остатки товаров" , Озон);
НовыйТест(ТаблицаТестов, "ОзонАПИ_РаботаСАкциями" , "Работа с акциями" , Озон);
НовыйТест(ТаблицаТестов, "ОзонАПИ_РаботаСоСкладами" , "Работа со складами" , Озон);
НовыйТест(ТаблицаТестов, "ОзонАПИ_СхемаFBO" , "Схема FBO" , Озон);
НовыйТест(ТаблицаТестов, "НС_РаботаСФайлами" , "Работа с файлами" , Неоситиз);
НовыйТест(ТаблицаТестов, "НС_ПолучениеДанных" , "Получение данных" , Неоситиз);
НовыйТест(ТаблицаТестов, "СдэкАПИ_ОбщиеМетоды" , "Общие методы" , Сдэк);
НовыйТест(ТаблицаТестов, "СдэкАПИ_РаботаСЗаказами" , "Работа с заказами" , Сдэк);
НовыйТест(ТаблицаТестов, "СдэкАПИ_РаботаСЗаявкамиНаВызовКурьера", "Работа с заявками курьера" , Сдэк);
НовыйТест(ТаблицаТестов, "ЯМетрика_УправлениеМетками" , "Управление метками" , Метрика);
НовыйТест(ТаблицаТестов, "ЯМетрика_УправлениеСчетчиками" , "Управление счетчиками" , Метрика);
НовыйТест(ТаблицаТестов, "ЯМетрика_УправлениеОперациями" , "Управление операциями" , Метрика);
НовыйТест(ТаблицаТестов, "AWS_ОбщиеМетоды" , "Общие методы" , S3_);
НовыйТест(ТаблицаТестов, "AWS_РаботаСБакетами" , "Работа с бакетами" , S3_);
НовыйТест(ТаблицаТестов, "AWS_РаботаСОбъектами" , "Работа с объектами" , S3_);
НовыйТест(ТаблицаТестов, "TC_Клиент" , "TCP Клиент" , TCP);
НовыйТест(ТаблицаТестов, "SQLL_ОсновныеМетоды" , "Основные методы" , SQLite);
НовыйТест(ТаблицаТестов, "SQLL_ORM" , "ORM" , SQLite);
Возврат ТаблицаТестов;
КонецФункции
Функция ОжидаетЧто(Значение) Экспорт
Попытка
Модуль = ПолучитьОбщийМодуль("ЮТест");
Ожидаем = ТипЗнч(Модуль) = Тип("ОбщийМодуль");
Возврат Модуль.ОжидаетЧто(Значение);
Исключение
Возврат Ожидаем.Что(Значение);
КонецПопытки;
КонецФункции
Функция СформироватьТестыЯкс() Экспорт
Модуль = ПолучитьОбщийМодуль("ЮТТесты");
Разделы = ПолучитьСоответствиеРазделовТестирования();
ТаблицаТестов = ПолучитьТаблицуТестов();
Для Каждого Раздел Из Разделы Цикл
ТекущийРаздел = Раздел.Ключ;
Отбор = Новый Структура("Раздел", ТекущийРаздел);
ТестыРаздела = ТаблицаТестов.НайтиСтроки(Отбор);
Набор = Модуль.ДобавитьТестовыйНабор(ТекущийРаздел);
Для Каждого Тест Из ТестыРаздела Цикл
Набор.ДобавитьСерверныйТест(Тест.Метод, Тест.Синоним);
КонецЦикла;
КонецЦикла;
Возврат "";
КонецФункции
Функция СформироватьТестыЯксCLI() Экспорт
Модуль = ПолучитьОбщийМодуль("ЮТТесты");
Разделы = ПолучитьСоответствиеРазделовТестирования();
ТаблицаТестов = ПолучитьТаблицуТестов();
Для Каждого Раздел Из Разделы Цикл
ТекущийРаздел = Раздел.Ключ;
Отбор = Новый Структура("Раздел", ТекущийРаздел);
ТестыРаздела = ТаблицаТестов.НайтиСтроки(Отбор);
Набор = Модуль.ДобавитьТестовыйНабор("CLI_" + ТекущийРаздел);
Для Каждого Тест Из ТестыРаздела Цикл
Набор.ДобавитьСерверныйТест("CLI_" + Тест.Метод, Тест.Синоним);
КонецЦикла;
КонецЦикла;
Возврат "";
КонецФункции
Функция СформироватьТестыАссертс() Экспорт
ТаблицаТестов = ПолучитьТаблицуТестов();
МассивТестов = Новый Массив;
Для Каждого Тест Из ТаблицаТестов Цикл
МассивТестов.Добавить(Тест.Метод);
КонецЦикла;
Возврат МассивТестов;
КонецФункции
Функция СформироватьТестыАссертсCLI() Экспорт
ТаблицаТестов = ПолучитьТаблицуТестов();
МассивТестов = Новый Массив;
Для Каждого Тест Из ТаблицаТестов Цикл
МассивТестов.Добавить("CLI_" + Тест.Метод);
КонецЦикла;
Возврат МассивТестов;
КонецФункции
Функция ПолучитьПараметр(Параметр) Экспорт
Путь = ПутьКФайлуДанных();
Возврат ПолучитьЗначениеИзФайла(Параметр, Путь);
КонецФункции
Функция ПолучитьДвоичные(Параметр) Экспорт
Путь = ПутьКФайлуДанных();
Значение = ПолучитьЗначениеИзФайла(Параметр, Путь);
Если ТипЗнч(Значение) = Тип("Строка") Тогда
Значение = ПолучитьФайлПути(Значение);
КонецЕсли;
Возврат Значение;
КонецФункции
Функция ПолучитьФайлПути(Знач Путь) Экспорт
Если СтрНайти(Путь, "http") > 0 Или СтрНайти(Путь, "www") > 0 Тогда
ИВФ = ПолучитьИмяВременногоФайла();
КопироватьФайл(Путь, ИВФ);
Путь = ИВФ;
Двоичные = Новый ДвоичныеДанные(Путь);
УдалитьФайлы(ИВФ);
Иначе
Двоичные = Новый ДвоичныеДанные(Путь);
КонецЕсли;
Возврат Двоичные;
КонецФункции
Процедура ПараметрВКоллекцию(Параметр, Коллекция) Экспорт
Значение = ПолучитьПараметр(Параметр);
Коллекция.Вставить(Параметр, Значение);
КонецПроцедуры
Процедура ДвоичныеВКоллекцию(Параметр, Коллекция) Экспорт
Значение = ПолучитьДвоичные(Параметр);
Коллекция.Вставить(Параметр, Значение);
КонецПроцедуры
Процедура ЗаписатьПараметр(Параметр, Значение) Экспорт
Путь = ПутьКФайлуДанных();
ЗаписатьПараметрВФайл(Параметр, Значение, Путь);
КонецПроцедуры
Процедура ЗаписатьЛог(Знач Результат, Знач Метод, Знач Библиотека = "") Экспорт
Шапка = Строка(OPI_Инструменты.ПолучитьТекущуюДату()) + " | " + Метод;
Попытка
Данные = OPI_Инструменты.JSONСтрокой(Результат);
Исключение
Данные = "Не JSON: " + Строка(Результат);
КонецПопытки;
Данные = " " + Данные;
Сообщить(Шапка);
Сообщить(Символы.ПС);
Сообщить(Данные);
Сообщить(Символы.ПС);
Сообщить("---------------------------------");
Сообщить(Символы.ПС);
Если ЗначениеЗаполнено(Библиотека) Тогда
Попытка
Библиотека = Новый ЗащищенноеСоединениеOpenSSL; // Проверка на работу в 1С
Исключение
ЗаписатьФайлЛога(Данные, Метод, Библиотека);
КонецПопытки;
КонецЕсли;
КонецПроцедуры
Процедура ЗаписатьФайлЛога(Знач Данные, Знач Метод, Знач Библиотека, Знач Принудительно = Ложь) Экспорт
Попытка
ПутьЛогов = "./docs/ru/results";
ПутьЛоговБиблиотеки = ПутьЛогов + "/" + Библиотека;
КаталогЛогов = Новый Файл(ПутьЛогов);
Если Не КаталогЛогов.Существует() Тогда
СоздатьКаталог(ПутьЛогов);
КонецЕсли;
КаталогЛоговБиблиотеки = Новый Файл(ПутьЛоговБиблиотеки);
Если Не КаталогЛоговБиблиотеки.Существует() Тогда
СоздатьКаталог(ПутьЛоговБиблиотеки);
КонецЕсли;
ПутьКФайлу = ПутьЛоговБиблиотеки + "/" + Метод + ".log";
ФайлЛога = Новый Файл(ПутьКФайлу);
Если Не ФайлЛога.Существует() Или Принудительно Тогда
ДокументЛога = Новый ТекстовыйДокумент;
ДокументЛога.УстановитьТекст(Данные);
ДокументЛога.Записать(ПутьКФайлу);
КонецЕсли;
Исключение
Сообщить("Не удалось записать файл лога!: " + ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры
Процедура ЗаписатьЛогCLI(Знач Результат, Знач Метод, Знач Библиотека = "") Экспорт
ЗаписатьЛог(Результат, Метод + " (CLI)");
КонецПроцедуры
Функция ВыполнитьТестCLI(Знач Библиотека, Знач Метод, Знач Опции) Экспорт
Если OPI_Инструменты.ЭтоWindows() Тогда
Oint = """C:/Program Files/OneScript/bin/oint.bat""";
Иначе
Oint = "sudo oint";
КонецЕсли;
ФайлРезультата = ПолучитьИмяВременногоФайла();
СтрокаЗапуска = Oint + " " + Библиотека + " " + Метод;
Для Каждого Опция Из Опции Цикл
ТекущееЗначение = ПолучитьЗначениеДляCLI(Опция.Значение);
СтрокаЗапуска = СтрокаЗапуска
+ " --"
+ Опция.Ключ
+ " "
+ ТекущееЗначение;
КонецЦикла;
ЗапуститьПриложение(СтрокаЗапуска + " --out """ + ФайлРезультата + """", , Истина);
Попытка
ЧтениеJSON = Новый ЧтениеJSON();
ЧтениеJSON.ОткрытьФайл(ФайлРезультата);
Результат = ПрочитатьJSON(ЧтениеJSON, Истина);
ЧтениеJSON.Закрыть();
Исключение
Сообщить(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
Попытка
Результат = Новый ДвоичныеДанные(ФайлРезультата);
Исключение
Результат = null;
КонецПопытки;
КонецПопытки;
ЗаписатьВызовCLI(Библиотека, Метод, Опции);
Попытка
УдалитьФайлы(ФайлРезультата);
Исключение
Сообщить("Не удалось удалить временный файл после теста!");
КонецПопытки;
Возврат Результат;
КонецФункции
#Область Проверки
Процедура Проверка_Пусто(Знач Результат) Экспорт
Если Не нРег(Строка(Результат)) = "null" Тогда
ОжидаетЧто(ЗначениеЗаполнено(Результат)).Равно(Ложь);
КонецЕсли;
КонецПроцедуры
Процедура Проверка_Строка(Знач Результат, Знач ОбъектСравнения = "") Экспорт
ОжидаетЧто(Результат).ИмеетТип("Строка");
Если ЗначениеЗаполнено(ОбъектСравнения) Тогда
ОжидаетЧто(Результат).Равно(ОбъектСравнения);
КонецЕсли;
КонецПроцедуры
Процедура Проверка_ДвоичныеДанные(Знач Результат, Знач Размер = Неопределено) Экспорт
МинимальныйРазмер = 500000;
ОжидаетЧто(Результат).ИмеетТип("ДвоичныеДанные");
Если Не Размер = Неопределено Тогда
ОжидаетЧто(Результат.Размер() >= Размер).Равно(Истина);
Иначе
ОжидаетЧто(Результат.Размер() > МинимальныйРазмер).Равно(Истина);
КонецЕсли;
КонецПроцедуры
Процедура Проверка_Массив(Знач Результат, Знач Количество = Неопределено) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Массив");
Если Не Количество = Неопределено Тогда
ОжидаетЧто(Результат).ИмеетДлину(Количество);
КонецЕсли;
КонецПроцедуры
Процедура Проверка_Соответствие(Знач Результат, Знач Заполненность = Истина) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие");
Если Заполненность Тогда
ОжидаетЧто(Результат).Заполнено();
Иначе
ОжидаетЧто(ЗначениеЗаполнено(Результат)).Равно(Ложь);
КонецЕсли;
КонецПроцедуры
Процедура Проверка_Структура(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Структура").Заполнено();
КонецПроцедуры
Процедура Проверка_Заполнено(Знач Результат) Экспорт
ОжидаетЧто(ЗначениеЗаполнено(Результат)).Равно(Истина);
КонецПроцедуры
Процедура Проверка_Истина(Знач Результат) Экспорт
ОжидаетЧто(Результат).Равно(Истина);
КонецПроцедуры
Процедура Проверка_ТелеграмИстина(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["ok"]).Равно(Истина);
ОжидаетЧто(Результат["result"]).Равно(Истина);
КонецПроцедуры
Процедура Проверка_ТелеграмИнформацияБота(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["ok"]).Равно(Истина);
ОжидаетЧто(Результат["result"]["username"]).Заполнено();
КонецПроцедуры
Процедура Проверка_ТелеграмМассив(Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие") .Заполнено();
ОжидаетЧто(Результат["ok"]).Равно(Истина);
ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_ТелеграмУстановкаВебхук(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["ok"]).Равно(Истина);
ОжидаетЧто(Результат["result"]).Равно(Истина);
ОжидаетЧто(Результат["description"]).Равно("Webhook was set");
КонецПроцедуры
Процедура Проверка_ТелеграмУдалениеВебхук(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["ok"]).Равно(Истина);
ОжидаетЧто(Результат["result"]).Равно(Истина);
ОжидаетЧто(Результат["description"]).Заполнено();
КонецПроцедуры
Процедура Проверка_ТелеграмСообщение(Знач Результат, Знач Текст) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["ok"]).Равно(Истина);
ОжидаетЧто(Результат["result"]["text"]).Равно(Текст);
КонецПроцедуры
Процедура Проверка_ТелеграмКартинка(Знач Результат, Знач Текст) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие") .Заполнено();
ОжидаетЧто(Результат["ok"]).Равно(Истина);
ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст);
ОжидаетЧто(Результат["result"]["photo"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_ТелеграмВидео(Знач Результат, Знач Текст) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["ok"]).Равно(Истина);
ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст);
ОжидаетЧто(Результат["result"]["video"]["mime_type"]).Равно("video/mp4");
КонецПроцедуры
Процедура Проверка_ТелеграмАудио(Знач Результат, Знач Текст) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["ok"]).Равно(Истина);
ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст);
ОжидаетЧто(Результат["result"]["audio"]["mime_type"]).Равно("audio/mpeg");
КонецПроцедуры
Процедура Проверка_ТелеграмДокумент(Знач Результат, Знач Текст) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["ok"]).Равно(Истина);
ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст);
ОжидаетЧто(Результат["result"]["document"]).ИмеетТип("Соответствие").Заполнено();
КонецПроцедуры
Процедура Проверка_ТелеграмГифка(Знач Результат, Знач Текст) Экспорт
Result_ = "result";
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["ok"]).Равно(Истина);
ОжидаетЧто(Результат[Result_]["caption"]).Равно(Текст);
ОжидаетЧто(Результат[Result_]["document"]).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат[Result_]["animation"]["mime_type"]).Равно("video/mp4");
КонецПроцедуры
Процедура Проверка_ТелеграмМедиагруппа(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["ok"]).Равно(Истина);
ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_ТелеграмМестоположение(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["ok"]).Равно(Истина);
ОжидаетЧто(Результат["result"]["location"]).ИмеетТип("Соответствие").Заполнено();
КонецПроцедуры
Процедура Проверка_ТелеграмКонтакт(Знач Результат, Знач Имя) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["ok"]).Равно(Истина);
ОжидаетЧто(Результат["result"]["contact"]).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["result"]["contact"]["first_name"]).Равно(Имя);
КонецПроцедуры
Процедура Проверка_ТелеграмОпрос(Знач Результат, Знач Вопрос) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["ok"]).Равно(Истина);
ОжидаетЧто(Результат["result"]["poll"]).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["result"]["poll"]["question"]).Равно(Вопрос);
КонецПроцедуры
Процедура Проверка_ТелеграмПереслать(Знач Результат, Знач IDСообщения) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["ok"]).Равно(Истина);
ОжидаетЧто(Результат["result"]["forward_origin"]["message_id"]).Равно(Число(IDСообщения));
КонецПроцедуры
Процедура Проверка_ТелеграмБан(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["description"]).Равно("Bad Request: can't remove chat owner");
КонецПроцедуры
Процедура Проверка_ТелеграмПриглашение(Знач Результат, Знач Заголовок, Знач UnixИстечение) Экспорт
Result_ = "result";
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["ok"]).Равно(Истина);
ОжидаетЧто(Результат[Result_]["member_limit"]).Равно(200);
ОжидаетЧто(Результат[Result_]["name"]).Равно(Заголовок);
ОжидаетЧто(Результат[Result_]["expire_date"]).Равно(Число(UnixИстечение));
КонецПроцедуры
Процедура Проверка_ТелеграмЧисло(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["ok"]).Равно(Истина);
ОжидаетЧто(Результат["result"]).ИмеетТип("Число");
КонецПроцедуры
Процедура Проверка_ТелеграмОк(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["ok"]).Равно(Истина);
КонецПроцедуры
Процедура Проверка_ТелеграмСозданиеТемы(Знач Результат, Знач Имя, Иконка) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["ok"]).Равно(Истина);
ОжидаетЧто(Результат["result"]["name"]).Равно(Имя);
ОжидаетЧто(Результат["result"]["icon_custom_emoji_id"]).Равно(Иконка);
КонецПроцедуры
Процедура Проверка_ВКПост(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["response"]["post_id"]).ИмеетТип("Число").Заполнено();
КонецПроцедуры
Процедура Проверка_ВКИстина(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["response"]).ИмеетТип("Число").Равно(1);
КонецПроцедуры
Процедура Проверка_ВКЭлементы(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["response"]["items"]).ИмеетТип("Массив").Заполнено();
КонецПроцедуры
Процедура Проверка_ВКАльбом(Знач Результат, Знач Описание) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["response"]["description"]).Равно(Описание);
КонецПроцедуры
Процедура Проверка_ВККартинкаАльбома(Знач Результат, Знач ОписаниеКартинки, Знач ИДАльбома = "") Экспорт
Response = "response";
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат[Response][0]["text"]).Равно(ОписаниеКартинки);
Если ЗначениеЗаполнено(ИДАльбома) Тогда
ОжидаетЧто(Результат[Response][0]["album_id"]).Равно(ИДАльбома);
Иначе
ОжидаетЧто(Результат[Response][0]["album_id"]).Заполнено();
КонецЕсли;
КонецПроцедуры
Процедура Проверка_ВКИстория(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["response"]["count"]).ИмеетТип("Число").Равно(1);
ОжидаетЧто(Результат["response"]["items"]).ИмеетТип("Массив").Заполнено();
КонецПроцедуры
Процедура Проверка_ВКОбсуждение(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["response"]).ИмеетТип("Число").Заполнено();
КонецПроцедуры
Процедура Проверка_ВКЛайк(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["response"]["likes"]).ИмеетТип("Число").Заполнено();
КонецПроцедуры
Процедура Проверка_ВКРепост(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["response"]["success"]).ИмеетТип("Число").Равно(1);
ОжидаетЧто(Результат["response"]["wall_repost_count"]).ИмеетТип("Число").Равно(1);
КонецПроцедуры
Процедура Проверка_ВККомментарий(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["response"]["comment_id"]).ИмеетТип("Число").Заполнено();
КонецПроцедуры
Процедура Проверка_ВКСтатистика(Знач Результат) Экспорт
ТипСоответствие = "Соответствие";
ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие).Заполнено();
ОжидаетЧто(Результат["response"][0]["visitors"]).ИмеетТип(ТипСоответствие).Заполнено();
ОжидаетЧто(Результат["response"][0]["reach"]).ИмеетТип(ТипСоответствие).Заполнено();
КонецПроцедуры
Процедура Проверка_ВКСтатистикаПостов(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Массив").ИмеетДлину(2);
КонецПроцедуры
Процедура Проверка_ВКЧисло(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие");
ОжидаетЧто(Результат["response"]).ИмеетТип("Число").Заполнено();
КонецПроцедуры
Процедура Проверка_ВКПодборка(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие");
ОжидаетЧто(Результат["response"]["albums_count"]).ИмеетТип("Число").Заполнено();
ОжидаетЧто(Результат["response"]["market_album_id"]).ИмеетТип("Число").Заполнено();
КонецПроцедуры
Процедура Проверка_ВКТовар(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие");
ОжидаетЧто(Результат["response"]["market_item_id"]).ИмеетТип("Число").Заполнено();
КонецПроцедуры
Процедура Проверка_ВКСвойство(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие");
ОжидаетЧто(Результат["response"]["property_id"]).ИмеетТип("Число").Заполнено();
КонецПроцедуры
Процедура Проверка_ВКВариантСвойства(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие");
ОжидаетЧто(Результат["response"]["variant_id"]).ИмеетТип("Число").Заполнено();
КонецПроцедуры
Процедура Проверка_ВКИНформацияОТоварах(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие");
ОжидаетЧто(Результат["response"]["items"]).ИмеетТип("Массив").ИмеетДлину(2);
КонецПроцедуры
Процедура Проверка_ВКГруппаТоваров(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие");
ОжидаетЧто(Результат["response"]["item_group_id"]).ИмеетТип("Число").Заполнено();
КонецПроцедуры
Процедура Проверка_ВКВидео(Знач Результат) Экспорт
ОжидаетЧто(Результат["video_id"]).Заполнено();
ОжидаетЧто(Результат["video_hash"]).Заполнено();
КонецПроцедуры
Процедура Проверка_ВККатегории(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие");
ОжидаетЧто(Результат["response"]["v2"]).ИмеетТип("Массив").Заполнено();
КонецПроцедуры
Процедура Проверка_ЯДискДиск(Знач Результат) Экспорт
Соответствие_ = "Соответствие";
ОжидаетЧто(Результат).ИмеетТип(Соответствие_).Заполнено();
ОжидаетЧто(Результат["system_folders"]).ИмеетТип(Соответствие_);
ОжидаетЧто(Результат["user"]).ИмеетТип(Соответствие_);
КонецПроцедуры
Процедура Проверка_ЯДискКаталог(Знач Результат, Знач Путь) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["type"]).Равно("dir");
ОжидаетЧто(Результат["path"]).Равно("disk:" + Путь);
КонецПроцедуры
Процедура Проверка_ЯДискПуть(Знач Результат, Знач Путь = "", Знач Публичный = Неопределено) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["type"]).Равно("file");
Если ЗначениеЗаполнено(Путь) Тогда
ОжидаетЧто(Результат["path"]).Равно("disk:" + Путь);
Иначе
ОжидаетЧто(Результат["path"]).Заполнено();
КонецЕсли;
Если Не Публичный = Неопределено Тогда
Если Публичный Тогда
ОжидаетЧто(Результат["public_url"]).ИмеетТип("Строка").Заполнено();
Иначе
ОжидаетЧто(Результат["public_url"]).ИмеетТип("Неопределено");
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура Проверка_ЯДискСсылка(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["method"]).Равно("GET");
ОжидаетЧто(Результат["href"]).ИмеетТип("Строка").Заполнено();
КонецПроцедуры
Процедура Проверка_ЯДискПроцедура(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["href"]).Заполнено();
ОжидаетЧто(Результат["method"]).Заполнено();
КонецПроцедуры
Процедура Проверка_ЯДискСписокФайлов(Знач Результат, Знач Количество, Знач Отступ) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["limit"]).Равно(Количество);
ОжидаетЧто(Результат["offset"]).Равно(Отступ);
ОжидаетЧто(Результат["items"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_ГКОбъект(Знач Результат, Знач Наименование, Знач Описание) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие");
ОжидаетЧто(Результат["summary"]).Равно(Наименование);
ОжидаетЧто(Результат["description"]).Равно(Описание);
ОжидаетЧто(Результат["id"]).ИмеетТип("Строка").Заполнено();
КонецПроцедуры
Процедура Проверка_ТвиттерТекст(Знач Результат, Знач Текст) Экспорт
ТекстОтвета = Результат["data"]["text"];
ТекстОтвета = Лев(ТекстОтвета, СтрДлина(Текст));
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(ТекстОтвета).Равно(Текст);
КонецПроцедуры
Процедура Проверка_ВайберОк(Знач Результат) Экспорт
ОжидаетЧто(Результат["status_message"]).Равно("ok");
ОжидаетЧто(Результат["status"]).Равно(0);
КонецПроцедуры
Процедура Проверка_ВайберПользователь(Знач Результат) Экспорт
ОжидаетЧто(Результат["chat_hostname"]).Заполнено();
ОжидаетЧто(Результат["status_message"]).Заполнено();
КонецПроцедуры
Процедура Проверка_ВайберОнлайн(Знач Результат) Экспорт
ОжидаетЧто(Результат["status_message"]).Равно("ok");
ОжидаетЧто(Результат["status"]).Равно(0);
ОжидаетЧто(Результат["users"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_ВайберСообщение(Знач Результат) Экспорт
ОжидаетЧто(Результат["message_token"]).Заполнено();
ОжидаетЧто(Результат["status_message"]).Равно("ok");
ОжидаетЧто(Результат["status"]).Равно(0);
КонецПроцедуры
Процедура Проверка_ГуглТокен(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие");
ОжидаетЧто(Результат["access_token"]).Заполнено();
КонецПроцедуры
Процедура Проверка_ГуглКалендарь(Знач Результат, Знач Наименование) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие");
ОжидаетЧто(Результат["summary"]).Равно(Наименование);
ОжидаетЧто(Результат["id"]).ИмеетТип("Строка").Заполнено();
КонецПроцедуры
Процедура Проверка_ГуглЦветКалендаря(Знач Результат, Знач ОсновнойЦвет, Знач ДополнительныйЦвет) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие");
ОжидаетЧто(Результат["foregroundColor"]).Равно(ОсновнойЦвет);
ОжидаетЧто(Результат["backgroundColor"]).Равно(ДополнительныйЦвет);
КонецПроцедуры
Процедура Проверка_ГуглКаталоги(Знач Результат) Экспорт
ОжидаетЧто(Результат["mimeType"]).Равно("application/vnd.google-apps.folder");
ОжидаетЧто(Результат["name"]).Заполнено();
КонецПроцедуры
Процедура Проверка_ГуглКаталог(Знач Результат) Экспорт
ОжидаетЧто(Результат["mimeType"]).Равно("application/vnd.google-apps.folder");
ОжидаетЧто(Результат["name"]).Заполнено();
КонецПроцедуры
Процедура Проверка_ГуглОбъект(Знач Результат, Знач Описание) Экспорт
ОжидаетЧто(Результат["mimeType"]).Равно(Описание["MIME"]);
ОжидаетЧто(Результат["name"]).Равно(Описание["Имя"]);
КонецПроцедуры
Процедура Проверка_ГуглКомментарий(Знач Результат, Знач Комментарий) Экспорт
ОжидаетЧто(Результат["content"]).Равно(Комментарий);
ОжидаетЧто(Результат["kind"]).Равно("drive#comment");
КонецПроцедуры
Процедура Проверка_ГуглКнига(Знач Результат, Знач Наименование, Знач МассивЛистов = "") Экспорт
ОжидаетЧто(Результат["properties"]["title"]).Равно(Наименование);
Если ЗначениеЗаполнено(МассивЛистов) Тогда
Для Н = 0 По МассивЛистов.ВГраница() Цикл
ИмяЛиста = Результат["sheets"][Н]["properties"]["title"];
ОжидаетЧто(ИмяЛиста).Равно(МассивЛистов[Н]);
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Процедура Проверка_ГуглЛист(Знач Результат, Знач Книга = "") Экспорт
ОжидаетЧто(Результат["title"]).Заполнено();
Если ЗначениеЗаполнено(Книга) Тогда
ОжидаетЧто(Результат["spreadsheetId"]).Равно(Книга);
КонецЕсли;
КонецПроцедуры
Процедура Проверка_ГуглЭлементКниги(Знач Результат, Знач Книга) Экспорт
ОжидаетЧто(Результат["spreadsheetId"]).Равно(Книга);
КонецПроцедуры
Процедура Проверка_ГуглИмяТаблицы(Знач Результат, Знач Наименование) Экспорт
ОжидаетЧто(Результат["properties"]["title"]).Равно(Наименование);
КонецПроцедуры
Процедура Проверка_ГуглОбновлениеЯчеек(Знач Результат, Знач Количество) Экспорт
ОжидаетЧто(Результат["totalUpdatedCells"]).Равно(Количество);
КонецПроцедуры
Процедура Проверка_ГуглЗначенияЯчеек(Знач Результат, Знач Количество) Экспорт
ОжидаетЧто(Результат["valueRanges"].Количество()).Равно(Количество);
КонецПроцедуры
Процедура Проверка_ГуглОчисткаЯчеек(Знач Результат, Знач Количество) Экспорт
ОжидаетЧто(Результат["clearedRanges"].Количество()).Равно(Количество);
КонецПроцедуры
Процедура Проверка_ТвиттерТокен(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["access_token"]).Заполнено();
ОжидаетЧто(Результат["refresh_token"]).Заполнено();
КонецПроцедуры
Процедура Проверка_НоушнОбъект(Знач Результат, Знач Вид = "page") Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["object"]).Равно(Вид);
КонецПроцедуры
Процедура Проверка_НоушнСтраницаБазы(Знач Результат, Знач База) Экспорт
Проверка_НоушнОбъект(Результат);
Родитель = Результат["parent"]["database_id"];
ОжидаетЧто(Родитель).Равно(База);
КонецПроцедуры
Процедура Проверка_СлакОк(Знач Результат) Экспорт
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["ok"]).Равно(Истина);
КонецПроцедуры
Процедура Проверка_СлакБот(Знач Результат) Экспорт
Проверка_СлакОк(Результат);
ОжидаетЧто(Результат["bot_id"]).Заполнено();
ОжидаетЧто(Результат["user_id"]).Заполнено();
КонецПроцедуры
Процедура Проверка_СлакПользователи(Знач Результат) Экспорт
Проверка_СлакОк(Результат);
ОжидаетЧто(Результат["members"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_СлакОбласти(Знач Результат) Экспорт
Проверка_СлакОк(Результат);
ОжидаетЧто(Результат["teams"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_СлакСообщение(Знач Результат, Знач Текст, Знач Канал) Экспорт
Проверка_СлакОк(Результат);
ОжидаетЧто(Результат["channel"]).Равно(Канал);
ОжидаетЧто(Результат["ts"]).Заполнено();
ОжидаетЧто(Результат["message"]["text"]).Равно(Текст);
КонецПроцедуры
Процедура Проверка_СлакСообщения(Знач Результат) Экспорт
ОжидаетЧто(Результат["messages"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_СлакСсылкаСообщения(Знач Результат, Знач Канал) Экспорт
Проверка_СлакОк(Результат);
ОжидаетЧто(Результат["channel"]).Равно(Канал);
ОжидаетЧто(Результат["permalink"]).Заполнено();
КонецПроцедуры
Процедура Проверка_СлакОтложенноеСообщение(Знач Результат, Знач Канал) Экспорт
Проверка_СлакОк(Результат);
ОжидаетЧто(Результат["channel"]).Равно(Канал);
ОжидаетЧто(Результат["scheduled_message_id"]).Заполнено();
КонецПроцедуры
Процедура Проверка_СлакЭфемерное(Знач Результат) Экспорт
Проверка_СлакОк(Результат);
ОжидаетЧто(Результат["message_ts"]).Заполнено();
КонецПроцедуры
Процедура Проверка_СлакОтложенные(Знач Результат) Экспорт
Проверка_СлакОк(Результат);
ОжидаетЧто(Результат["scheduled_messages"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_СлакКанал(Знач Результат, Знач Имя = "") Экспорт
Данные = Результат["channel"];
Проверка_СлакОк(Результат);
Если ЗначениеЗаполнено(Имя) Тогда
ОжидаетЧто(Данные["name"]).Равно(Имя);
КонецЕсли;
КонецПроцедуры
Процедура Проверка_СлакТемаКанала(Знач Результат, Знач Тема) Экспорт
Данные = Результат["channel"];
Проверка_СлакОк(Результат);
ОжидаетЧто(Данные["topic"]["value"]).Равно(Тема);
КонецПроцедуры
Процедура Проверка_СлакИсторияКанала(Знач Результат) Экспорт
Проверка_СлакОк(Результат);
ОжидаетЧто(Результат["messages"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_СлакПользователиКанала(Знач Результат) Экспорт
Проверка_СлакОк(Результат);
ОжидаетЧто(Результат["members"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_СлакСписокКаналов(Знач Результат) Экспорт
Проверка_СлакОк(Результат);
ОжидаетЧто(Результат["channels"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_СлакДиалог(Знач Результат) Экспорт
Диалог = Результат["channel"]["id"];
Проверка_СлакОк(Результат);
ОжидаетЧто(Результат["channel"]).ИмеетТип("Соответствие");
ОжидаетЧто(Диалог).Заполнено();
КонецПроцедуры
Процедура Проверка_СлакСписокФайлов(Знач Результат) Экспорт
Проверка_СлакОк(Результат);
ОжидаетЧто(Результат["files"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_СлакФайл(Знач Результат, Знач ИмяФайла) Экспорт
Если ЗначениеЗаполнено(Результат["files"]) Тогда
ЗагруженныйФайл = Результат["files"][0];
Иначе
ЗагруженныйФайл = Результат["file"];
КонецЕсли;
Проверка_СлакОк(Результат);
ОжидаетЧто(ЗагруженныйФайл["name"]).Равно(ИмяФайла);
КонецПроцедуры
Процедура Проверка_СлакВнешнийФайл(Знач Результат, Знач Заголовок) Экспорт
ЗагруженныйФайл = Результат["file"];
Проверка_СлакОк(Результат);
ОжидаетЧто(ЗагруженныйФайл["title"]).Равно(Заголовок);
КонецПроцедуры
Процедура Проверка_АТБазаСТаблицей(Знач Результат, Знач ИмяТаблицы) Экспорт
ОжидаетЧто(Результат["id"]).Заполнено();
ОжидаетЧто(Результат["tables"][0]["name"]).Равно(ИмяТаблицы);
КонецПроцедуры
Процедура Проверка_АТСписокТаблиц(Знач Результат) Экспорт
ОжидаетЧто(Результат["tables"]).Заполнено();
ОжидаетЧто(Результат["tables"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_АТСписокБаз(Знач Результат) Экспорт
ОжидаетЧто(Результат["bases"]).Заполнено();
ОжидаетЧто(Результат["bases"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_АТТаблица(Знач Результат, Знач Наименование, Знач Описание) Экспорт
ОжидаетЧто(Результат["name"]).Равно(Наименование);
ОжидаетЧто(Результат["description"]).Равно(Описание);
КонецПроцедуры
Процедура Проверка_АТПоле(Знач Результат, Знач Имя) Экспорт
ОжидаетЧто(Результат["name"]).Равно(Имя);
КонецПроцедуры
Процедура Проверка_АТЗаписи(Знач Результат) Экспорт
ОжидаетЧто(Результат["records"]).ИмеетТип("Массив");
ОжидаетЧто(Результат["records"]).Заполнено();
КонецПроцедуры
Процедура Проверка_АТЗаписьНомерСтрока(Знач Результат, Знач Числовой, Знач Строчный) Экспорт
ОдиночнаяЗапись = Результат["id"];
ОжидаетЧто(ОдиночнаяЗапись).Заполнено();
ОжидаетЧто(Результат["createdTime"]).Заполнено();
ОжидаетЧто(Результат["fields"]["Номер"]).Равно(Числовой);
ОжидаетЧто(СокрЛП(Результат["fields"]["Строковое"])).Равно(Строчный);
КонецПроцедуры
Процедура Проверка_АТЗапись(Знач Результат, Знач Запись) Экспорт
ОжидаетЧто(Результат["id"]).Равно(Запись);
КонецПроцедуры
Процедура Проверка_АТТекст(Знач Результат, Знач Текст) Экспорт
ОжидаетЧто(Результат["text"]).Равно(Текст);
КонецПроцедуры
Процедура Проверка_АТКомментарии(Знач Результат) Экспорт
ОжидаетЧто(Результат["comments"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_АТУдалениеКомментария(Знач Результат, Знач Комментарий) Экспорт
ОжидаетЧто(Результат["deleted"]).Равно(Истина);
ОжидаетЧто(Результат["id"]).Равно(Комментарий);
КонецПроцедуры
Процедура Проверка_ДропБоксФайл(Знач Результат, Знач Путь) Экспорт
ОжидаетЧто(Результат["path_display"]).Равно(Путь);
КонецПроцедуры
Процедура Проверка_ДропБоксМетаданные(Знач Результат, Знач Путь) Экспорт
ОжидаетЧто(Результат["metadata"]["path_display"]).Равно(Путь);
КонецПроцедуры
Процедура Проверка_ДропБоксМассив(Знач Результат, Знач Количество = Неопределено) Экспорт
ОжидаетЧто(Результат["entries"]).ИмеетТип("Массив");
Если Не Количество = Неопределено Тогда
ОжидаетЧто(Результат["entries"].Количество()).Равно(Количество);
КонецЕсли;
КонецПроцедуры
Процедура Проверка_ДропБоксРабота(Знач Результат) Экспорт
ОжидаетЧто(Результат["async_job_id"]).Заполнено();
КонецПроцедуры
Процедура Проверка_ДропБоксСтатус(Знач Результат) Экспорт
ОжидаетЧто(Результат[".tag"]).Равно("complete");
КонецПроцедуры
Процедура Проверка_ДропБоксТеги(Знач Результат, Знач Количество) Экспорт
ОжидаетЧто(Результат["paths_to_tags"]).ИмеетТип("Массив");
ОжидаетЧто(Результат["paths_to_tags"].Количество()).Равно(Количество);
КонецПроцедуры
Процедура Проверка_ДропбоксАккаунт(Знач Результат) Экспорт
ОжидаетЧто(Результат["account_id"]).Заполнено();
КонецПроцедуры
Процедура Проверка_ДропбоксПространство(Знач Результат) Экспорт
ОжидаетЧто(Результат["used"]).Заполнено();
КонецПроцедуры
Процедура Проверка_ДропбоксУчастник(Знач Результат, Знач Почта, Знач ТолькоПросмотр) Экспорт
ОжидаетЧто(Результат[0]["result"][".tag"]).Равно("success");
ОжидаетЧто(Результат[0]["member"]["email"]).Равно(Почта);
ОжидаетЧто(
Результат[0]["result"]["success"][".tag"]).Равно(?(ТолькоПросмотр, "viewer", "editor"));
КонецПроцедуры
Процедура Проверка_ДропбоксПубличнаяПапка(Знач Результат) Экспорт
ОжидаетЧто(Результат["shared_folder_id"]).Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксВремя(Знач Результат) Экспорт
Время = Результат["result"];
Если Не ТипЗнч(Время) = Тип("Дата") Тогда
Время = XMLЗначение(Тип("Дата"), Время);
КонецЕсли;
ОжидаетЧто(Время).ИмеетТип("Дата").Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксАвторизация(Знач Результат) Экспорт
ОжидаетЧто(Результат["access_token"]).Заполнено();
ОжидаетЧто(Результат["refresh_token"]).Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксЧисло(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]).ИмеетТип("Число").Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксИстина(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]).ИмеетТип("Булево").Равно(Истина);
КонецПроцедуры
Процедура Проверка_БитриксБулево(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]).ИмеетТип("Булево");
КонецПроцедуры
Процедура Проверка_БитриксСтрока(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]).ИмеетТип("Строка").Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксМассив(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_БитриксСоответствие(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
КонецПроцедуры
Процедура Проверка_БитриксСписок(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]["list"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_БитриксМассивОбъектов(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");
ОжидаетЧто(Результат["result"][0]["ID"]).Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксПоля(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]["fields"]).Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксЗадача(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]["task"]).Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксСписокЗадач(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]["tasks"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_БитриксХранилища(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");
ОжидаетЧто(Результат["total"]).Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксОбъект(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
ОжидаетЧто(Результат["result"]["ID"]).Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксЛид(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]["PHONE"]).Заполнено();
ОжидаетЧто(Результат["result"]["NAME"]).Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксСделка(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]["ID"]).Заполнено();
ОжидаетЧто(Результат["result"]["BEGINDATE"]).Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксВложение(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
ОжидаетЧто(Результат["result"]["attachmentId"]).Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксДоступныеДействия(Знач Результат, Знач Количество) Экспорт
ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
Действия = Результат["result"]["allowedActions"];
ОжидаетЧто(Действия).ИмеетТип("Соответствие");
ОжидаетЧто(Действия.Количество()).Равно(Количество);
КонецПроцедуры
Процедура Проверка_БитриксКомментарий(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
ОжидаетЧто(Результат["result"]["POST_MESSAGE"]).Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксРезультат(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
ОжидаетЧто(Результат["result"]["text"]).Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксНеопределено(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]).ИмеетТип("Неопределено");
ОжидаетЧто(Результат["time"]).Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксСписокКомментариев(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");
ОжидаетЧто(Результат["result"][0]["POST_MESSAGE"]).Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксСписокРезультатов(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");
ОжидаетЧто(Результат["result"][0]["text"]).Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксСообщения(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]["messages"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_БитриксДиалог(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
ОжидаетЧто(Результат["result"]["dialogId"]).Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксСообщение(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
ОжидаетЧто(Результат["result"]["id"]).Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксФайлСообщение(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
ОжидаетЧто(Результат["result"]["MESSAGE_ID"]).Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксУчетВремени(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
ОжидаетЧто(Результат["result"]["STATUS"]).Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксНастройкиУчетаВремени(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
ОжидаетЧто(Результат["result"]["UF_TIMEMAN"]).ИмеетТип("Булево");
КонецПроцедуры
Процедура Проверка_ВКТПользователь(Знач Результат) Экспорт
ОжидаетЧто(Результат["ok"]).Равно(Истина);
ОжидаетЧто(Результат["userId"]).Заполнено();
КонецПроцедуры
Процедура Проверка_ВКТСобытия(Знач Результат) Экспорт
ОжидаетЧто(Результат["ok"]).Равно(Истина);
ОжидаетЧто(Результат["events"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_ВКТСообщение(Знач Результат) Экспорт
ОжидаетЧто(Результат["ok"]).Равно(Истина);
ОжидаетЧто(Результат["msgId"]).Заполнено();
КонецПроцедуры
Процедура Проверка_ВКТИстина(Знач Результат) Экспорт
ОжидаетЧто(Результат["ok"]).Равно(Истина);
КонецПроцедуры
Процедура Проверка_ВКТФайл(Знач Результат) Экспорт
ОжидаетЧто(Результат["ok"]).Равно(Истина);
ОжидаетЧто(Результат["type"]).Заполнено();
ОжидаетЧто(Результат["size"]).Заполнено();
КонецПроцедуры
Процедура Проверка_ВКТСписок(Знач Результат, Знач ИмяПоля) Экспорт
ОжидаетЧто(Результат[ИмяПоля]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_ВКТЧат(Знач Результат) Экспорт
ОжидаетЧто(Результат["type"]).Заполнено();
ОжидаетЧто(Результат["inviteLink"]).Заполнено();
КонецПроцедуры
Процедура Проверка_ВКТЗаявки(Знач Результат) Экспорт
Если Не Результат["ok"] Тогда
ОжидаетЧто(Результат["description"]).Равно("User is not pending or nobody in pending list");
КонецЕсли;
КонецПроцедуры
Процедура Проверка_ОзонСписокКатегорий(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");
ОжидаетЧто(Результат["result"][0]["category_name"]).Заполнено();
КонецПроцедуры
Процедура Проверка_ОзонСписокХарактеристик(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");
ОжидаетЧто(Результат["result"][0]["description"]).Заполнено();
ОжидаетЧто(Результат["result"][0]["id"]).Заполнено();
КонецПроцедуры
Процедура Проверка_ОзонСписокЗначенийХарактеристики(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");
ОжидаетЧто(Результат["result"][0]["value"]).Заполнено();
ОжидаетЧто(Результат["result"][0]["id"]).Заполнено();
КонецПроцедуры
Процедура Проверка_ОзонЗаданиеЗагрузки(Знач Результат, Знач Вложенный = Истина) Экспорт
Если Вложенный Тогда
IDЗадачи = Результат["result"]["task_id"];
Иначе
IDЗадачи = Результат["task_id"];
КонецЕсли;
ОжидаетЧто(IDЗадачи).Заполнено();
КонецПроцедуры
Процедура Проверка_ОзонНовыеТовары(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]["items"]).ИмеетТип("Массив");
ОжидаетЧто(Результат["result"]["items"][0]["status"]).Равно("imported");
КонецПроцедуры
Процедура Проверка_ОзонМассивОбъектов(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]["items"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_ОзонМассивОбновлено(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"][0]["updated"]).Равно(Истина);
КонецПроцедуры
Процедура Проверка_ОзонМассивРейтингов(Знач Результат) Экспорт
ОжидаетЧто(Результат["products"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_ОзонТовар(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]["id"]).Заполнено();
ОжидаетЧто(Результат["result"]["name"]).Заполнено();
КонецПроцедуры
Процедура Проверка_ОзонТовары(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]["items"]).ИмеетТип("Массив");
ОжидаетЧто(Результат["result"]["items"][0]["name"]).Заполнено();
ОжидаетЧто(Результат["result"]["items"][0]["id"]).Заполнено();
КонецПроцедуры
Процедура Проверка_ОзонЛимиты(Знач Результат) Экспорт
ОжидаетЧто(Результат["daily_create"]).Заполнено();
ОжидаетЧто(Результат["daily_update"]).Заполнено();
КонецПроцедуры
Процедура Проверка_ОзонКартинки(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]["pictures"]).ИмеетТип("Массив").Заполнено();
КонецПроцедуры
Процедура Проверка_ОзонБезОшибок(Знач Результат) Экспорт
ОжидаетЧто(Результат["errors"].Количество()).Равно(0);
КонецПроцедуры
Процедура Проверка_ОзонИстина(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]).Равно(Истина);
КонецПроцедуры
Процедура Проверка_ОзонМассив(Знач Результат, Знач Поле = "result") Экспорт
ОжидаетЧто(Результат[Поле]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_ОзонУдалениеТовара(Знач Результат) Экспорт
ОжидаетЧто(Результат["status"][0]["is_deleted"]).Равно(Истина);
КонецПроцедуры
Процедура Проверка_ОзонДобавлениеКодов(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]["status"]).Равно("imported");
КонецПроцедуры
Процедура Проверка_ОзонПодписчики(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"][0]["count"]).ИмеетТип("Число");
КонецПроцедуры
Процедура Проверка_ОзонSKU(Знач Результат) Экспорт
ОжидаетЧто(Результат["items"]).ИмеетТип("Массив");
ОжидаетЧто(Результат["items"][0]["availability"]).Заполнено();
КонецПроцедуры
Процедура Проверка_ОзонЧерновик(Знач Результат) Экспорт
ОжидаетЧто(Результат["operation_id"]).ИмеетТип("Строка").Заполнено();
КонецПроцедуры
Процедура Проверка_ОзонПоиск(Знач Результат) Экспорт
ОжидаетЧто(Результат["search"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_ОзонКластеры(Знач Результат) Экспорт
ОжидаетЧто(Результат["clusters"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_ОзонГотовыйЧерновик(Знач Результат) Экспорт
ОжидаетЧто(Результат["status"]).Равно("CALCULATION_STATUS_SUCCESS");
КонецПроцедуры
Процедура Проверка_ОзонТаймслоты(Знач Результат) Экспорт
ОжидаетЧто(Результат["drop_off_warehouse_timeslots"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_НСУспех(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]).Равно("success");
КонецПроцедуры
Процедура Проверка_НСФайлыКаталога(Знач Результат, Знач Количество) Экспорт
ОжидаетЧто(Результат["result"]).Равно("success");
ОжидаетЧто(Результат["files"].Количество()).Равно(Количество);
КонецПроцедуры
Процедура Проверка_НССинхронизация(Знач Результат) Экспорт
ОжидаетЧто(Результат["errors"]).Равно(0);
ОжидаетЧто(Результат["items"].Количество()).Равно(0);
КонецПроцедуры
Процедура Проверка_СдэкТокен(Знач Результат) Экспорт
ОжидаетЧто(Результат["access_token"]).Заполнено();
ОжидаетЧто(Результат["expires_in"]).Заполнено();
ОжидаетЧто(Результат["token_type"]).Заполнено();
КонецПроцедуры
Процедура Проверка_СдэкЗаказ(Знач Результат) Экспорт
ОжидаетЧто(Результат["entity"]["uuid"]).Заполнено();
ОжидаетЧто(Результат["requests"]).ИмеетТип("Массив").Заполнено();
Статус = Результат["requests"][0]["state"];
ОжидаетЧто(Статус = "ACCEPTED" Или Статус = "SUCCESSFUL").Равно(Истина);
КонецПроцедуры
Процедура Проверка_СдэкКвитанция(Знач Результат) Экспорт
URL = Результат["entity"]["url"];
ОжидаетЧто(URL).Заполнено();
ОжидаетЧто(СтрЗаканчиваетсяНа(URL, ".pdf")).Равно(Истина);
КонецПроцедуры
Процедура Проверка_СдэкДанныеЗаказа(Знач Результат) Экспорт
ОжидаетЧто(Результат["entity"]["uuid"]).Заполнено();
ОжидаетЧто(Результат["entity"]["number"]).Заполнено();
КонецПроцедуры
Процедура Проверка_СдэкИнтервалыДоставки(Знач Результат) Экспорт
ОжидаетЧто(Результат["date_intervals"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_СдэкПаспорт(Знач Результат) Экспорт
ОжидаетЧто(Результат["orders"][0]["passport"][0]["client"]).Равно("SENDER");
ОжидаетЧто(Результат["orders"][0]["passport"][1]["client"]).Равно("RECEIVER");
КонецПроцедуры
Процедура Проверка_СдэкЧек(Знач Результат) Экспорт
ОжидаетЧто(Результат["check_info"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_ЯМаркетМагазины(Знач Результат) Экспорт
ОжидаетЧто(Результат["campaigns"]).ИмеетТип("Массив");
ОжидаетЧто(Результат["pager"]).ИмеетТип("Соответствие").Заполнено();
КонецПроцедуры
Процедура Проверка_ЯМаркетМагазин(Знач Результат) Экспорт
ОжидаетЧто(Результат["campaign"]).ИмеетТип("Соответствие");
ОжидаетЧто(Результат["campaign"]["id"]).Заполнено();
КонецПроцедуры
Процедура Проверка_ЯМаркетКабинет(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]["settings"]).ИмеетТип("Соответствие").Заполнено();
КонецПроцедуры
Процедура Проверка_ЯМаркетОк(Знач Результат) Экспорт
ОжидаетЧто(Результат["status"]).Равно("OK");
ОжидаетЧто(Результат["results"]).Равно(Неопределено);
КонецПроцедуры
Процедура Проверка_МетрикаМетки(Знач Результат) Экспорт
ОжидаетЧто(Результат["labels"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_МетрикаМетка(Знач Результат, Знач Наименование = "") Экспорт
ОжидаетЧто(Результат["label"]).ИмеетТип("Соответствие");
ОжидаетЧто(Результат["label"]["id"]).Заполнено();
Если ЗначениеЗаполнено(Наименование) Тогда
ОжидаетЧто(Результат["label"]["name"]).Равно(Наименование);
КонецЕсли;
КонецПроцедуры
Процедура Проверка_МетрикаУспех(Знач Результат) Экспорт
ОжидаетЧто(Результат["success"]).Равно(Истина);
КонецПроцедуры
Процедура Проверка_МетрикаСчетчик(Знач Результат) Экспорт
ОжидаетЧто(Результат["counter"]).ИмеетТип("Соответствие").Заполнено();
КонецПроцедуры
Процедура Проверка_МетрикаСчетчики(Знач Результат) Экспорт
ОжидаетЧто(Результат["counters"]).ИмеетТип("Массив").Заполнено();
КонецПроцедуры
Процедура Проверка_МетрикаОперации(Знач Результат) Экспорт
ОжидаетЧто(Результат["operations"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_S3Успех(Знач Результат) Экспорт
Успех = Результат["status"] >= 200 И Результат["status"] < 300;
ОжидаетЧто(Успех).Равно(Истина);
КонецПроцедуры
Процедура Проверка_S3НеНайдено(Знач Результат) Экспорт
НеНайдено = Результат["status"] = 404;
ОжидаетЧто(НеНайдено).Равно(Истина);
КонецПроцедуры
Процедура Проверка_S3НеПоддерживается(Знач Результат) Экспорт
Успех = Результат["status"] = 501;
ОжидаетЧто(Успех).Равно(Истина);
КонецПроцедуры
Процедура Проверка_Компонента(Знач Результат, Знач ИмяТипа) Экспорт
ОжидаетЧто(Строка(ТипЗнч(Результат))).Равно(ИмяТипа);
КонецПроцедуры
Процедура Проверка_Равенство(Знач Значение1, Знач Значение2) Экспорт
ОжидаетЧто(Значение1).Равно(Значение2);
КонецПроцедуры
Процедура Проверка_SQLiteУспех(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]).Равно(Истина);
КонецПроцедуры
Процедура Проверка_SQLiteОшибка(Знач Результат) Экспорт
ОжидаетЧто(Результат["result"]).Равно(Ложь);
КонецПроцедуры
Процедура Проверка_SQLiteСтроки(Знач Результат, Знач Количество) Экспорт
ОжидаетЧто(Результат["rows"]).Равно(Количество);
КонецПроцедуры
Процедура Проверка_SQLiteЗначенияПолей(Знач Результат, Знач СтруктураЗначений) Экспорт
Для Каждого Значение Из СтруктураЗначений Цикл
Результат[Значение.Ключ] = Значение.Значение;
КонецЦикла;
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Функция ПолучитьЗначениеИзФайла(Параметр, Путь)
Значения = OPI_Инструменты.ПрочитатьJSONФайл(Путь);
Возврат ?(Значения.Свойство(Параметр), Значения[Параметр], "");
КонецФункции
Функция ПутьКФайлуДанных()
Путь = "";
ВозможныеПути = Новый Массив;
ВозможныеПути.Добавить("./data.json");
ВозможныеПути.Добавить("C:\GDrive\Мой диск\data.json");
Для Каждого ВозможныйПуть Из ВозможныеПути Цикл
ФайлРепозитория = Новый Файл(ВозможныйПуть);
Если ФайлРепозитория.Существует() Тогда
Путь = ВозможныйПуть;
Прервать;
КонецЕсли;
КонецЦикла;
Возврат Путь;
КонецФункции
Функция ПолучитьОбщийМодуль(Знач Имя)
Модуль = Вычислить(Имя);
Возврат Модуль;
КонецФункции
// BSLLS:CognitiveComplexity-off
Функция ПолучитьЗначениеДляCLI(Знач Значение, Знач Вложенный = Ложь)
ТекущийТип = ТипЗнч(Значение);
Если ТекущийТип = Тип("Число") Тогда
Значение = OPI_Инструменты.ЧислоВСтроку(Значение);
ИначеЕсли ТекущийТип = Тип("Строка") Тогда
Значение = OPI_Инструменты.ЧислоВСтроку(Значение);
Если Не Вложенный Тогда
Значение = """" + Значение + """";
КонецЕсли;
ИначеЕсли ТекущийТип = Тип("Дата") Тогда
Значение = """" + XMLСтрока(Значение) + """";
ИначеЕсли ТекущийТип = Тип("Структура")
Или ТекущийТип = Тип("Соответствие")
Или ТекущийТип = Тип("Массив") Тогда
ЗаписьJSON = Новый ЗаписьJSON();
Если OPI_Инструменты.ЭтоOneScript() Или ТекущийТип = Тип("Массив") Тогда
ПараметрыЗаписи = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Нет, , Ложь);
ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписи);
ЗаписатьJSON(ЗаписьJSON, Значение);
Значение = """" + ЗаписьJSON.Закрыть() + """";
Иначе
// BSLLS:MissingTemporaryFileDeletion-off
//@skip-check missing-temporary-file-deletion
ИВТ = ПолучитьИмяВременногоФайла("json");
// BSLLS:MissingTemporaryFileDeletion-on
Поток = Новый ФайловыйПоток(ИВТ, РежимОткрытияФайла.Создать);
ЗаписьJSON.ОткрытьПоток(Поток);
ЗаписатьJSON(ЗаписьJSON, Значение);
ЗаписьJSON.Закрыть();
Поток.Закрыть();
Значение = ИВТ;
КонецЕсли;
ИначеЕсли ТекущийТип = Тип("Булево") Тогда
Значение = ?(Значение, "true", "false");
ИначеЕсли ТекущийТип = Тип("ДвоичныеДанные") Тогда
// BSLLS:MissingTemporaryFileDeletion-off
//@skip-check missing-temporary-file-deletion
ИВФ = ПолучитьИмяВременногоФайла();
Значение.Записать(ИВФ);
Значение = """" + ИВФ + """";
// BSLLS:MissingTemporaryFileDeletion-on
Иначе
ВызватьИсключение "Неподдерживаемый тип " + Строка(ТекущийТип);
КонецЕсли;
Возврат Значение;
КонецФункции
// BSLLS:CognitiveComplexity-on
Функция ОформитьОпцию(Знач Значение, Знач Имя, Знач Вложенный = Ложь)
МассивСекретов = Новый Массив();
МассивСекретов.Добавить("token");
МассивСекретов.Добавить("key");
МассивСекретов.Добавить("secret");
МассивСекретов.Добавить("pass");
МассивСекретов.Добавить("client");
МассивСекретов.Добавить("api");
МассивСекретов.Добавить("refresh");
СтруктураЗамен = Новый Структура;
Если ТипЗнч(Значение) = Тип("Структура") Или ТипЗнч(Значение) = Тип("Соответствие") Тогда
Значение = ОформитьОпциюКоллекцию(Значение);
ИначеЕсли ТипЗнч(Значение) = Тип("Массив") Тогда
Значение = ОформитьОпциюМассив(Значение, Имя);
Иначе
Для Каждого СекретныйКлюч Из МассивСекретов Цикл
Если СтрНайти(нРег(Имя), СекретныйКлюч) <> 0 Тогда
Значение = "***";
КонецЕсли;
КонецЦикла;
Для Каждого ЗаменяемыйКлюч Из СтруктураЗамен Цикл
Если нРег(Имя) = ЗаменяемыйКлюч.Ключ Тогда
Значение = ЗаменяемыйКлюч.Значение;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если Не Вложенный Тогда
Значение = "--" + Имя + " " + ПолучитьЗначениеДляCLI(Значение);
КонецЕсли;
Возврат Значение;
КонецФункции
Функция ОформитьОпциюКоллекцию(Знач Значение)
Значение_ = ?(ТипЗнч(Значение) = Тип("Структура"), Новый Структура, Новый Соответствие);
Для Каждого Элемент Из Значение Цикл
Значение_.Вставить(Элемент.Ключ, ОформитьОпцию(Элемент.Значение, Элемент.Ключ, Истина));
КонецЦикла;
Возврат Значение_;
КонецФункции
Функция ОформитьОпциюМассив(Знач Значение, Знач Имя)
Значение_ = Новый Массив;
Для Каждого Элемент Из Значение Цикл
Значение_.Добавить(ОформитьОпцию(Элемент, Имя, Истина));
КонецЦикла;
Возврат Значение_;
КонецФункции
Процедура НовыйТест(ТаблицаЗначений, Знач Метод, Знач Синоним, Знач Раздел)
НовыйТест = ТаблицаЗначений.Добавить();
НовыйТест.Метод = Метод;
НовыйТест.Синоним = Синоним;
НовыйТест.Раздел = Раздел;
КонецПроцедуры
Процедура ЗаписатьПараметрВФайл(Знач Параметр, Знач Значение, Знач Путь)
Значения = OPI_Инструменты.ПрочитатьJSONФайл(Путь);
Значения.Вставить(Параметр, Значение);
Запись = Новый ЗаписьJSON;
ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Авто, Символы.Таб);
Запись.ОткрытьФайл(Путь, , , ПараметрыЗаписиJSON);
ЗаписатьJSON(Запись, Значения);
Запись.Закрыть();
КонецПроцедуры
Процедура ЗаписатьВызовCLI(Знач Библиотека, Знач Метод, Знач Опции)
Если Не OPI_Инструменты.ЭтоOneScript() Тогда
Возврат;
КонецЕсли;
КаталогПримеров = "./docs/ru/cli/NEW_CLI/" + Библиотека;
ФайлПримеров = Новый Файл(КаталогПримеров);
Если Не ФайлПримеров.Существует() Тогда
СоздатьКаталог(КаталогПримеров);
КонецЕсли;
КаталогМетода = КаталогПримеров + "/" + Метод;
ФайлМетода = Новый Файл(КаталогМетода);
Если Не ФайлМетода.Существует() Тогда
СоздатьКаталог(КаталогМетода);
КонецЕсли;
МассивОпций = Новый Массив;
ЕстьJSON = Ложь;
Для Каждого Опция Из Опции Цикл
Если ТипЗнч(Опция.Значение) = Тип("Структура")
Или ТипЗнч(Опция.Значение) = Тип("Соответствие") Тогда
ЕстьJSON = Истина;
КонецЕсли;
ТекущаяОпция = ОформитьОпцию(Опция.Значение, Опция.Ключ);
МассивОпций.Добавить(ТекущаяОпция);
КонецЦикла;
Начало = "oint ";
Если ЕстьJSON Тогда
Информация = "JSON данные также могут быть переданы как путь к файлу .json";
НачалоBat = ":: " + Информация + Символы.ПС + Символы.ПС + Начало;
НачалоBash = "# " + Информация + Символы.ПС + Символы.ПС + Начало;
Иначе
НачалоBat = Начало;
НачалоBash = Начало;
КонецЕсли;
РазделительBat = " ^" + Символы.ПС + " ";
РазделительBash = " \" + Символы.ПС + " ";
СтрокаBat = НачалоBat + Библиотека + " " + Метод + РазделительBat + СтрСоединить(МассивОпций, РазделительBat);
СтрокаBash = НачалоBash + Библиотека + " " + Метод + РазделительBash + СтрСоединить(МассивОпций, РазделительBash);
ПолучитьДвоичныеДанныеИзСтроки(СтрокаBat).Записать(КаталогМетода + "/bat.txt");
ПолучитьДвоичныеДанныеИзСтроки(СтрокаBash).Записать(КаталогМетода + "/bash.txt");
КонецПроцедуры
#КонецОбласти