1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-03-17 21:08:03 +02:00

Main build (Jenkins)

This commit is contained in:
Vitaly the Alpaca (bot) 2024-12-15 00:18:32 +03:00
parent 9e8d45bb8c
commit 6f45fae7ff
31 changed files with 6317 additions and 5935 deletions

View File

@ -1305,9 +1305,51 @@ jobs:
key: logs-S3
path: ./docs/ru/results/S3
Testing-TCP:
runs-on: ubuntu-latest
needs: [Decode, Build]
steps:
- uses: actions/checkout@v2
- uses: otymko/setup-onescript@v1.4
with:
version: 1.9.1
- name: Получить тестовые данные из кэша
uses: actions/cache/restore@v3
with:
key: test-data
path: ./data.json
- name: Установить asserts и 1testrunner
run: |
opm install asserts
opm install 1testrunner
- name: Установить OInt
run: |
TEMP_DEB="$(mktemp)" &&
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.16.1/oint_1.16.1_all_ru.deb' &&
sudo dpkg -i "$TEMP_DEB"
rm -f "$TEMP_DEB"
- name: TCP Клиент
if: ${{ cancelled() }} == false
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os "CLI_TC_Клиент"
- name: Записать логи
if: ${{ cancelled() }} == false
uses: actions/cache/save@v3
with:
key: logs-TCP
path: ./docs/ru/results/TCP
Encode:
runs-on: ubuntu-latest
needs: [Testing-Telegram,Testing-VK,Testing-Viber,Testing-Twitter,Testing-YandexDisk,Testing-GoogleWorkspace,Testing-GoogleCalendar,Testing-GoogleDrive,Testing-GoogleSheets,Testing-Notion,Testing-Slack,Testing-Airtable,Testing-Dropbox,Testing-Bitrix24,Testing-VkTeams,Testing-Ozon,Testing-Neocities,Testing-CDEK,Testing-YandexMetrika,Testing-S3]
needs: [Testing-Telegram,Testing-VK,Testing-Viber,Testing-Twitter,Testing-YandexDisk,Testing-GoogleWorkspace,Testing-GoogleCalendar,Testing-GoogleDrive,Testing-GoogleSheets,Testing-Notion,Testing-Slack,Testing-Airtable,Testing-Dropbox,Testing-Bitrix24,Testing-VkTeams,Testing-Ozon,Testing-Neocities,Testing-CDEK,Testing-YandexMetrika,Testing-S3,Testing-TCP]
if: ${{ always() }}
permissions:
contents: write
@ -1655,6 +1697,22 @@ jobs:
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/Bayselonarrend/OpenIntegrations/actions/caches?key=logs-S3"
- name: Получить логи TCP
uses: actions/cache/restore@v3
with:
key: logs-TCP
path: ./docs/ru/results/TCP
- name: Очистка логов TCP
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/Bayselonarrend/OpenIntegrations/actions/caches?key=logs-TCP"
- name: Записать данные
uses: stefanzweifel/git-auto-commit-action@v5
@ -1667,7 +1725,7 @@ jobs:
Clear-Cache:
runs-on: ubuntu-latest
needs: [Testing-Telegram, Testing-VK, Testing-Viber, Testing-Twitter, Testing-YandexDisk, Testing-GoogleWorkspace, Testing-GoogleCalendar, Testing-GoogleDrive, Testing-GoogleSheets, Testing-Notion, Testing-Slack, Testing-Airtable, Testing-Dropbox, Testing-Bitrix24, Testing-VkTeams, Testing-Ozon, Testing-Neocities, Testing-CDEK, Testing-YandexMetrika, Testing-S3, Encode]
needs: [Testing-Telegram, Testing-VK, Testing-Viber, Testing-Twitter, Testing-YandexDisk, Testing-GoogleWorkspace, Testing-GoogleCalendar, Testing-GoogleDrive, Testing-GoogleSheets, Testing-Notion, Testing-Slack, Testing-Airtable, Testing-Dropbox, Testing-Bitrix24, Testing-VkTeams, Testing-Ozon, Testing-Neocities, Testing-CDEK, Testing-YandexMetrika, Testing-S3, Testing-TCP, Encode]
if: ${{ always() }}
steps:
- name: Очистка основного кэша

View File

