You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-11-23 22:05:15 +02:00
Доработка тестов TCP
This commit is contained in:
@@ -49,12 +49,13 @@
|
||||
// Создает TCP соединение
|
||||
//
|
||||
// Параметры:
|
||||
// Адрес - Строка - Адрес и порт для подключения - address
|
||||
// Tls - Структура Из КлючИЗначение - Настройки TLS, если необходимо. См. ПолучитьНастройкиTls - tls
|
||||
// Адрес - Строка - Адрес и порт для подключения - address
|
||||
// Tls - Структура Из КлючИЗначение - Настройки TLS, если необходимо. См. ПолучитьНастройкиTls - tls
|
||||
// Прокси - Структура Из КлючИЗначение - Настройки прокси, если необходимо. См. ПолучитьНастройкиПрокси - proxy
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение, Произвольный - Возвращает объект TCP клиента при успешном подключении или информацию об ошибке
|
||||
Функция ОткрытьСоединение(Знач Адрес, Знач Tls = "") Экспорт
|
||||
Функция ОткрытьСоединение(Знач Адрес, Знач Tls = "", Знач Прокси = "") Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Адрес);
|
||||
OPI_Инструменты.ВернутьУправляющиеПоследовательности(Адрес);
|
||||
@@ -72,6 +73,20 @@
|
||||
Если Не OPI_Инструменты.ПолучитьИли(Tls, "result", Ложь) Тогда
|
||||
Возврат Tls;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(Прокси) Тогда
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(Прокси);
|
||||
ПроксиСтрокой = OPI_Инструменты.JSONСтрокой(Прокси);
|
||||
|
||||
Установка = TCPКлиент.SetProxySettings(ПроксиСтрокой);
|
||||
Установка = OPI_Инструменты.JsonВСтруктуру(Установка);
|
||||
|
||||
Если Не OPI_Инструменты.ПолучитьИли(Установка, "result", Ложь) Тогда
|
||||
Возврат Установка;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Успех = TCPКлиент.Connect();
|
||||
|
||||
@@ -87,7 +102,7 @@
|
||||
// Явно закрывает созданное ранее соединение
|
||||
//
|
||||
// Параметры:
|
||||
// Соединение - Произвольный - Соединение, см. ОткрытьСоединение - tcp
|
||||
// Соединение - Произвольный - Соединение, См. ОткрытьСоединение - tcp
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Булево - всегда возвращает Истина
|
||||
@@ -106,7 +121,7 @@
|
||||
// При закрытии соединения, ошибке или обнаружении EOF чтение завершается в любом случае
|
||||
//
|
||||
// Параметры:
|
||||
// Соединение - Произвольный - Соединение, см. ОткрытьСоединение - tcp
|
||||
// Соединение - Произвольный - Соединение, См. ОткрытьСоединение - tcp
|
||||
// МаксимальныйРазмер - Число - Максимальный размер данных (байт). 0 > без ограничений - size
|
||||
// Маркер - Строка, ДвоичныеДанные - Маркер конца сообщения. Пусто > без маркера - marker
|
||||
// Таймаут - Число - Таймаут ожидания данных (мс). 0 > без ограничений - timeout
|
||||
@@ -140,10 +155,10 @@
|
||||
// При закрытии соединения, ошибке или обнаружении EOF чтение завершается в любом случае
|
||||
//
|
||||
// Параметры:
|
||||
// Соединение - Произвольный - Соединение, см. ОткрытьСоединение - tcp
|
||||
// Кодировка - Строка - Кодировка преобразования данных в строку - enc
|
||||
// Маркер - Строка, ДвоичныеДанные - Маркер конца сообщения. Пусто > без маркера - marker
|
||||
// Таймаут - Число - Таймаут ожидания данных (мс). 0 > без ограничений - timeout
|
||||
// Соединение - Произвольный - Соединение, См. ОткрытьСоединение - tcp
|
||||
// Кодировка - Строка - Кодировка преобразования данных в строку - enc
|
||||
// Маркер - Строка, ДвоичныеДанные - Маркер конца сообщения. Пусто > без маркера - marker
|
||||
// Таймаут - Число - Таймаут ожидания данных (мс). 0 > без ограничений - timeout
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - Полученные данные в виде строки
|
||||
@@ -165,7 +180,7 @@
|
||||
// Отправляет двоичные данные через указанное соединение
|
||||
//
|
||||
// Параметры:
|
||||
// Соединение - Произвольный - Соединение, см. ОткрытьСоединение - tcp
|
||||
// Соединение - Произвольный - Соединение, См. ОткрытьСоединение - tcp
|
||||
// Данные - ДвоичныеДанные - Данные для отправки - data
|
||||
// Таймаут - Число - Таймаут ожидания записи (мс). 0 > без ограничений - timeout
|
||||
//
|
||||
@@ -186,7 +201,7 @@
|
||||
// Отправляет данные в виде строки через указанное соединение
|
||||
//
|
||||
// Параметры:
|
||||
// Соединение - Произвольный - Соединение, см. ОткрытьСоединение - tcp
|
||||
// Соединение - Произвольный - Соединение, См. ОткрытьСоединение - tcp
|
||||
// Данные - Строка - Данные для отправки в виде строки - data
|
||||
// Кодировка - Строка - Кодировка для записи исходящей строки в поток - enc
|
||||
// Таймаут - Число - Таймаут ожидания записи (мс). 0 > без ограничений - timeout
|
||||
@@ -210,19 +225,24 @@
|
||||
// Отправляет одиночный запрос на указанный адрес и получает ответ, используя стандартные настройки
|
||||
//
|
||||
// Параметры:
|
||||
// Адрес - Строка - Адрес и порт для подключения - address
|
||||
// Данные - Строка, ДвоичныеДанные - Данные или текст для отправки - data
|
||||
// ОтветСтрокой - Булево - Признак получения ответа как строки - string
|
||||
// Tls - Структура Из КлючИЗначение - Настройки TLS, если необходимо. См. ПолучитьНастройкиTls - tls
|
||||
// Адрес - Строка - Адрес и порт для подключения - address
|
||||
// Данные - Строка, ДвоичныеДанные - Данные или текст для отправки - data
|
||||
// ОтветСтрокой - Булево - Признак получения ответа как строки - string
|
||||
// Tls - Структура Из КлючИЗначение - Настройки TLS, если необходимо. См. ПолучитьНастройкиTls - tls
|
||||
// Прокси - Структура Из КлючИЗначение - Настройки прокси, если необходимо. См. ПолучитьНастройкиПрокси - proxy
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ДвоичныеДанные, Строка - Ответ на запрос или информация об ошибке
|
||||
Функция ОбработатьЗапрос(Знач Адрес, Знач Данные = "", Знач ОтветСтрокой = Истина, Знач Tls = "") Экспорт
|
||||
Функция ОбработатьЗапрос(Знач Адрес
|
||||
, Знач Данные = ""
|
||||
, Знач ОтветСтрокой = Истина
|
||||
, Знач Tls = ""
|
||||
, Знач Прокси = "") Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Данные, Истина, Ложь);
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(ОтветСтрокой);
|
||||
|
||||
Соединение = ОткрытьСоединение(Адрес, Tls);
|
||||
Соединение = ОткрытьСоединение(Адрес, Tls, Прокси);
|
||||
|
||||
Если Не OPI_Компоненты.ЭтоКомпонента(Соединение) Тогда
|
||||
Возврат Соединение;
|
||||
@@ -266,7 +286,7 @@
|
||||
// Получает информацию о последней ошибке в соединении
|
||||
//
|
||||
// Параметры:
|
||||
// Соединение - Произвольный - Соединение, см. ОткрытьСоединение - tcp
|
||||
// Соединение - Произвольный - Соединение, См. ОткрытьСоединение - tcp
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение, Неопределено - Информация об ошибке или неопределено, если ошибки нет
|
||||
@@ -284,6 +304,29 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить настройки прокси
|
||||
// Формирует структуру настроек прокси-сервера для соединения
|
||||
//
|
||||
// Параметры:
|
||||
// Адрес - Строка - Адрес прокси - addr
|
||||
// Порт - Число - Порт прокси - port
|
||||
// Вид - Строка - Вид прокси: socks5, socks4, http - type
|
||||
// Логин - Строка, Неопределено - Логин авторизации, если необходимо - login
|
||||
// Пароль - Строка, Неопределено - Пароль для авторизации, если необходимо - pass
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура настроек прокси
|
||||
Функция ПолучитьНастройкиПрокси(Знач Адрес
|
||||
, Знач Порт
|
||||
, Знач Вид = "socks5"
|
||||
, Знач Логин = Неопределено
|
||||
, Знач Пароль = Неопределено) Экспорт
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат OPI_Компоненты.ПолучитьНастройкиПрокси(Адрес, Порт, Вид, Логин, Пароль);
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить настройки TLS
|
||||
// Формирует настройки для использования TLS при выполнении запросов
|
||||
//
|
||||
|
||||
@@ -7772,6 +7772,16 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция Проверка_TCP_ПолучитьНастройкиПрокси(Знач Результат, Знач Вариант)
|
||||
|
||||
ОжидаетЧто(OPI_Инструменты.ЭтоКоллекция(Результат, Истина)).Равно(Истина);
|
||||
|
||||
Результат["password"] = "***";
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция Проверка_SQLite_ОткрытьСоединение(Знач Результат, Знач Вариант)
|
||||
|
||||
Если Вариант = "Закрытие" Тогда
|
||||
|
||||
@@ -2246,6 +2246,10 @@
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("TCP_Address" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("TCP_AddressTLS", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Proxy_User" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Proxy_Password", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Socks5_IP" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Socks5_Port" , ПараметрыТеста);
|
||||
|
||||
TCP_ОткрытьСоединение(ПараметрыТеста);
|
||||
TCP_ЗакрытьСоединение(ПараметрыТеста);
|
||||
@@ -2256,6 +2260,7 @@
|
||||
TCP_ОбработатьЗапрос(ПараметрыТеста);
|
||||
TCP_ПолучитьНастройкиTLS(ПараметрыТеста);
|
||||
TCP_ПолучитьПоследнююОшибку(ПараметрыТеста);
|
||||
TCP_ПолучитьНастройкиПрокси(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -14822,7 +14827,18 @@
|
||||
|
||||
Адрес = "tcpbin.com:4243";
|
||||
Tls = OPI_TCP.ПолучитьНастройкиTLS(Истина);
|
||||
Соединение = OPI_TCP.ОткрытьСоединение(Адрес, TLS);
|
||||
|
||||
ПроксиПользователь = ПараметрыФункции["Proxy_User"];
|
||||
ПроксиПароль = ПараметрыФункции["Proxy_Password"];
|
||||
ПроксиАдрес = ПараметрыФункции["Socks5_IP"];
|
||||
ПроксиПорт = ПараметрыФункции["Socks5_Port"];
|
||||
|
||||
ПроксиАдрес = ?(ПроксиАдрес = "127.0.0.1", OPI_ПолучениеДанныхТестов.ПолучитьLocalhost(), ПроксиАдрес); // SKIP
|
||||
|
||||
Прокси = OPI_TCP.ПолучитьНастройкиПрокси(ПроксиАдрес, ПроксиПорт, "socks5", ПроксиПользователь, ПроксиПароль);
|
||||
Tls = OPI_TCP.ПолучитьНастройкиTLS(Истина);
|
||||
|
||||
Соединение = OPI_TCP.ОткрытьСоединение(Адрес, TLS, Прокси);
|
||||
|
||||
// END
|
||||
|
||||
@@ -14915,9 +14931,18 @@
|
||||
Обработать(Результат, "TCP", "ОбработатьЗапрос", , "Echo this!" + Символы.ПС); // SKIP
|
||||
|
||||
Адрес = ПараметрыФункции["TCP_AddressTLS"];
|
||||
Tls = OPI_TCP.ПолучитьНастройкиTLS(Истина);
|
||||
|
||||
ПроксиПользователь = ПараметрыФункции["Proxy_User"];
|
||||
ПроксиПароль = ПараметрыФункции["Proxy_Password"];
|
||||
ПроксиАдрес = ПараметрыФункции["Socks5_IP"];
|
||||
ПроксиПорт = ПараметрыФункции["Socks5_Port"];
|
||||
|
||||
Результат = OPI_TCP.ОбработатьЗапрос(Адрес, Данные, , Tls);
|
||||
ПроксиАдрес = ?(ПроксиАдрес = "127.0.0.1", OPI_ПолучениеДанныхТестов.ПолучитьLocalhost(), ПроксиАдрес); // SKIP
|
||||
|
||||
Прокси = OPI_TCP.ПолучитьНастройкиПрокси(ПроксиАдрес, ПроксиПорт, "socks5", ПроксиПользователь, ПроксиПароль);
|
||||
Tls = OPI_TCP.ПолучитьНастройкиTLS(Истина);
|
||||
|
||||
Результат = OPI_TCP.ОбработатьЗапрос(Адрес, Данные, , Tls, Прокси);
|
||||
|
||||
// END
|
||||
|
||||
@@ -15010,6 +15035,23 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура TCP_ПолучитьНастройкиПрокси(ПараметрыФункции)
|
||||
|
||||
ТипПрокси = "socks5"; // http, socks5, socks4
|
||||
|
||||
АдресПрокси = ПараметрыФункции["Proxy_IP"];
|
||||
ПортПрокси = ПараметрыФункции["Proxy_Port"];
|
||||
ЛогинПрокси = ПараметрыФункции["Proxy_User"];
|
||||
ПарольПрокси = ПараметрыФункции["Proxy_Password"];
|
||||
|
||||
Результат = OPI_TCP.ПолучитьНастройкиПрокси(АдресПрокси, ПортПрокси, ТипПрокси, ЛогинПрокси, ПарольПрокси);
|
||||
|
||||
// END
|
||||
|
||||
Обработать(Результат, "TCP", "ПолучитьНастройкиПрокси");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область SQLite
|
||||
|
||||
Reference in New Issue
Block a user