@ -656,6 +656,17 @@ pipeline {
}
}
stage('Testing-TCP') {
steps {
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os" "CLI_TC_Клиент"'
}
}
}
}
post{
always{

View File

@ -656,6 +656,17 @@ pipeline {
}
}
stage('Testing-TCP') {
steps {
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_Тесты.os" "TC_Клиент"'
}
}
}
}
post{
always{

View File

@ -0,0 +1,3 @@
{
"Address": "45.79.112.203:4242"
}

View File

@ -0,0 +1,3 @@
{
"Address": "45.79.112.203:4242"
}

View File

@ -0,0 +1,3 @@
{
"Address": "45.79.112.203:4242"
}

View File

@ -0,0 +1,4 @@
 Address = "45.79.112.203:4242";
Connection = OPI_TCP.CreateConnection(Address);
Result = OPI_TCP.CloseConnection(Connection);

View File

@ -0,0 +1,4 @@
 Address = "45.79.112.203:4242";
Connection = OPI_TCP.CreateConnection(Address);
OPI_TCP.CloseConnection(Connection);

View File

@ -0,0 +1,12 @@
 Address = "45.79.112.203:4242";
Connection = OPI_TCP.CreateConnection(Address);
Message = "Hello server!" + Chars.LF;
Data = ПолучитьДвоичныеДанныеИзСтроки(Message);
OPI_TCP.SendBinaryData(Connection, Data);
// End of message marker to avoid waiting for the end of timeout
Marker = Chars.LF;
Result = OPI_TCP.ReadBinaryData(Connection, , Marker);
OPI_TCP.CloseConnection(Connection);

View File

@ -0,0 +1,3 @@
{
"Адрес": "45.79.112.203:4242"
}

View File

@ -0,0 +1,3 @@
{
"Адрес": "45.79.112.203:4242"
}

View File

@ -0,0 +1,3 @@
{
"Адрес": "45.79.112.203:4242"
}

View File

@ -0,0 +1,4 @@
 Адрес = "45.79.112.203:4242";
Соединение = OPI_TCP.ОткрытьСоединение(Адрес);
Результат = OPI_TCP.ЗакрытьСоединение(Соединение);

View File

@ -0,0 +1,4 @@
 Адрес = "45.79.112.203:4242";
Соединение = OPI_TCP.ОткрытьСоединение(Адрес);
OPI_TCP.ЗакрытьСоединение(Соединение);

View File

@ -0,0 +1,12 @@
 Адрес = "45.79.112.203:4242";
Соединение = OPI_TCP.ОткрытьСоединение(Адрес);
Сообщение = "Hello server!" + Символы.ПС;
Данные = ПолучитьДвоичныеДанныеИзСтроки(Сообщение);
OPI_TCP.ОтправитьДвоичныеДанные(Соединение, Данные);
// Маркер конца сообщения для исключения ожидания конца таймаута
Маркер = Символы.ПС;
Результат = OPI_TCP.ПрочитатьДвоичныеДанные(Соединение, , Маркер);
OPI_TCP.ЗакрытьСоединение(Соединение);

File diff suppressed because it is too large Load Diff

View File

@ -93,16 +93,26 @@ EndFunction
// Parameters:
// Connection - Arbitrary - Connection, see. CreateConnection - tcp
// MaxSize - Number - Maximum data size (bytes). 0 > no limit - size
// Marker - String, BinaryData - End of message marker. Empty > without marker - marker
// Timeout - Number - Data waiting timeout (ms). 0 > no limit - timeout
//
// Returns:
// BinaryData - Received data
Function ReadBinaryData(Val Connection, Val MaxSize = 0, Val Timeout = 5000) Export
Function ReadBinaryData(Val Connection
, Val MaxSize = 0
, Val Marker = ""
, Val Timeout = 5000) Export
OPI_TypeConversion.GetNumber(Timeout);
OPI_TypeConversion.GetNumber(MaxSize);
Data = Connection.Read(MaxSize, Timeout);
If TypeOf(Marker) = Type("String") Then
Marker = ПолучитьДвоичныеДанныеИзСтроки(Marker);
Else
OPI_TypeConversion.GetBinaryData(Marker);
EndIf;
Data = Connection.Read(MaxSize, Marker, Timeout);
Return Data;
@ -118,15 +128,19 @@ EndFunction
// Parameters:
// Connection - Arbitrary - Connection, see. CreateConnection - tcp
// Encoding - String - Encoding of data conversion to string - enc
// Marker - String, BinaryData - End of message marker. Empty > without marker - marker
// Timeout - Number - Data waiting timeout (ms). 0 > no limit - timeout
//
// Returns:
// String - Received data as string
Function ReadLine(Val Connection, Val Encoding = "UTF-8", Val Timeout = 5000) Export
Function ReadLine(Val Connection
, Val Encoding = "UTF-8"
, Val Marker = ""
, Val Timeout = 5000) Export
OPI_TypeConversion.GetLine(Encoding);
Data = ReadBinaryData(Connection, , Timeout);
Data = ReadBinaryData(Connection, , Marker, Timeout);
Data = ПолучитьСтрокуИзДвоичныхДанных(Data, Encoding);
Return Data;

View File

@ -2172,6 +2172,21 @@ EndProcedure
#EndRegion
#Region TCP
Procedure TC_Client() Export
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("TCP_Address", TestParameters);
TCP_CreateConnection(TestParameters);
TCP_CloseConnection(TestParameters);
TCP_ReadBinaryData(TestParameters);
EndProcedure
#EndRegion
#EndRegion
#EndRegion
@ -15650,6 +15665,75 @@ EndProcedure
#EndRegion
#Region TCP
Procedure TCP_CreateConnection(FunctionParameters)
Address = FunctionParameters["TCP_Address"];
Connection = OPI_TCP.CreateConnection(Address);
Result = String(Connection); // SKIP
OPI_TCP.CloseConnection(Connection);
// END
OPI_TestDataRetrieval.WriteLog(Result, "CreateConnection", "TCP");
OPI_TestDataRetrieval.Check_Filled(Result);
EndProcedure
Procedure TCP_CloseConnection(FunctionParameters)
Address = FunctionParameters["TCP_Address"];
Connection = OPI_TCP.CreateConnection(Address);
Result = OPI_TCP.CloseConnection(Connection);
// END
OPI_TestDataRetrieval.WriteLog(Result, "CloseConnection", "TCP");
OPI_TestDataRetrieval.Check_True(Result);
EndProcedure
Procedure TCP_ReadBinaryData(FunctionParameters) Export
Address = FunctionParameters["TCP_Address"];
Connection = OPI_TCP.CreateConnection(Address);
Message = "Hello server!" + Chars.LF;
Data = ПолучитьДвоичныеДанныеИзСтроки(Message);
OPI_TCP.SendBinaryData(Connection, Data);
// End of message marker to avoid waiting for the end of timeout
Marker = Chars.LF;
Result = OPI_TCP.ReadBinaryData(Connection, , Marker);
OPI_TCP.CloseConnection(Connection);
// END
Result = ПолучитьСтрокуИзДвоичныхДанных(Result);
OPI_TestDataRetrieval.WriteLog(Result, "ReadBinaryData", "TCP");
OPI_TestDataRetrieval.Check_String(Result, Message);
Connection = OPI_TCP.CreateConnection(Address);
OPI_TCP.SendBinaryData(Connection, Data);
Result = OPI_TCP.ReadBinaryData(Connection, , , 50000);
OPI_TCP.CloseConnection(Connection);
Result = ПолучитьСтрокуИзДвоичныхДанных(Result);
OPI_TestDataRetrieval.WriteLog(Result, "ReadBinaryData (timeout)", "TCP");
OPI_TestDataRetrieval.Check_String(Result, Message);
EndProcedure
#EndRegion
#EndRegion
#EndRegion

View File

@ -69,6 +69,7 @@ Function GetTestingSectionMapping() Export
Sections.Insert("CDEK" , 5);
Sections.Insert("YandexMetrika" , 5);
Sections.Insert("S3" , 5);
Sections.Insert("TCP" , 5);
Return Sections;
@ -100,6 +101,7 @@ Function GetTestingSectionMappingGA() Export
Sections.Insert("CDEK" , StandardDependencies);
Sections.Insert("YandexMetrika" , StandardDependencies);
Sections.Insert("S3" , StandardDependencies);
Sections.Insert("TCP" , StandardDependencies);
Return Sections;
@ -127,6 +129,7 @@ Function GetTestTable() Export
Cdek = "CDEK";
Metrika = "YandexMetrika";
S3_ = "S3";
TCP = "TCP";
TestTable = New ValueTable;
TestTable.Columns.Add("Method");
@ -258,6 +261,7 @@ Function GetTestTable() Export
NewTest(TestTable, "AWS_CommonMethods" , "Common methods" , S3_);
NewTest(TestTable, "AWS_BucketsManagement" , "Buckets management" , S3_);
NewTest(TestTable, "AWS_ObjectsManagement" , "Objects management" , S3_);
NewTest(TestTable, "TC_Client" , "TCP Client" , TCP);
Return TestTable;
@ -557,8 +561,14 @@ Procedure Check_Empty(Val Result) Export
EndProcedure
Procedure Check_String(Val Result) Export
Procedure Check_String(Val Result, Val ComparisonObject = "") Export
ExpectsThat(Result).ИмеетТип("String");
If ValueIsFilled(ComparisonObject) Then
ExpectsThat(Result).Равно(ComparisonObject);
EndIf;
EndProcedure
Procedure Check_BinaryData(Val Result, Val Size = Undefined) Export
@ -603,6 +613,18 @@ Procedure Check_Structure(Val Result) Export
EndProcedure
Procedure Check_Filled(Val Result) Export
ExpectsThat(ValueIsFilled(Result)).Равно(True);
EndProcedure
Procedure Check_True(Val Result) Export
ExpectsThat(Result).Равно(True);
EndProcedure
Procedure Check_TelegramTrue(Val Result) Export
ExpectsThat(Result).ИмеетТип("Map").Заполнено();

View File

@ -93,16 +93,26 @@ EndFunction
// Parameters:
// Connection - Arbitrary - Connection, see. CreateConnection - tcp
// MaxSize - Number - Maximum data size (bytes). 0 > no limit - size
// Marker - String, BinaryData - End of message marker. Empty > without marker - marker
// Timeout - Number - Data waiting timeout (ms). 0 > no limit - timeout
//
// Returns:
// BinaryData - Received data
Function ReadBinaryData(Val Connection, Val MaxSize = 0, Val Timeout = 5000) Export
Function ReadBinaryData(Val Connection
, Val MaxSize = 0
, Val Marker = ""
, Val Timeout = 5000) Export
OPI_TypeConversion.GetNumber(Timeout);
OPI_TypeConversion.GetNumber(MaxSize);
Data = Connection.Read(MaxSize, Timeout);
If TypeOf(Marker) = Type("String") Then
Marker = GetBinaryDataFromString(Marker);
Else
OPI_TypeConversion.GetBinaryData(Marker);
EndIf;
Data = Connection.Read(MaxSize, Marker, Timeout);
Return Data;
@ -118,15 +128,19 @@ EndFunction
// Parameters:
// Connection - Arbitrary - Connection, see. CreateConnection - tcp
// Encoding - String - Encoding of data conversion to string - enc
// Marker - String, BinaryData - End of message marker. Empty > without marker - marker
// Timeout - Number - Data waiting timeout (ms). 0 > no limit - timeout
//
// Returns:
// String - Received data as string
Function ReadLine(Val Connection, Val Encoding = "UTF-8", Val Timeout = 5000) Export
Function ReadLine(Val Connection
, Val Encoding = "UTF-8"
, Val Marker = ""
, Val Timeout = 5000) Export
OPI_TypeConversion.GetLine(Encoding);
Data = ReadBinaryData(Connection, , Timeout);
Data = ReadBinaryData(Connection, , Marker, Timeout);
Data = GetStringFromBinaryData(Data, Encoding);
Return Data;

View File

@ -69,6 +69,7 @@ Function GetTestingSectionMapping() Export
Sections.Insert("CDEK" , 5);
Sections.Insert("YandexMetrika" , 5);
Sections.Insert("S3" , 5);
Sections.Insert("TCP" , 5);
Return Sections;
@ -100,6 +101,7 @@ Function GetTestingSectionMappingGA() Export
Sections.Insert("CDEK" , StandardDependencies);
Sections.Insert("YandexMetrika" , StandardDependencies);
Sections.Insert("S3" , StandardDependencies);
Sections.Insert("TCP" , StandardDependencies);
Return Sections;
@ -127,6 +129,7 @@ Function GetTestTable() Export
Cdek = "CDEK";
Metrika = "YandexMetrika";
S3_ = "S3";
TCP = "TCP";
TestTable = New ValueTable;
TestTable.Columns.Add("Method");
@ -258,6 +261,7 @@ Function GetTestTable() Export
NewTest(TestTable, "AWS_CommonMethods" , "Common methods" , S3_);
NewTest(TestTable, "AWS_BucketsManagement" , "Buckets management" , S3_);
NewTest(TestTable, "AWS_ObjectsManagement" , "Objects management" , S3_);
NewTest(TestTable, "TC_Client" , "TCP Client" , TCP);
Return TestTable;
@ -557,8 +561,14 @@ Procedure Check_Empty(Val Result) Export
EndProcedure
Procedure Check_String(Val Result) Export
Procedure Check_String(Val Result, Val ComparisonObject = "") Export
ExpectsThat(Result).ИмеетТип("String");
If ValueIsFilled(ComparisonObject) Then
ExpectsThat(Result).Равно(ComparisonObject);
EndIf;
EndProcedure
Procedure Check_BinaryData(Val Result, Val Size = Undefined) Export
@ -603,6 +613,18 @@ Procedure Check_Structure(Val Result) Export
EndProcedure
Procedure Check_Filled(Val Result) Export
ExpectsThat(ValueIsFilled(Result)).Равно(True);
EndProcedure
Procedure Check_True(Val Result) Export
ExpectsThat(Result).Равно(True);
EndProcedure
Procedure Check_TelegramTrue(Val Result) Export
ExpectsThat(Result).ИмеетТип("Map").Заполнено();

View File

@ -2172,6 +2172,21 @@ EndProcedure
#EndRegion
#Region TCP
Procedure TC_Client() Export
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("TCP_Address", TestParameters);
TCP_CreateConnection(TestParameters);
TCP_CloseConnection(TestParameters);
TCP_ReadBinaryData(TestParameters);
EndProcedure
#EndRegion
#EndRegion
#EndRegion
@ -15650,6 +15665,75 @@ EndProcedure
#EndRegion
#Region TCP
Procedure TCP_CreateConnection(FunctionParameters)
Address = FunctionParameters["TCP_Address"];
Connection = OPI_TCP.CreateConnection(Address);
Result = String(Connection); // SKIP
OPI_TCP.CloseConnection(Connection);
// END
OPI_TestDataRetrieval.WriteLog(Result, "CreateConnection", "TCP");
OPI_TestDataRetrieval.Check_Filled(Result);
EndProcedure
Procedure TCP_CloseConnection(FunctionParameters)
Address = FunctionParameters["TCP_Address"];
Connection = OPI_TCP.CreateConnection(Address);
Result = OPI_TCP.CloseConnection(Connection);
// END
OPI_TestDataRetrieval.WriteLog(Result, "CloseConnection", "TCP");
OPI_TestDataRetrieval.Check_True(Result);
EndProcedure
Procedure TCP_ReadBinaryData(FunctionParameters) Export
Address = FunctionParameters["TCP_Address"];
Connection = OPI_TCP.CreateConnection(Address);
Message = "Hello server!" + Chars.LF;
Data = GetBinaryDataFromString(Message);
OPI_TCP.SendBinaryData(Connection, Data);
// End of message marker to avoid waiting for the end of timeout
Marker = Chars.LF;
Result = OPI_TCP.ReadBinaryData(Connection, , Marker);
OPI_TCP.CloseConnection(Connection);
// END
Result = GetStringFromBinaryData(Result);
OPI_TestDataRetrieval.WriteLog(Result, "ReadBinaryData", "TCP");
OPI_TestDataRetrieval.Check_String(Result, Message);
Connection = OPI_TCP.CreateConnection(Address);
OPI_TCP.SendBinaryData(Connection, Data);
Result = OPI_TCP.ReadBinaryData(Connection, , , 50000);
OPI_TCP.CloseConnection(Connection);
Result = GetStringFromBinaryData(Result);
OPI_TestDataRetrieval.WriteLog(Result, "ReadBinaryData (timeout)", "TCP");
OPI_TestDataRetrieval.Check_String(Result, Message);
EndProcedure
#EndRegion
#EndRegion
#EndRegion

View File

@ -5,5 +5,9 @@
<key>en</key>
<value>TCPClient</value>
</synonym>
<synonym>
<key></key>
<value>OPI TCPClient</value>
</synonym>
<templateType>AddIn</templateType>
</mdclass:CommonTemplate>

View File

@ -77,9 +77,9 @@
ЦветнойВывод.ВывестиСтроку(Символы.ПС + " (##|#color=Зеленый) Library - (" + Команда + "|#color=Бирюза)");
ТаблицаПараметров.Свернуть("Метод,Область");
ЦветнойВывод.ВывестиСтроку(" (##|#color=Зеленый) Available methods" + Символы.ПС);
Консоль.ЦветТекста = ЦветКонсоли.Желтый;
Консоль.ЦветТекста = ЦветКонсоли.Белый;
ТекущаяОбласть = "";
Счетчик = 0;
@ -92,7 +92,7 @@
Если ТекущаяОбласть <> СтрокаМетода.Область Тогда
ТекущаяОбласть = СтрокаМетода.Область;
ЦветнойВывод.ВывестиСтроку(" (o|#color=Белый) (" + ТекущаяОбласть + "|#color=Бирюза)");
ЦветнойВывод.ВывестиСтроку(" (o|#color=Желтый) (" + ТекущаяОбласть + "|#color=Бирюза)");
Первый = Истина;
КонецЕсли;
@ -112,7 +112,7 @@
Метка = " ├─";
КонецЕсли;
ЦветнойВывод.ВывестиСтроку(" (" + Метка + "|#color=Белый) " + СтрокаМетода.Метод);
ЦветнойВывод.ВывестиСтроку(" (" + Метка + "|#color=Желтый) " + СтрокаМетода.Метод);
Счетчик = Счетчик + 1;
КонецЦикла;

View File

@ -99,17 +99,17 @@
// Возвращаемое значение:
// ДвоичныеДанные - Полученные данные
Функция ПрочитатьДвоичныеДанные(Знач Соединение
, Знач МаксимальныйРазмер = 0
, Знач Маркер = ""
, Знач Таймаут = 5000) Экспорт
, Знач МаксимальныйРазмер = 0
, Знач Маркер = ""
, Знач Таймаут = 5000) Экспорт
OPI_ПреобразованиеТипов.ПолучитьЧисло(Таймаут);
OPI_ПреобразованиеТипов.ПолучитьЧисло(МаксимальныйРазмер);
Если ТипЗнч(Маркер) = Тип("Строка") Тогда
Маркер = ПолучитьДвоичныеДанныеИзСтроки(Маркер);
Маркер = ПолучитьДвоичныеДанныеИзСтроки(Маркер);
Иначе
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Маркер);
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Маркер);
КонецЕсли;
Данные = Соединение.Read(МаксимальныйРазмер, Маркер, Таймаут);
@ -134,9 +134,9 @@
// Возвращаемое значение:
// Строка - Полученные данные в виде строки
Функция ПрочитатьСтроку(Знач Соединение
, Знач Кодировка = "UTF-8"
, Знач Маркер = ""
, Знач Таймаут = 5000) Экспорт
, Знач Кодировка = "UTF-8"
, Знач Маркер = ""
, Знач Таймаут = 5000) Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Кодировка);

View File

@ -2175,13 +2175,13 @@
#Область TCP
Процедура TC_Клиент() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("TCP_Address", ПараметрыТеста);
TCP_ОткрытьСоединение(ПараметрыТеста);
TCP_ЗакрытьСоединение(ПараметрыТеста);
TCP_ПрочитатьДвоичныеДанные(ПараметрыТеста);
TCP_ОткрытьСоединение(ПараметрыТеста);
TCP_ЗакрытьСоединение(ПараметрыТеста);
TCP_ПрочитатьДвоичныеДанные(ПараметрыТеста);
КонецПроцедуры
@ -15668,13 +15668,13 @@
#Область TCP
Процедура TCP_ОткрытьСоединение(ПараметрыФункции)
Адрес = ПараметрыФункции["TCP_Address"];
Соединение = OPI_TCP.ОткрытьСоединение(Адрес);
Результат = Строка(Соединение); // SKIP
OPI_TCP.ЗакрытьСоединение(Соединение);
Адрес = ПараметрыФункции["TCP_Address"];
Соединение = OPI_TCP.ОткрытьСоединение(Адрес);
Результат = Строка(Соединение); // SKIP
OPI_TCP.ЗакрытьСоединение(Соединение);
// END
@ -15684,11 +15684,11 @@
КонецПроцедуры
Процедура TCP_ЗакрытьСоединение(ПараметрыФункции)
Адрес = ПараметрыФункции["TCP_Address"];
Соединение = OPI_TCP.ОткрытьСоединение(Адрес);
Результат = OPI_TCP.ЗакрытьСоединение(Соединение);
Адрес = ПараметрыФункции["TCP_Address"];
Соединение = OPI_TCP.ОткрытьСоединение(Адрес);
Результат = OPI_TCP.ЗакрытьСоединение(Соединение);
// END
@ -15698,37 +15698,37 @@
КонецПроцедуры
Процедура TCP_ПрочитатьДвоичныеДанные(ПараметрыФункции) Экспорт
Адрес = ПараметрыФункции["TCP_Address"];
Соединение = OPI_TCP.ОткрытьСоединение(Адрес);
Сообщение = "Hello server!" + Символы.ПС;
Данные = ПолучитьДвоичныеДанныеИзСтроки(Сообщение);
OPI_TCP.ОтправитьДвоичныеДанные(Соединение, Данные);
// Маркер конца сообщения для исключения ожидания конца таймаута
Маркер = Символы.ПС;
Результат = OPI_TCP.ПрочитатьДвоичныеДанные(Соединение, , Маркер);
OPI_TCP.ЗакрытьСоединение(Соединение);
Адрес = ПараметрыФункции["TCP_Address"];
Соединение = OPI_TCP.ОткрытьСоединение(Адрес);
Сообщение = "Hello server!" + Символы.ПС;
Данные = ПолучитьДвоичныеДанныеИзСтроки(Сообщение);
OPI_TCP.ОтправитьДвоичныеДанные(Соединение, Данные);
// Маркер конца сообщения для исключения ожидания конца таймаута
Маркер = Символы.ПС;
Результат = OPI_TCP.ПрочитатьДвоичныеДанные(Соединение, , Маркер);
OPI_TCP.ЗакрытьСоединение(Соединение);
// END
Результат = ПолучитьСтрокуИзДвоичныхДанных(Результат);
Результат = ПолучитьСтрокуИзДвоичныхДанных(Результат);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПрочитатьДвоичныеДанные", "TCP");
OPI_ПолучениеДанныхТестов.Проверка_Строка(Результат, Сообщение);
Соединение = OPI_TCP.ОткрытьСоединение(Адрес);
OPI_TCP.ОтправитьДвоичныеДанные(Соединение, Данные);
Результат = OPI_TCP.ПрочитатьДвоичныеДанные(Соединение, , , 50000);
OPI_TCP.ЗакрытьСоединение(Соединение);
Результат = ПолучитьСтрокуИзДвоичныхДанных(Результат);
Соединение = OPI_TCP.ОткрытьСоединение(Адрес);
OPI_TCP.ОтправитьДвоичныеДанные(Соединение, Данные);
Результат = OPI_TCP.ПрочитатьДвоичныеДанные(Соединение, , , 50000);
OPI_TCP.ЗакрытьСоединение(Соединение);
Результат = ПолучитьСтрокуИзДвоичныхДанных(Результат);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПрочитатьДвоичныеДанные (таймаут)", "TCP");
OPI_ПолучениеДанныхТестов.Проверка_Строка(Результат, Сообщение);
КонецПроцедуры

View File

@ -69,7 +69,7 @@
Разделы.Вставить("CDEK" , 5);
Разделы.Вставить("YandexMetrika" , 5);
Разделы.Вставить("S3" , 5);
Разделы.Вставить("TCP" , 5);
Разделы.Вставить("TCP" , 5);
Возврат Разделы;
@ -101,7 +101,7 @@
Разделы.Вставить("CDEK" , СтандартныеЗависимости);
Разделы.Вставить("YandexMetrika" , СтандартныеЗависимости);
Разделы.Вставить("S3" , СтандартныеЗависимости);
Разделы.Вставить("TCP" , СтандартныеЗависимости);
Разделы.Вставить("TCP" , СтандартныеЗависимости);
Возврат Разделы;
@ -129,7 +129,7 @@
Сдэк = "CDEK";
Метрика = "YandexMetrika";
S3_ = "S3";
TCP = "TCP";
TCP = "TCP";
ТаблицаТестов = Новый ТаблицаЗначений;
ТаблицаТестов.Колонки.Добавить("Метод");
@ -261,7 +261,7 @@
НовыйТест(ТаблицаТестов, "AWS_ОбщиеМетоды" , "Общие методы" , S3_);
НовыйТест(ТаблицаТестов, "AWS_РаботаСБакетами" , "Работа с бакетами" , S3_);
НовыйТест(ТаблицаТестов, "AWS_РаботаСОбъектами" , "Работа с объектами" , S3_);
НовыйТест(ТаблицаТестов, "TC_Клиент" , "TCP Клиент" , TCP);
НовыйТест(ТаблицаТестов, "TC_Клиент" , "TCP Клиент" , TCP);
Возврат ТаблицаТестов;
@ -562,13 +562,13 @@
КонецПроцедуры
Процедура Проверка_Строка(Знач Результат, Знач ОбъектСравнения = "") Экспорт
ОжидаетЧто(Результат).ИмеетТип("Строка");
Если ЗначениеЗаполнено(ОбъектСравнения) Тогда
ОжидаетЧто(Результат).Равно(ОбъектСравнения);
КонецЕсли;
Если ЗначениеЗаполнено(ОбъектСравнения) Тогда
ОжидаетЧто(Результат).Равно(ОбъектСравнения);
КонецЕсли;
КонецПроцедуры
Процедура Проверка_ДвоичныеДанные(Знач Результат, Знач Размер = Неопределено) Экспорт
@ -620,9 +620,9 @@
КонецПроцедуры
Процедура Проверка_Истина(Знач Результат) Экспорт
ОжидаетЧто(Результат).Равно(Истина);
ОжидаетЧто(Результат).Равно(Истина);
КонецПроцедуры
Процедура Проверка_ТелеграмИстина(Знач Результат) Экспорт
@ -2060,9 +2060,9 @@
КонецФункции
Функция ПолучитьОбщийМодуль(Знач Имя)
Модуль = Вычислить(Имя);
Возврат Модуль;
КонецФункции

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/core/Modules/OPI_TCP.os
// OneScript: ./OInt/core/Modules/OPI_TCP.os
// Lib: TCP
// CLI: tcp
@ -99,17 +99,17 @@
// Возвращаемое значение:
// ДвоичныеДанные - Полученные данные
Функция ПрочитатьДвоичныеДанные(Знач Соединение
, Знач МаксимальныйРазмер = 0
, Знач Маркер = ""
, Знач Таймаут = 5000) Экспорт
, Знач МаксимальныйРазмер = 0
, Знач Маркер = ""
, Знач Таймаут = 5000) Экспорт
OPI_ПреобразованиеТипов.ПолучитьЧисло(Таймаут);
OPI_ПреобразованиеТипов.ПолучитьЧисло(МаксимальныйРазмер);
Если ТипЗнч(Маркер) = Тип("Строка") Тогда
Маркер = ПолучитьДвоичныеДанныеИзСтроки(Маркер);
Маркер = ПолучитьДвоичныеДанныеИзСтроки(Маркер);
Иначе
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Маркер);
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Маркер);
КонецЕсли;
Данные = Соединение.Read(МаксимальныйРазмер, Маркер, Таймаут);
@ -134,9 +134,9 @@
// Возвращаемое значение:
// Строка - Полученные данные в виде строки
Функция ПрочитатьСтроку(Знач Соединение
, Знач Кодировка = "UTF-8"
, Знач Маркер = ""
, Знач Таймаут = 5000) Экспорт
, Знач Кодировка = "UTF-8"
, Знач Маркер = ""
, Знач Таймаут = 5000) Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Кодировка);

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/tools/Modules/OPI_ПолучениеДанныхТестов.os
// OneScript: ./OInt/tools/Modules/OPI_ПолучениеДанныхТестов.os
// MIT License
@ -69,7 +69,7 @@
Разделы.Вставить("CDEK" , 5);
Разделы.Вставить("YandexMetrika" , 5);
Разделы.Вставить("S3" , 5);
Разделы.Вставить("TCP" , 5);
Разделы.Вставить("TCP" , 5);
Возврат Разделы;
@ -101,7 +101,7 @@
Разделы.Вставить("CDEK" , СтандартныеЗависимости);
Разделы.Вставить("YandexMetrika" , СтандартныеЗависимости);
Разделы.Вставить("S3" , СтандартныеЗависимости);
Разделы.Вставить("TCP" , СтандартныеЗависимости);
Разделы.Вставить("TCP" , СтандартныеЗависимости);
Возврат Разделы;
@ -129,7 +129,7 @@
Сдэк = "CDEK";
Метрика = "YandexMetrika";
S3_ = "S3";
TCP = "TCP";
TCP = "TCP";
ТаблицаТестов = Новый ТаблицаЗначений;
ТаблицаТестов.Колонки.Добавить("Метод");
@ -261,7 +261,7 @@
НовыйТест(ТаблицаТестов, "AWS_ОбщиеМетоды" , "Общие методы" , S3_);
НовыйТест(ТаблицаТестов, "AWS_РаботаСБакетами" , "Работа с бакетами" , S3_);
НовыйТест(ТаблицаТестов, "AWS_РаботаСОбъектами" , "Работа с объектами" , S3_);
НовыйТест(ТаблицаТестов, "TC_Клиент" , "TCP Клиент" , TCP);
НовыйТест(ТаблицаТестов, "TC_Клиент" , "TCP Клиент" , TCP);
Возврат ТаблицаТестов;
@ -562,13 +562,13 @@
КонецПроцедуры
Процедура Проверка_Строка(Знач Результат, Знач ОбъектСравнения = "") Экспорт
ОжидаетЧто(Результат).ИмеетТип("Строка");
Если ЗначениеЗаполнено(ОбъектСравнения) Тогда
ОжидаетЧто(Результат).Равно(ОбъектСравнения);
КонецЕсли;
Если ЗначениеЗаполнено(ОбъектСравнения) Тогда
ОжидаетЧто(Результат).Равно(ОбъектСравнения);
КонецЕсли;
КонецПроцедуры
Процедура Проверка_ДвоичныеДанные(Знач Результат, Знач Размер = Неопределено) Экспорт
@ -620,9 +620,9 @@
КонецПроцедуры
Процедура Проверка_Истина(Знач Результат) Экспорт
ОжидаетЧто(Результат).Равно(Истина);
ОжидаетЧто(Результат).Равно(Истина);
КонецПроцедуры
Процедура Проверка_ТелеграмИстина(Знач Результат) Экспорт

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
// MIT License
@ -2175,13 +2175,13 @@
#Область TCP
Процедура TC_Клиент() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("TCP_Address", ПараметрыТеста);
TCP_ОткрытьСоединение(ПараметрыТеста);
TCP_ЗакрытьСоединение(ПараметрыТеста);
TCP_ПрочитатьДвоичныеДанные(ПараметрыТеста);
TCP_ОткрытьСоединение(ПараметрыТеста);
TCP_ЗакрытьСоединение(ПараметрыТеста);
TCP_ПрочитатьДвоичныеДанные(ПараметрыТеста);
КонецПроцедуры
@ -15668,13 +15668,13 @@
#Область TCP
Процедура TCP_ОткрытьСоединение(ПараметрыФункции)
Адрес = ПараметрыФункции["TCP_Address"];
Соединение = OPI_TCP.ОткрытьСоединение(Адрес);
Результат = Строка(Соединение); // SKIP
OPI_TCP.ЗакрытьСоединение(Соединение);
Адрес = ПараметрыФункции["TCP_Address"];
Соединение = OPI_TCP.ОткрытьСоединение(Адрес);
Результат = Строка(Соединение); // SKIP
OPI_TCP.ЗакрытьСоединение(Соединение);
// END
@ -15684,11 +15684,11 @@
КонецПроцедуры
Процедура TCP_ЗакрытьСоединение(ПараметрыФункции)
Адрес = ПараметрыФункции["TCP_Address"];
Соединение = OPI_TCP.ОткрытьСоединение(Адрес);
Результат = OPI_TCP.ЗакрытьСоединение(Соединение);
Адрес = ПараметрыФункции["TCP_Address"];
Соединение = OPI_TCP.ОткрытьСоединение(Адрес);
Результат = OPI_TCP.ЗакрытьСоединение(Соединение);
// END
@ -15698,37 +15698,37 @@
КонецПроцедуры
Процедура TCP_ПрочитатьДвоичныеДанные(ПараметрыФункции) Экспорт
Адрес = ПараметрыФункции["TCP_Address"];
Соединение = OPI_TCP.ОткрытьСоединение(Адрес);
Сообщение = "Hello server!" + Символы.ПС;
Данные = ПолучитьДвоичныеДанныеИзСтроки(Сообщение);
OPI_TCP.ОтправитьДвоичныеДанные(Соединение, Данные);
// Маркер конца сообщения для исключения ожидания конца таймаута
Маркер = Символы.ПС;
Результат = OPI_TCP.ПрочитатьДвоичныеДанные(Соединение, , Маркер);
OPI_TCP.ЗакрытьСоединение(Соединение);
Адрес = ПараметрыФункции["TCP_Address"];
Соединение = OPI_TCP.ОткрытьСоединение(Адрес);
Сообщение = "Hello server!" + Символы.ПС;
Данные = ПолучитьДвоичныеДанныеИзСтроки(Сообщение);
OPI_TCP.ОтправитьДвоичныеДанные(Соединение, Данные);
// Маркер конца сообщения для исключения ожидания конца таймаута
Маркер = Символы.ПС;
Результат = OPI_TCP.ПрочитатьДвоичныеДанные(Соединение, , Маркер);
OPI_TCP.ЗакрытьСоединение(Соединение);
// END
Результат = ПолучитьСтрокуИзДвоичныхДанных(Результат);
Результат = ПолучитьСтрокуИзДвоичныхДанных(Результат);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПрочитатьДвоичныеДанные", "TCP");
OPI_ПолучениеДанныхТестов.Проверка_Строка(Результат, Сообщение);
Соединение = OPI_TCP.ОткрытьСоединение(Адрес);
OPI_TCP.ОтправитьДвоичныеДанные(Соединение, Данные);
Результат = OPI_TCP.ПрочитатьДвоичныеДанные(Соединение, , , 50000);
OPI_TCP.ЗакрытьСоединение(Соединение);
Результат = ПолучитьСтрокуИзДвоичныхДанных(Результат);
Соединение = OPI_TCP.ОткрытьСоединение(Адрес);
OPI_TCP.ОтправитьДвоичныеДанные(Соединение, Данные);
Результат = OPI_TCP.ПрочитатьДвоичныеДанные(Соединение, , , 50000);
OPI_TCP.ЗакрытьСоединение(Соединение);
Результат = ПолучитьСтрокуИзДвоичныхДанных(Результат);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПрочитатьДвоичныеДанные (таймаут)", "TCP");
OPI_ПолучениеДанныхТестов.Проверка_Строка(Результат, Сообщение);
КонецПроцедуры