1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2026-05-02 20:52:28 +02:00

Main build (Jenkins)

This commit is contained in:
Vitaly the Alpaca (bot)
2025-08-05 21:48:04 +03:00
parent ee7604abd5
commit c3de20568e
38 changed files with 10476 additions and 8366 deletions
+1
View File
@@ -0,0 +1 @@
{"Host":"172.33.0.10","Port":21,"Login":"bayselonarrend","Password":"12we...","ProxyType":"http","ProxyAddress":"127.0.0.1","ProxyPort":8071,"ProxyLogin":"proxyuser","ProxyPassword":"12we..."}
+1
View File
@@ -0,0 +1 @@
{"Host":"172.33.0.10","Port":21,"Login":"bayselonarrend","Password":"12we...","ProxyType":"http","ProxyAddress":"127.0.0.1","ProxyPort":8071,"ProxyLogin":"proxyuser","ProxyPassword":"12we..."}
+37
View File
@@ -0,0 +1,37 @@
Host = "172.33.0.10";
Port = "21";
Login = "bayselonarrend";
Password = "12we...";
UseProxy = True;
FTPS = True;
ProxySettings = Undefined;
TLSSettings = Undefined; // FTPS
FTPSettings = OPI_FTP.GetConnectionSettings(Host, Port, Login, Password);
If UseProxy Then
ProxyType = "http"; // http, socks5, socks4
ProxyAddress = "127.0.0.1";
ProxyPort = "8071";
ProxyLogin = "proxyuser";
ProxyPassword = "12we...";
ProxySettings = OPI_FTP.GetProxySettings(ProxyAddress, ProxyPort, ProxyType, ProxyLogin, ProxyPassword);
EndIf;
If FTPS Then
TLSSettings = OPI_FTP.GetTlsSettings(True);
EndIf;
Connection = OPI_FTP.CreateConnection(FTPSettings, ProxySettings, TLSSettings);
If OPI_FTP.IsConnector(Connection) Then
Result = OPI_FTP.RenameObject(Connection, "new_dir/big.bin", "new_dir/giant.bin");
Else
Result = Connection; // Error of connection
EndIf;
+42
View File
@@ -0,0 +1,42 @@
Host = "172.33.0.10";
Port = "21";
Login = "bayselonarrend";
Password = "12we...";
UseProxy = True;
FTPS = True;
ProxySettings = Undefined;
TLSSettings = Undefined; // FTPS
FTPSettings = OPI_FTP.GetConnectionSettings(Host, Port, Login, Password);
If UseProxy Then
ProxyType = "http"; // http, socks5, socks4
ProxyAddress = "127.0.0.1";
ProxyPort = "8071";
ProxyLogin = "proxyuser";
ProxyPassword = "12we...";
ProxySettings = OPI_FTP.GetProxySettings(ProxyAddress, ProxyPort, ProxyType, ProxyLogin, ProxyPassword);
EndIf;
If FTPS Then
TLSSettings = OPI_FTP.GetTlsSettings(True);
EndIf;
Connection = OPI_FTP.CreateConnection(FTPSettings, ProxySettings, TLSSettings);
If OPI_FTP.IsConnector(Connection) Then
Path = "new_dir/big.bin";
FileName = GetTempFileName("bin");
Result = OPI_FTP.SaveFile(Connection, Path, FileName);
Else
Result = Connection; // Error of connection
EndIf;
+1 -1
View File
@@ -1,5 +1,5 @@
---
sidebar_position: 7
sidebar_position: 8
description: Get connection settings and other functions to work with FTP in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, FTP]
---
+1 -1
View File
@@ -1,5 +1,5 @@
---
sidebar_position: 8
sidebar_position: 9
description: Get proxy settings and other functions to work with FTP in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, FTP]
---
+1 -1
View File
@@ -1,5 +1,5 @@
---
sidebar_position: 9
sidebar_position: 10
description: Get TLS Settings and other functions to work with FTP in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, FTP]
---
+1 -1
View File
@@ -1,5 +1,5 @@
---
sidebar_position: 6
sidebar_position: 7
description: Is connector and other functions to work with FTP in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, FTP]
---
+78
View File
@@ -0,0 +1,78 @@
---
sidebar_position: 6
description: Rename object and other functions to work with FTP in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, FTP]
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Rename object
Changes the object's path to the specified one
`Function RenameObject(Val Connection, Val Path, Val NewPath) Export`
| Parameter | CLI option | Type | Required | Description |
|-|-|-|-|-|
| Connection | --conn | Arbitrary | ✔ | Existing connection or connection configuration |
| Path | --old | String | ✔ | Current path to object |
| NewPath | --new | String | ✔ | New path to object |
Returns: Map Of KeyAndValue - Processing result
<br/>
:::tip
The ability to move an object from one directory to another using renaming depends on the server settings
:::
<br/>
```bsl title="1C:Enterprise/OneScript code example"
Host = "172.33.0.10";
Port = "21";
Login = "bayselonarrend";
Password = "12we...";
UseProxy = True;
FTPS = True;
ProxySettings = Undefined;
TLSSettings = Undefined; // FTPS
FTPSettings = OPI_FTP.GetConnectionSettings(Host, Port, Login, Password);
If UseProxy Then
ProxyType = "http"; // http, socks5, socks4
ProxyAddress = "127.0.0.1";
ProxyPort = "8071";
ProxyLogin = "proxyuser";
ProxyPassword = "12we...";
ProxySettings = OPI_FTP.GetProxySettings(ProxyAddress, ProxyPort, ProxyType, ProxyLogin, ProxyPassword);
EndIf;
If FTPS Then
TLSSettings = OPI_FTP.GetTlsSettings(True);
EndIf;
Connection = OPI_FTP.CreateConnection(FTPSettings, ProxySettings, TLSSettings);
If OPI_FTP.IsConnector(Connection) Then
Result = OPI_FTP.RenameObject(Connection, "new_dir/big.bin", "new_dir/giant.bin");
Else
Result = Connection; // Error of connection
EndIf;
```
+79
View File
@@ -0,0 +1,79 @@
---
sidebar_position: 3
description: Save file and other functions to work with FTP in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, FTP]
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Save file
Saves the file from the server to the specified path
`Function SaveFile(Val Connection, Val Path, Val FileName) Export`
| Parameter | CLI option | Type | Required | Description |
|-|-|-|-|-|
| Connection | --conn | Arbitrary | &#x2714; | Existing connection or connection configuration |
| Path | --path | String | &#x2714; | Path to file on server |
| FileName | --file | String | &#x2714; | Path to save file on disk |
Returns: Map Of KeyAndValue - Processing result
<br/>
```bsl title="1C:Enterprise/OneScript code example"
Host = "172.33.0.10";
Port = "21";
Login = "bayselonarrend";
Password = "12we...";
UseProxy = True;
FTPS = True;
ProxySettings = Undefined;
TLSSettings = Undefined; // FTPS
FTPSettings = OPI_FTP.GetConnectionSettings(Host, Port, Login, Password);
If UseProxy Then
ProxyType = "http"; // http, socks5, socks4
ProxyAddress = "127.0.0.1";
ProxyPort = "8071";
ProxyLogin = "proxyuser";
ProxyPassword = "12we...";
ProxySettings = OPI_FTP.GetProxySettings(ProxyAddress, ProxyPort, ProxyType, ProxyLogin, ProxyPassword);
EndIf;
If FTPS Then
TLSSettings = OPI_FTP.GetTlsSettings(True);
EndIf;
Connection = OPI_FTP.CreateConnection(FTPSettings, ProxySettings, TLSSettings);
If OPI_FTP.IsConnector(Connection) Then
Path = "new_dir/big.bin";
FileName = GetTempFileName("bin");
Result = OPI_FTP.SaveFile(Connection, Path, FileName);
Else
Result = Connection; // Error of connection
EndIf;
```
@@ -0,0 +1 @@
{"Хост":"172.33.0.10","Порт":21,"Логин":"bayselonarrend","Пароль":"12we...","ТипПрокси":"http","АдресПрокси":"127.0.0.1","ПортПрокси":8071,"ЛогинПрокси":"proxyuser","ПарольПрокси":"12we..."}
+1
View File
@@ -0,0 +1 @@
{"Хост":"172.33.0.10","Порт":21,"Логин":"bayselonarrend","Пароль":"12we...","ТипПрокси":"http","АдресПрокси":"127.0.0.1","ПортПрокси":8071,"ЛогинПрокси":"proxyuser","ПарольПрокси":"12we..."}
@@ -0,0 +1,37 @@
Хост = "172.33.0.10";
Порт = "21";
Логин = "bayselonarrend";
Пароль = "12we...";
ИспользоватьПрокси = Истина;
FTPS = Истина;
НастройкиПрокси = Неопределено;
НастройкиTls = Неопределено; // FTPS
НастройкиFTP = OPI_FTP.ПолучитьНастройкиСоединения(Хост, Порт, Логин, Пароль);
Если ИспользоватьПрокси Тогда
ТипПрокси = "http"; // http, socks5, socks4
АдресПрокси = "127.0.0.1";
ПортПрокси = "8071";
ЛогинПрокси = "proxyuser";
ПарольПрокси = "12we...";
НастройкиПрокси = OPI_FTP.ПолучитьНастройкиПрокси(АдресПрокси, ПортПрокси, ТипПрокси, ЛогинПрокси, ПарольПрокси);
КонецЕсли;
Если FTPS Тогда
НастройкиTls = OPI_FTP.ПолучитьНастройкиTls(Истина);
КонецЕсли;
Соединение = OPI_FTP.ОткрытьСоединение(НастройкиFTP, НастройкиПрокси, НастройкиTls);
Если OPI_FTP.ЭтоКоннектор(Соединение) Тогда
Результат = OPI_FTP.ПереименоватьОбъект(Соединение, "new_dir/big.bin", "new_dir/giant.bin");
Иначе
Результат = Соединение; // Ошибка соединения
КонецЕсли;
+42
View File
@@ -0,0 +1,42 @@
Хост = "172.33.0.10";
Порт = "21";
Логин = "bayselonarrend";
Пароль = "12we...";
ИспользоватьПрокси = Истина;
FTPS = Истина;
НастройкиПрокси = Неопределено;
НастройкиTls = Неопределено; // FTPS
НастройкиFTP = OPI_FTP.ПолучитьНастройкиСоединения(Хост, Порт, Логин, Пароль);
Если ИспользоватьПрокси Тогда
ТипПрокси = "http"; // http, socks5, socks4
АдресПрокси = "127.0.0.1";
ПортПрокси = "8071";
ЛогинПрокси = "proxyuser";
ПарольПрокси = "12we...";
НастройкиПрокси = OPI_FTP.ПолучитьНастройкиПрокси(АдресПрокси, ПортПрокси, ТипПрокси, ЛогинПрокси, ПарольПрокси);
КонецЕсли;
Если FTPS Тогда
НастройкиTls = OPI_FTP.ПолучитьНастройкиTls(Истина);
КонецЕсли;
Соединение = OPI_FTP.ОткрытьСоединение(НастройкиFTP, НастройкиПрокси, НастройкиTls);
Если OPI_FTP.ЭтоКоннектор(Соединение) Тогда
Путь = "new_dir/big.bin";
ИмяФайла = ПолучитьИмяВременногоФайла("bin");
Результат = OPI_FTP.СохранитьФайл(Соединение, Путь, ИмяФайла);
Иначе
Результат = Соединение; // Ошибка соединения
КонецЕсли;
+1 -1
View File
@@ -1,5 +1,5 @@
---
sidebar_position: 7
sidebar_position: 8
description: Получить настройки соединения и другие функции для работы с FTP в Открытом пакете интеграций - бесплатной open-source библиотеке интеграций для 1С:Предприятие 8, OneScript и CLI
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, FTP]
---
+1 -1
View File
@@ -1,5 +1,5 @@
---
sidebar_position: 8
sidebar_position: 9
description: Получить настройки прокси и другие функции для работы с FTP в Открытом пакете интеграций - бесплатной open-source библиотеке интеграций для 1С:Предприятие 8, OneScript и CLI
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, FTP]
---
+1 -1
View File
@@ -1,5 +1,5 @@
---
sidebar_position: 9
sidebar_position: 10
description: Получить настройки TLS и другие функции для работы с FTP в Открытом пакете интеграций - бесплатной open-source библиотеке интеграций для 1С:Предприятие 8, OneScript и CLI
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, FTP]
---
+1 -1
View File
@@ -1,5 +1,5 @@
---
sidebar_position: 6
sidebar_position: 7
description: Это коннектор и другие функции для работы с FTP в Открытом пакете интеграций - бесплатной open-source библиотеке интеграций для 1С:Предприятие 8, OneScript и CLI
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, FTP]
---
+78
View File
@@ -0,0 +1,78 @@
---
sidebar_position: 6
description: Переименовать объект и другие функции для работы с FTP в Открытом пакете интеграций - бесплатной open-source библиотеке интеграций для 1С:Предприятие 8, OneScript и CLI
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, FTP]
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Переименовать объект
Изменяет путь объекта на указанный
`Функция ПереименоватьОбъект(Знач Соединение, Знач Путь, Знач НовыйПуть) Экспорт`
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|-|-|-|-|-|
| Соединение | --conn | Произвольный | &#x2714; | Существующее соединение или конфигурация соединения |
| Путь | --old | Строка | &#x2714; | Текущий путь к объекту |
| НовыйПуть | --new | Строка | &#x2714; | Новый путь к объекту |
Возвращаемое значение: Соответствие Из КлючИЗначение - Результат обработки
<br/>
:::tip
Возможность перемещения объекта из одного каталога в другой при помощи переименования зависит от настроек сервера
:::
<br/>
```bsl title="Пример использования для 1С:Предприятие/OneScript"
Хост = "172.33.0.10";
Порт = "21";
Логин = "bayselonarrend";
Пароль = "12we...";
ИспользоватьПрокси = Истина;
FTPS = Истина;
НастройкиПрокси = Неопределено;
НастройкиTls = Неопределено; // FTPS
НастройкиFTP = OPI_FTP.ПолучитьНастройкиСоединения(Хост, Порт, Логин, Пароль);
Если ИспользоватьПрокси Тогда
ТипПрокси = "http"; // http, socks5, socks4
АдресПрокси = "127.0.0.1";
ПортПрокси = "8071";
ЛогинПрокси = "proxyuser";
ПарольПрокси = "12we...";
НастройкиПрокси = OPI_FTP.ПолучитьНастройкиПрокси(АдресПрокси, ПортПрокси, ТипПрокси, ЛогинПрокси, ПарольПрокси);
КонецЕсли;
Если FTPS Тогда
НастройкиTls = OPI_FTP.ПолучитьНастройкиTls(Истина);
КонецЕсли;
Соединение = OPI_FTP.ОткрытьСоединение(НастройкиFTP, НастройкиПрокси, НастройкиTls);
Если OPI_FTP.ЭтоКоннектор(Соединение) Тогда
Результат = OPI_FTP.ПереименоватьОбъект(Соединение, "new_dir/big.bin", "new_dir/giant.bin");
Иначе
Результат = Соединение; // Ошибка соединения
КонецЕсли;
```
+79
View File
@@ -0,0 +1,79 @@
---
sidebar_position: 3
description: Сохранить файл и другие функции для работы с FTP в Открытом пакете интеграций - бесплатной open-source библиотеке интеграций для 1С:Предприятие 8, OneScript и CLI
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, FTP]
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Сохранить файл
Сохраняет файл с сервера по указанному пути
`Функция СохранитьФайл(Знач Соединение, Знач Путь, Знач ИмяФайла) Экспорт`
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|-|-|-|-|-|
| Соединение | --conn | Произвольный | &#x2714; | Существующее соединение или конфигурация соединения |
| Путь | --path | Строка | &#x2714; | Путь файла на сервере |
| ИмяФайла | --file | Строка | &#x2714; | Путь для сохранения файла на диске |
Возвращаемое значение: Соответствие Из КлючИЗначение - Результат обработки
<br/>
```bsl title="Пример использования для 1С:Предприятие/OneScript"
Хост = "172.33.0.10";
Порт = "21";
Логин = "bayselonarrend";
Пароль = "12we...";
ИспользоватьПрокси = Истина;
FTPS = Истина;
НастройкиПрокси = Неопределено;
НастройкиTls = Неопределено; // FTPS
НастройкиFTP = OPI_FTP.ПолучитьНастройкиСоединения(Хост, Порт, Логин, Пароль);
Если ИспользоватьПрокси Тогда
ТипПрокси = "http"; // http, socks5, socks4
АдресПрокси = "127.0.0.1";
ПортПрокси = "8071";
ЛогинПрокси = "proxyuser";
ПарольПрокси = "12we...";
НастройкиПрокси = OPI_FTP.ПолучитьНастройкиПрокси(АдресПрокси, ПортПрокси, ТипПрокси, ЛогинПрокси, ПарольПрокси);
КонецЕсли;
Если FTPS Тогда
НастройкиTls = OPI_FTP.ПолучитьНастройкиTls(Истина);
КонецЕсли;
Соединение = OPI_FTP.ОткрытьСоединение(НастройкиFTP, НастройкиПрокси, НастройкиTls);
Если OPI_FTP.ЭтоКоннектор(Соединение) Тогда
Путь = "new_dir/big.bin";
ИмяФайла = ПолучитьИмяВременногоФайла("bin");
Результат = OPI_FTP.СохранитьФайл(Соединение, Путь, ИмяФайла);
Иначе
Результат = Соединение; // Ошибка соединения
КонецЕсли;
```
+8236 -8236
View File
File diff suppressed because it is too large Load Diff
+79
View File
@@ -194,6 +194,43 @@ Function GetObjectSize(Val Connection, Val Path) Export
EndFunction
// Rename object
// Changes the object's path to the specified one
//
// Note
// The ability to move an object from one directory to another using renaming depends on the server settings
//
// Parameters:
// Connection - Arbitrary - Existing connection or connection configuration - conn
// Path - String - Current path to object - old
// NewPath - String - New path to object - new
//
// Returns:
// Map Of KeyAndValue - Processing result
Function RenameObject(Val Connection, Val Path, Val NewPath) Export
CloseConnection = CheckCreateConnection(Connection);
If Not IsConnector(Connection) Then
Return Connection;
Else
OPI_TypeConversion.GetLine(Path);
OPI_TypeConversion.GetLine(NewPath);
Result = Connection.RenameObject(Path, NewPath);
Result = OPI_Tools.JsonToStructure(Result);
EndIf;
If CloseConnection Then
Result.Insert("close_connection", CloseConnection(Connection));
EndIf;
Return Result;
EndFunction
// Is connector !NOCLI
// Checks that the value is an AddIn object for working with FTP
//
@@ -544,6 +581,40 @@ Function DeleteFile(Val Connection, Val Path) Export
EndFunction
// Save file
// Saves the file from the server to the specified path
//
// Parameters:
// Connection - Arbitrary - Existing connection or connection configuration - conn
// Path - String - Path to file on server - path
// FileName - String - Path to save file on disk - file
//
// Returns:
// Map Of KeyAndValue - Processing result
Function SaveFile(Val Connection, Val Path, Val FileName) Export
CloseConnection = CheckCreateConnection(Connection);
If Not IsConnector(Connection) Then
Return Connection;
Else
OPI_TypeConversion.GetLine(Path);
OPI_TypeConversion.GetLine(FileName);
Result = Connection.DownloadToFile(Path, FileName);
Result = OPI_Tools.JsonToStructure(Result);
EndIf;
If CloseConnection Then
Result.Insert("close_connection", CloseConnection(Connection));
EndIf;
Return Result;
EndFunction
#EndRegion
#EndRegion
@@ -784,6 +855,10 @@ Function ПолучитьРазмерОбъекта(Val Соединение, Va
Return GetObjectSize(Соединение, Путь);
EndFunction
Function ПереименоватьОбъект(Val Соединение, Val Путь, Val НовыйПуть) Export
Return RenameObject(Соединение, Путь, НовыйПуть);
EndFunction
Function ЭтоКоннектор(Val Значение) Export
Return IsConnector(Значение);
EndFunction
@@ -824,4 +899,8 @@ Function УдалитьФайл(Val Соединение, Val Путь) Export
Return DeleteFile(Соединение, Путь);
EndFunction
Function СохранитьФайл(Val Соединение, Val Путь, Val ИмяФайла) Export
Return SaveFile(Соединение, Путь, ИмяФайла);
EndFunction
#EndRegion
+195 -20
View File
@@ -2866,26 +2866,6 @@ EndProcedure
#Region FTP
Procedure FT_CommonMethods() Export
OptionArray = OPI_TestDataRetrieval.GetFTPParameterOptions();
For Each TestParameters In OptionArray Do
FTP_CreateConnection(TestParameters);
FTP_GetWelcomeMessage(TestParameters);
FTP_GetConnectionConfiguration(TestParameters);
FTP_CloseConnection(TestParameters);
FTP_IsConnector(TestParameters);
FTP_GetConnectionSettings(TestParameters);
FTP_GetProxySettings(TestParameters);
FTP_GetTlsSettings(TestParameters);
FTP_GetObjectSize(TestParameters);
EndDo;
EndProcedure
Procedure FT_DirecotryManagement() Export
OptionArray = OPI_TestDataRetrieval.GetFTPParameterOptions();
@@ -2908,12 +2888,34 @@ Procedure FT_FileOperations() Export
For Each TestParameters In OptionArray Do
FTP_UploadFile(TestParameters);
FTP_SaveFile(TestParameters);
FTP_DeleteFile(TestParameters);
EndDo
EndProcedure
Procedure FT_CommonMethods() Export
OptionArray = OPI_TestDataRetrieval.GetFTPParameterOptions();
For Each TestParameters In OptionArray Do
FTP_CreateConnection(TestParameters);
FTP_GetWelcomeMessage(TestParameters);
FTP_GetConnectionConfiguration(TestParameters);
FTP_CloseConnection(TestParameters);
FTP_IsConnector(TestParameters);
FTP_GetConnectionSettings(TestParameters);
FTP_GetProxySettings(TestParameters);
FTP_GetTlsSettings(TestParameters);
FTP_GetObjectSize(TestParameters);
FTP_RenameObject(TestParameters);
EndDo;
EndProcedure
#EndRegion
#EndRegion
@@ -25593,6 +25595,179 @@ Procedure FTP_GetObjectSize(FunctionParameters)
EndProcedure
Procedure FTP_RenameObject(FunctionParameters)
Host = FunctionParameters["FTP_IP"];
Port = FunctionParameters["FTP_Port"];
Login = FunctionParameters["FTP_User"];
Password = FunctionParameters["FTP_Password"];
UseProxy = True;
FTPS = True;
ProxySettings = Undefined;
TLSSettings = Undefined; // FTPS
UseProxy = FunctionParameters["Proxy"]; // SKIP
FTPS = FunctionParameters["TLS"]; // SKIP
FTPSettings = OPI_FTP.GetConnectionSettings(Host, Port, Login, Password);
If UseProxy Then
ProxyType = FunctionParameters["Proxy_Type"]; // http, socks5, socks4
ProxyAddress = FunctionParameters["Proxy_IP"];
ProxyPort = FunctionParameters["Proxy_Port"];
ProxyLogin = FunctionParameters["Proxy_User"];
ProxyPassword = FunctionParameters["Proxy_Password"];
ProxySettings = OPI_FTP.GetProxySettings(ProxyAddress, ProxyPort, ProxyType, ProxyLogin, ProxyPassword);
EndIf;
If FTPS Then
TLSSettings = OPI_FTP.GetTlsSettings(True);
EndIf;
Connection = OPI_FTP.CreateConnection(FTPSettings, ProxySettings, TLSSettings);
If OPI_FTP.IsConnector(Connection) Then
Result = OPI_FTP.RenameObject(Connection, "new_dir/big.bin", "new_dir/giant.bin");
Else
Result = Connection; // Error of connection
EndIf;
// END
Postfix = FunctionParameters["Postfix"];
OPI_TestDataRetrieval.WriteLog(Result, "RenameObject" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Result = OPI_FTP.GetObjectSize(Connection, "new_dir/giant.bin");
OPI_TestDataRetrieval.WriteLog(Result, "RenameObject (check, new)" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Result = OPI_FTP.GetObjectSize(Connection, "new_dir/big.bin");
OPI_TestDataRetrieval.WriteLog(Result, "RenameObject (check, old)" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultFalse(Result);
Result = OPI_FTP.RenameObject(Connection, "new_dir", "brand_new_dir");
OPI_TestDataRetrieval.WriteLog(Result, "RenameObject (directory)" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Result = OPI_FTP.ListObjects(Connection, ".", True);
OPI_TestDataRetrieval.WriteLog(Result, "RenameObject (list)", "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
OPI_TestDataRetrieval.Check_Array(Result["data"], 1);
OPI_TestDataRetrieval.Check_Equality(Result["data"][0]["path"] , "brand_new_dir");
OPI_TestDataRetrieval.Check_Equality(Result["data"][0]["objects"][0]["path"], "brand_new_dir/giant.bin");
Result = OPI_FTP.RenameObject(Connection, "brand_new_dir", "new_dir");
OPI_TestDataRetrieval.WriteLog(Result, "RenameObject (directory, back)" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Result = OPI_FTP.RenameObject(Connection, "new_dir/giant.bin", "new_dir/big.bin");
OPI_TestDataRetrieval.WriteLog(Result, "RenameObject (back)" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Result = OPI_FTP.ListObjects(Connection, ".", True);
OPI_TestDataRetrieval.WriteLog(Result, "RenameObject (list, back)", "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
OPI_TestDataRetrieval.Check_Array(Result["data"], 1);
OPI_TestDataRetrieval.Check_Equality(Result["data"][0]["path"] , "new_dir");
OPI_TestDataRetrieval.Check_Equality(Result["data"][0]["objects"][0]["path"], "new_dir/big.bin");
EndProcedure
Procedure FTP_SaveFile(FunctionParameters)
Host = FunctionParameters["FTP_IP"];
Port = FunctionParameters["FTP_Port"];
Login = FunctionParameters["FTP_User"];
Password = FunctionParameters["FTP_Password"];
UseProxy = True;
FTPS = True;
ProxySettings = Undefined;
TLSSettings = Undefined; // FTPS
UseProxy = FunctionParameters["Proxy"]; // SKIP
FTPS = FunctionParameters["TLS"]; // SKIP
FTPSettings = OPI_FTP.GetConnectionSettings(Host, Port, Login, Password);
If UseProxy Then
ProxyType = FunctionParameters["Proxy_Type"]; // http, socks5, socks4
ProxyAddress = FunctionParameters["Proxy_IP"];
ProxyPort = FunctionParameters["Proxy_Port"];
ProxyLogin = FunctionParameters["Proxy_User"];
ProxyPassword = FunctionParameters["Proxy_Password"];
ProxySettings = OPI_FTP.GetProxySettings(ProxyAddress, ProxyPort, ProxyType, ProxyLogin, ProxyPassword);
EndIf;
If FTPS Then
TLSSettings = OPI_FTP.GetTlsSettings(True);
EndIf;
Connection = OPI_FTP.CreateConnection(FTPSettings, ProxySettings, TLSSettings);
If OPI_FTP.IsConnector(Connection) Then
Path = "new_dir/big.bin";
FileName = GetTempFileName("bin");
Result = OPI_FTP.SaveFile(Connection, Path, FileName);
Else
Result = Connection; // Error of connection
EndIf;
// END
Postfix = FunctionParameters["Postfix"];
OPI_TestDataRetrieval.WriteLog(Result, "SaveFile" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Size = OPI_FTP.GetObjectSize(Connection, Path);
OPI_TestDataRetrieval.WriteLog(Size, "SaveFile (size)" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Size);
FileObject = New File(FileName);
FileSize = FileObject.Size();
ResultSize = Result["bytes"];
CheckSize = Size["bytes"];
OPI_TestDataRetrieval.WriteLog(FileSize, "SaveFile (file size)" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_Equality(FileSize, ResultSize);
OPI_TestDataRetrieval.Check_Equality(FileSize, CheckSize);
Try
DeleteFiles(FileName);
Except
OPI_TestDataRetrieval.WriteLog(ErrorDescription(), "Error deleting a picture file", "FTP");
EndTry;
EndProcedure
#EndRegion
#EndRegion
+252
View File
@@ -2778,6 +2778,8 @@ Procedure CLI_FT_CommonMethods() Export
CLI_FTP_GetProxySettings(TestParameters);
CLI_FTP_GetTlsSettings(TestParameters);
CLI_FTP_GetObjectSize(TestParameters);
CLI_FTP_RenameObject(TestParameters);
OPI_Tools.Pause(5);
EndDo;
@@ -2794,6 +2796,7 @@ Procedure CLI_FT_DirecotryManagement() Export
CLI_FTP_CreateDirectory(TestParameters);
CLI_FTP_ListObjects(TestParameters);
CLI_FTP_DeleteDirectory(TestParameters);
OPI_Tools.Pause(5);
EndDo;
@@ -2807,7 +2810,9 @@ Procedure CLI_FT_FileOperations() Export
For Each TestParameters In OptionArray Do
CLI_FTP_UploadFile(TestParameters);
CLI_FTP_SaveFile(TestParameters);
CLI_FTP_DeleteFile(TestParameters);
OPI_Tools.Pause(5);
EndDo
@@ -27256,6 +27261,253 @@ Procedure CLI_FTP_GetObjectSize(FunctionParameters)
EndProcedure
Procedure CLI_FTP_RenameObject(FunctionParameters)
Domain = FunctionParameters["FTP_IP"];
Port = FunctionParameters["FTP_Port"];
Login = FunctionParameters["FTP_User"];
Password = FunctionParameters["FTP_Password"];
UseProxy = True;
FTPS = True;
ProxySettings = Undefined;
TLSSettings = Undefined; // FTPS
UseProxy = FunctionParameters["Proxy"]; // SKIP
FTPS = FunctionParameters["TLS"]; // SKIP
Options = New Structure;
Options.Insert("host" , Domain);
Options.Insert("port" , Port);
Options.Insert("login", Login);
Options.Insert("pass" , Password);
FTPSettings = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "GetConnectionSettings", Options);
If UseProxy Then
ProxyType = FunctionParameters["Proxy_Type"]; // http, socks5, socks4
ProxyAddress = FunctionParameters["Proxy_IP"];
ProxyPort = FunctionParameters["Proxy_Port"];
ProxyLogin = FunctionParameters["Proxy_User"];
ProxyPassword = FunctionParameters["Proxy_Password"];
Options = New Structure;
Options.Insert("addr" , ProxyAddress);
Options.Insert("port" , ProxyPort);
Options.Insert("type" , ProxyType);
Options.Insert("login", ProxyLogin);
Options.Insert("pass" , ProxyPassword);
ProxySettings = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "GetProxySettings", Options);
EndIf;
If FTPS Then
Options = New Structure;
Options.Insert("trust", True);
TLSSettings = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "GetTlsSettings", Options);
EndIf;
Options = New Structure;
Options.Insert("set", FTPSettings);
Options = New Structure;
Options.Insert("set" , FTPSettings);
Options.Insert("proxy", ProxySettings);
Options.Insert("tls" , TLSSettings);
Connection = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "GetConnectionConfiguration", Options);
Options.Insert("conn", Connection);
Options.Insert("old" , "new_dir/big.bin");
Options.Insert("new" , "new_dir/giant.bin");
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "RenameObject", Options);
Postfix = FunctionParameters["Postfix"];
OPI_TestDataRetrieval.WriteLogCLI(Result, "RenameObject" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Options.Insert("conn", Connection);
Options.Insert("path", "new_dir/giant.bin");
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "GetObjectSize", Options);
OPI_TestDataRetrieval.WriteLogCLI(Result, "RenameObject (check, new)" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Options.Insert("conn", Connection);
Options.Insert("path", "new_dir/big.bin");
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "GetObjectSize", Options);
OPI_TestDataRetrieval.WriteLogCLI(Result, "RenameObject (check, old)" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultFalse(Result);
Options.Insert("conn", Connection);
Options.Insert("old" , "new_dir");
Options.Insert("new" , "brand_new_dir");
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "RenameObject", Options);
OPI_TestDataRetrieval.WriteLogCLI(Result, "RenameObject (directory)" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Options.Insert("conn", Connection);
Options.Insert("path", ".");
Options.Insert("rcv" , True);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "ListObjects", Options);
OPI_TestDataRetrieval.WriteLogCLI(Result, "RenameObject (list)", "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
OPI_TestDataRetrieval.Check_Array(Result["data"], 1);
OPI_TestDataRetrieval.Check_Equality(Result["data"][0]["path"] , "brand_new_dir");
OPI_TestDataRetrieval.Check_Equality(Result["data"][0]["objects"][0]["path"], "brand_new_dir/giant.bin");
Options.Insert("conn", Connection);
Options.Insert("new" , "new_dir");
Options.Insert("old" , "brand_new_dir");
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "RenameObject", Options);
OPI_TestDataRetrieval.WriteLogCLI(Result, "RenameObject (directory, back)" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Options.Insert("conn", Connection);
Options.Insert("new" , "new_dir/big.bin");
Options.Insert("old" , "new_dir/giant.bin");
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "RenameObject", Options);
OPI_TestDataRetrieval.WriteLogCLI(Result, "RenameObject (back)" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Options.Insert("conn", Connection);
Options.Insert("path", ".");
Options.Insert("rcv" , True);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "ListObjects", Options);
OPI_TestDataRetrieval.WriteLogCLI(Result, "RenameObject (list, back)", "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
OPI_TestDataRetrieval.Check_Array(Result["data"], 1);
OPI_TestDataRetrieval.Check_Equality(Result["data"][0]["path"] , "new_dir");
OPI_TestDataRetrieval.Check_Equality(Result["data"][0]["objects"][0]["path"], "new_dir/big.bin");
EndProcedure
Procedure CLI_FTP_SaveFile(FunctionParameters)
Domain = FunctionParameters["FTP_IP"];
Port = FunctionParameters["FTP_Port"];
Login = FunctionParameters["FTP_User"];
Password = FunctionParameters["FTP_Password"];
UseProxy = True;
FTPS = True;
ProxySettings = Undefined;
TLSSettings = Undefined; // FTPS
UseProxy = FunctionParameters["Proxy"]; // SKIP
FTPS = FunctionParameters["TLS"]; // SKIP
Options = New Structure;
Options.Insert("host" , Domain);
Options.Insert("port" , Port);
Options.Insert("login", Login);
Options.Insert("pass" , Password);
FTPSettings = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "GetConnectionSettings", Options);
If UseProxy Then
ProxyType = FunctionParameters["Proxy_Type"]; // http, socks5, socks4
ProxyAddress = FunctionParameters["Proxy_IP"];
ProxyPort = FunctionParameters["Proxy_Port"];
ProxyLogin = FunctionParameters["Proxy_User"];
ProxyPassword = FunctionParameters["Proxy_Password"];
Options = New Structure;
Options.Insert("addr" , ProxyAddress);
Options.Insert("port" , ProxyPort);
Options.Insert("type" , ProxyType);
Options.Insert("login", ProxyLogin);
Options.Insert("pass" , ProxyPassword);
ProxySettings = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "GetProxySettings", Options);
EndIf;
If FTPS Then
Options = New Structure;
Options.Insert("trust", True);
TLSSettings = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "GetTlsSettings", Options);
EndIf;
Options = New Structure;
Options.Insert("set", FTPSettings);
Options = New Structure;
Options.Insert("set" , FTPSettings);
Options.Insert("proxy", ProxySettings);
Options.Insert("tls" , TLSSettings);
Connection = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "GetConnectionConfiguration", Options);
Path = "new_dir/big.bin";
FileName = GetTempFileName("bin");
Options.Insert("conn", Connection);
Options.Insert("path", Path);
Options.Insert("file", FileName);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "SaveFile", Options);
Postfix = FunctionParameters["Postfix"];
OPI_TestDataRetrieval.WriteLogCLI(Result, "SaveFile" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Options.Insert("conn", Connection);
Options.Insert("path", Path);
Size = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "GetObjectSize", Options);
OPI_TestDataRetrieval.WriteLogCLI(Size, "SaveFile (size)" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Size);
FileObject = New File(FileName);
FileSize = FileObject.Size();
ResultSize = Result["bytes"];
CheckSize = Size["bytes"];
OPI_TestDataRetrieval.WriteLogCLI(FileSize, "SaveFile (file size)" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_Equality(FileSize, ResultSize);
OPI_TestDataRetrieval.Check_Equality(FileSize, CheckSize);
Try
DeleteFiles(FileName);
Except
OPI_TestDataRetrieval.WriteLog(ErrorDescription(), "Error deleting a picture file", "FTP");
EndTry;
EndProcedure
#EndRegion
#EndRegion
+1 -1
View File
@@ -327,9 +327,9 @@ Function GetTestTable() Export
NewTest(TestTable, "OAI_FileManagement" , "Files management" , OpenAI);
NewTest(TestTable, "OAI_AudioProcessing" , "Audio processing" , OpenAI);
NewTest(TestTable, "OAI_ModelsManagement" , "Models management" , OpenAI);
NewTest(TestTable, "FT_CommonMethods" , "Common methods" , FTP);
NewTest(TestTable, "FT_DirecotryManagement" , "Directory management" , FTP);
NewTest(TestTable, "FT_FileOperations" , "Files management" , FTP);
NewTest(TestTable, "FT_CommonMethods" , "Common methods" , FTP);
Return TestTable;
+71
View File
@@ -194,6 +194,43 @@ Function GetObjectSize(Val Connection, Val Path) Export
EndFunction
// Rename object
// Changes the object's path to the specified one
//
// Note
// The ability to move an object from one directory to another using renaming depends on the server settings
//
// Parameters:
// Connection - Arbitrary - Existing connection or connection configuration - conn
// Path - String - Current path to object - old
// NewPath - String - New path to object - new
//
// Returns:
// Map Of KeyAndValue - Processing result
Function RenameObject(Val Connection, Val Path, Val NewPath) Export
CloseConnection = CheckCreateConnection(Connection);
If Not IsConnector(Connection) Then
Return Connection;
Else
OPI_TypeConversion.GetLine(Path);
OPI_TypeConversion.GetLine(NewPath);
Result = Connection.RenameObject(Path, NewPath);
Result = OPI_Tools.JsonToStructure(Result);
EndIf;
If CloseConnection Then
Result.Insert("close_connection", CloseConnection(Connection));
EndIf;
Return Result;
EndFunction
// Is connector !NOCLI
// Checks that the value is an AddIn object for working with FTP
//
@@ -544,6 +581,40 @@ Function DeleteFile(Val Connection, Val Path) Export
EndFunction
// Save file
// Saves the file from the server to the specified path
//
// Parameters:
// Connection - Arbitrary - Existing connection or connection configuration - conn
// Path - String - Path to file on server - path
// FileName - String - Path to save file on disk - file
//
// Returns:
// Map Of KeyAndValue - Processing result
Function SaveFile(Val Connection, Val Path, Val FileName) Export
CloseConnection = CheckCreateConnection(Connection);
If Not IsConnector(Connection) Then
Return Connection;
Else
OPI_TypeConversion.GetLine(Path);
OPI_TypeConversion.GetLine(FileName);
Result = Connection.DownloadToFile(Path, FileName);
Result = OPI_Tools.JsonToStructure(Result);
EndIf;
If CloseConnection Then
Result.Insert("close_connection", CloseConnection(Connection));
EndIf;
Return Result;
EndFunction
#EndRegion
#EndRegion
@@ -327,9 +327,9 @@ Function GetTestTable() Export
NewTest(TestTable, "OAI_FileManagement" , "Files management" , OpenAI);
NewTest(TestTable, "OAI_AudioProcessing" , "Audio processing" , OpenAI);
NewTest(TestTable, "OAI_ModelsManagement" , "Models management" , OpenAI);
NewTest(TestTable, "FT_CommonMethods" , "Common methods" , FTP);
NewTest(TestTable, "FT_DirecotryManagement" , "Directory management" , FTP);
NewTest(TestTable, "FT_FileOperations" , "Files management" , FTP);
NewTest(TestTable, "FT_CommonMethods" , "Common methods" , FTP);
Return TestTable;
+195 -20
View File
@@ -2866,26 +2866,6 @@ EndProcedure
#Region FTP
Procedure FT_CommonMethods() Export
OptionArray = OPI_TestDataRetrieval.GetFTPParameterOptions();
For Each TestParameters In OptionArray Do
FTP_CreateConnection(TestParameters);
FTP_GetWelcomeMessage(TestParameters);
FTP_GetConnectionConfiguration(TestParameters);
FTP_CloseConnection(TestParameters);
FTP_IsConnector(TestParameters);
FTP_GetConnectionSettings(TestParameters);
FTP_GetProxySettings(TestParameters);
FTP_GetTlsSettings(TestParameters);
FTP_GetObjectSize(TestParameters);
EndDo;
EndProcedure
Procedure FT_DirecotryManagement() Export
OptionArray = OPI_TestDataRetrieval.GetFTPParameterOptions();
@@ -2908,12 +2888,34 @@ Procedure FT_FileOperations() Export
For Each TestParameters In OptionArray Do
FTP_UploadFile(TestParameters);
FTP_SaveFile(TestParameters);
FTP_DeleteFile(TestParameters);
EndDo
EndProcedure
Procedure FT_CommonMethods() Export
OptionArray = OPI_TestDataRetrieval.GetFTPParameterOptions();
For Each TestParameters In OptionArray Do
FTP_CreateConnection(TestParameters);
FTP_GetWelcomeMessage(TestParameters);
FTP_GetConnectionConfiguration(TestParameters);
FTP_CloseConnection(TestParameters);
FTP_IsConnector(TestParameters);
FTP_GetConnectionSettings(TestParameters);
FTP_GetProxySettings(TestParameters);
FTP_GetTlsSettings(TestParameters);
FTP_GetObjectSize(TestParameters);
FTP_RenameObject(TestParameters);
EndDo;
EndProcedure
#EndRegion
#EndRegion
@@ -25593,6 +25595,179 @@ Procedure FTP_GetObjectSize(FunctionParameters)
EndProcedure
Procedure FTP_RenameObject(FunctionParameters)
Host = FunctionParameters["FTP_IP"];
Port = FunctionParameters["FTP_Port"];
Login = FunctionParameters["FTP_User"];
Password = FunctionParameters["FTP_Password"];
UseProxy = True;
FTPS = True;
ProxySettings = Undefined;
TLSSettings = Undefined; // FTPS
UseProxy = FunctionParameters["Proxy"]; // SKIP
FTPS = FunctionParameters["TLS"]; // SKIP
FTPSettings = OPI_FTP.GetConnectionSettings(Host, Port, Login, Password);
If UseProxy Then
ProxyType = FunctionParameters["Proxy_Type"]; // http, socks5, socks4
ProxyAddress = FunctionParameters["Proxy_IP"];
ProxyPort = FunctionParameters["Proxy_Port"];
ProxyLogin = FunctionParameters["Proxy_User"];
ProxyPassword = FunctionParameters["Proxy_Password"];
ProxySettings = OPI_FTP.GetProxySettings(ProxyAddress, ProxyPort, ProxyType, ProxyLogin, ProxyPassword);
EndIf;
If FTPS Then
TLSSettings = OPI_FTP.GetTlsSettings(True);
EndIf;
Connection = OPI_FTP.CreateConnection(FTPSettings, ProxySettings, TLSSettings);
If OPI_FTP.IsConnector(Connection) Then
Result = OPI_FTP.RenameObject(Connection, "new_dir/big.bin", "new_dir/giant.bin");
Else
Result = Connection; // Error of connection
EndIf;
// END
Postfix = FunctionParameters["Postfix"];
OPI_TestDataRetrieval.WriteLog(Result, "RenameObject" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Result = OPI_FTP.GetObjectSize(Connection, "new_dir/giant.bin");
OPI_TestDataRetrieval.WriteLog(Result, "RenameObject (check, new)" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Result = OPI_FTP.GetObjectSize(Connection, "new_dir/big.bin");
OPI_TestDataRetrieval.WriteLog(Result, "RenameObject (check, old)" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultFalse(Result);
Result = OPI_FTP.RenameObject(Connection, "new_dir", "brand_new_dir");
OPI_TestDataRetrieval.WriteLog(Result, "RenameObject (directory)" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Result = OPI_FTP.ListObjects(Connection, ".", True);
OPI_TestDataRetrieval.WriteLog(Result, "RenameObject (list)", "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
OPI_TestDataRetrieval.Check_Array(Result["data"], 1);
OPI_TestDataRetrieval.Check_Equality(Result["data"][0]["path"] , "brand_new_dir");
OPI_TestDataRetrieval.Check_Equality(Result["data"][0]["objects"][0]["path"], "brand_new_dir/giant.bin");
Result = OPI_FTP.RenameObject(Connection, "brand_new_dir", "new_dir");
OPI_TestDataRetrieval.WriteLog(Result, "RenameObject (directory, back)" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Result = OPI_FTP.RenameObject(Connection, "new_dir/giant.bin", "new_dir/big.bin");
OPI_TestDataRetrieval.WriteLog(Result, "RenameObject (back)" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Result = OPI_FTP.ListObjects(Connection, ".", True);
OPI_TestDataRetrieval.WriteLog(Result, "RenameObject (list, back)", "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
OPI_TestDataRetrieval.Check_Array(Result["data"], 1);
OPI_TestDataRetrieval.Check_Equality(Result["data"][0]["path"] , "new_dir");
OPI_TestDataRetrieval.Check_Equality(Result["data"][0]["objects"][0]["path"], "new_dir/big.bin");
EndProcedure
Procedure FTP_SaveFile(FunctionParameters)
Host = FunctionParameters["FTP_IP"];
Port = FunctionParameters["FTP_Port"];
Login = FunctionParameters["FTP_User"];
Password = FunctionParameters["FTP_Password"];
UseProxy = True;
FTPS = True;
ProxySettings = Undefined;
TLSSettings = Undefined; // FTPS
UseProxy = FunctionParameters["Proxy"]; // SKIP
FTPS = FunctionParameters["TLS"]; // SKIP
FTPSettings = OPI_FTP.GetConnectionSettings(Host, Port, Login, Password);
If UseProxy Then
ProxyType = FunctionParameters["Proxy_Type"]; // http, socks5, socks4
ProxyAddress = FunctionParameters["Proxy_IP"];
ProxyPort = FunctionParameters["Proxy_Port"];
ProxyLogin = FunctionParameters["Proxy_User"];
ProxyPassword = FunctionParameters["Proxy_Password"];
ProxySettings = OPI_FTP.GetProxySettings(ProxyAddress, ProxyPort, ProxyType, ProxyLogin, ProxyPassword);
EndIf;
If FTPS Then
TLSSettings = OPI_FTP.GetTlsSettings(True);
EndIf;
Connection = OPI_FTP.CreateConnection(FTPSettings, ProxySettings, TLSSettings);
If OPI_FTP.IsConnector(Connection) Then
Path = "new_dir/big.bin";
FileName = GetTempFileName("bin");
Result = OPI_FTP.SaveFile(Connection, Path, FileName);
Else
Result = Connection; // Error of connection
EndIf;
// END
Postfix = FunctionParameters["Postfix"];
OPI_TestDataRetrieval.WriteLog(Result, "SaveFile" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Size = OPI_FTP.GetObjectSize(Connection, Path);
OPI_TestDataRetrieval.WriteLog(Size, "SaveFile (size)" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Size);
FileObject = New File(FileName);
FileSize = FileObject.Size();
ResultSize = Result["bytes"];
CheckSize = Size["bytes"];
OPI_TestDataRetrieval.WriteLog(FileSize, "SaveFile (file size)" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_Equality(FileSize, ResultSize);
OPI_TestDataRetrieval.Check_Equality(FileSize, CheckSize);
Try
DeleteFiles(FileName);
Except
OPI_TestDataRetrieval.WriteLog(ErrorDescription(), "Error deleting a picture file", "FTP");
EndTry;
EndProcedure
#EndRegion
#EndRegion
+252
View File
@@ -2778,6 +2778,8 @@ Procedure CLI_FT_CommonMethods() Export
CLI_FTP_GetProxySettings(TestParameters);
CLI_FTP_GetTlsSettings(TestParameters);
CLI_FTP_GetObjectSize(TestParameters);
CLI_FTP_RenameObject(TestParameters);
OPI_Tools.Pause(5);
EndDo;
@@ -2794,6 +2796,7 @@ Procedure CLI_FT_DirecotryManagement() Export
CLI_FTP_CreateDirectory(TestParameters);
CLI_FTP_ListObjects(TestParameters);
CLI_FTP_DeleteDirectory(TestParameters);
OPI_Tools.Pause(5);
EndDo;
@@ -2807,7 +2810,9 @@ Procedure CLI_FT_FileOperations() Export
For Each TestParameters In OptionArray Do
CLI_FTP_UploadFile(TestParameters);
CLI_FTP_SaveFile(TestParameters);
CLI_FTP_DeleteFile(TestParameters);
OPI_Tools.Pause(5);
EndDo
@@ -27256,6 +27261,253 @@ Procedure CLI_FTP_GetObjectSize(FunctionParameters)
EndProcedure
Procedure CLI_FTP_RenameObject(FunctionParameters)
Domain = FunctionParameters["FTP_IP"];
Port = FunctionParameters["FTP_Port"];
Login = FunctionParameters["FTP_User"];
Password = FunctionParameters["FTP_Password"];
UseProxy = True;
FTPS = True;
ProxySettings = Undefined;
TLSSettings = Undefined; // FTPS
UseProxy = FunctionParameters["Proxy"]; // SKIP
FTPS = FunctionParameters["TLS"]; // SKIP
Options = New Structure;
Options.Insert("host" , Domain);
Options.Insert("port" , Port);
Options.Insert("login", Login);
Options.Insert("pass" , Password);
FTPSettings = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "GetConnectionSettings", Options);
If UseProxy Then
ProxyType = FunctionParameters["Proxy_Type"]; // http, socks5, socks4
ProxyAddress = FunctionParameters["Proxy_IP"];
ProxyPort = FunctionParameters["Proxy_Port"];
ProxyLogin = FunctionParameters["Proxy_User"];
ProxyPassword = FunctionParameters["Proxy_Password"];
Options = New Structure;
Options.Insert("addr" , ProxyAddress);
Options.Insert("port" , ProxyPort);
Options.Insert("type" , ProxyType);
Options.Insert("login", ProxyLogin);
Options.Insert("pass" , ProxyPassword);
ProxySettings = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "GetProxySettings", Options);
EndIf;
If FTPS Then
Options = New Structure;
Options.Insert("trust", True);
TLSSettings = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "GetTlsSettings", Options);
EndIf;
Options = New Structure;
Options.Insert("set", FTPSettings);
Options = New Structure;
Options.Insert("set" , FTPSettings);
Options.Insert("proxy", ProxySettings);
Options.Insert("tls" , TLSSettings);
Connection = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "GetConnectionConfiguration", Options);
Options.Insert("conn", Connection);
Options.Insert("old" , "new_dir/big.bin");
Options.Insert("new" , "new_dir/giant.bin");
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "RenameObject", Options);
Postfix = FunctionParameters["Postfix"];
OPI_TestDataRetrieval.WriteLogCLI(Result, "RenameObject" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Options.Insert("conn", Connection);
Options.Insert("path", "new_dir/giant.bin");
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "GetObjectSize", Options);
OPI_TestDataRetrieval.WriteLogCLI(Result, "RenameObject (check, new)" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Options.Insert("conn", Connection);
Options.Insert("path", "new_dir/big.bin");
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "GetObjectSize", Options);
OPI_TestDataRetrieval.WriteLogCLI(Result, "RenameObject (check, old)" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultFalse(Result);
Options.Insert("conn", Connection);
Options.Insert("old" , "new_dir");
Options.Insert("new" , "brand_new_dir");
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "RenameObject", Options);
OPI_TestDataRetrieval.WriteLogCLI(Result, "RenameObject (directory)" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Options.Insert("conn", Connection);
Options.Insert("path", ".");
Options.Insert("rcv" , True);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "ListObjects", Options);
OPI_TestDataRetrieval.WriteLogCLI(Result, "RenameObject (list)", "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
OPI_TestDataRetrieval.Check_Array(Result["data"], 1);
OPI_TestDataRetrieval.Check_Equality(Result["data"][0]["path"] , "brand_new_dir");
OPI_TestDataRetrieval.Check_Equality(Result["data"][0]["objects"][0]["path"], "brand_new_dir/giant.bin");
Options.Insert("conn", Connection);
Options.Insert("new" , "new_dir");
Options.Insert("old" , "brand_new_dir");
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "RenameObject", Options);
OPI_TestDataRetrieval.WriteLogCLI(Result, "RenameObject (directory, back)" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Options.Insert("conn", Connection);
Options.Insert("new" , "new_dir/big.bin");
Options.Insert("old" , "new_dir/giant.bin");
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "RenameObject", Options);
OPI_TestDataRetrieval.WriteLogCLI(Result, "RenameObject (back)" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Options.Insert("conn", Connection);
Options.Insert("path", ".");
Options.Insert("rcv" , True);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "ListObjects", Options);
OPI_TestDataRetrieval.WriteLogCLI(Result, "RenameObject (list, back)", "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
OPI_TestDataRetrieval.Check_Array(Result["data"], 1);
OPI_TestDataRetrieval.Check_Equality(Result["data"][0]["path"] , "new_dir");
OPI_TestDataRetrieval.Check_Equality(Result["data"][0]["objects"][0]["path"], "new_dir/big.bin");
EndProcedure
Procedure CLI_FTP_SaveFile(FunctionParameters)
Domain = FunctionParameters["FTP_IP"];
Port = FunctionParameters["FTP_Port"];
Login = FunctionParameters["FTP_User"];
Password = FunctionParameters["FTP_Password"];
UseProxy = True;
FTPS = True;
ProxySettings = Undefined;
TLSSettings = Undefined; // FTPS
UseProxy = FunctionParameters["Proxy"]; // SKIP
FTPS = FunctionParameters["TLS"]; // SKIP
Options = New Structure;
Options.Insert("host" , Domain);
Options.Insert("port" , Port);
Options.Insert("login", Login);
Options.Insert("pass" , Password);
FTPSettings = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "GetConnectionSettings", Options);
If UseProxy Then
ProxyType = FunctionParameters["Proxy_Type"]; // http, socks5, socks4
ProxyAddress = FunctionParameters["Proxy_IP"];
ProxyPort = FunctionParameters["Proxy_Port"];
ProxyLogin = FunctionParameters["Proxy_User"];
ProxyPassword = FunctionParameters["Proxy_Password"];
Options = New Structure;
Options.Insert("addr" , ProxyAddress);
Options.Insert("port" , ProxyPort);
Options.Insert("type" , ProxyType);
Options.Insert("login", ProxyLogin);
Options.Insert("pass" , ProxyPassword);
ProxySettings = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "GetProxySettings", Options);
EndIf;
If FTPS Then
Options = New Structure;
Options.Insert("trust", True);
TLSSettings = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "GetTlsSettings", Options);
EndIf;
Options = New Structure;
Options.Insert("set", FTPSettings);
Options = New Structure;
Options.Insert("set" , FTPSettings);
Options.Insert("proxy", ProxySettings);
Options.Insert("tls" , TLSSettings);
Connection = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "GetConnectionConfiguration", Options);
Path = "new_dir/big.bin";
FileName = GetTempFileName("bin");
Options.Insert("conn", Connection);
Options.Insert("path", Path);
Options.Insert("file", FileName);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "SaveFile", Options);
Postfix = FunctionParameters["Postfix"];
OPI_TestDataRetrieval.WriteLogCLI(Result, "SaveFile" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Options.Insert("conn", Connection);
Options.Insert("path", Path);
Size = OPI_TestDataRetrieval.ExecuteTestCLI("ftp", "GetObjectSize", Options);
OPI_TestDataRetrieval.WriteLogCLI(Size, "SaveFile (size)" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_ResultTrue(Size);
FileObject = New File(FileName);
FileSize = FileObject.Size();
ResultSize = Result["bytes"];
CheckSize = Size["bytes"];
OPI_TestDataRetrieval.WriteLogCLI(FileSize, "SaveFile (file size)" + Postfix, "FTP");
OPI_TestDataRetrieval.Check_Equality(FileSize, ResultSize);
OPI_TestDataRetrieval.Check_Equality(FileSize, CheckSize);
Try
DeleteFiles(FileName);
Except
OPI_TestDataRetrieval.WriteLog(ErrorDescription(), "Error deleting a picture file", "FTP");
EndTry;
EndProcedure
#EndRegion
#EndRegion
+62
View File
@@ -80,6 +80,37 @@ Function GetComposition() Export
NewLine.Region = "Common methods";
NewLine = CompositionTable.Add();
NewLine.Library = "ftp";
NewLine.Module = "OPI_FTP";
NewLine.Method = "RenameObject";
NewLine.SearchMethod = "RENAMEOBJECT";
NewLine.Parameter = "--conn";
NewLine.Description = "Existing connection or connection configuration";
NewLine.Region = "Common methods";
NewLine.MethodDescription = "Changes the object's path to the specified one";
NewLine = CompositionTable.Add();
NewLine.Library = "ftp";
NewLine.Module = "OPI_FTP";
NewLine.Method = "RenameObject";
NewLine.SearchMethod = "RENAMEOBJECT";
NewLine.Parameter = "--old";
NewLine.Description = "Current path to object";
NewLine.Region = "Common methods";
NewLine = CompositionTable.Add();
NewLine.Library = "ftp";
NewLine.Module = "OPI_FTP";
NewLine.Method = "RenameObject";
NewLine.SearchMethod = "RENAMEOBJECT";
NewLine.Parameter = "--new";
NewLine.Description = "New path to object";
NewLine.Region = "Common methods";
NewLine = CompositionTable.Add();
NewLine.Library = "ftp";
NewLine.Module = "OPI_FTP";
@@ -378,6 +409,37 @@ Function GetComposition() Export
NewLine.Description = "Path to save file on server";
NewLine.Region = "File management";
NewLine = CompositionTable.Add();
NewLine.Library = "ftp";
NewLine.Module = "OPI_FTP";
NewLine.Method = "SaveFile";
NewLine.SearchMethod = "SAVEFILE";
NewLine.Parameter = "--conn";
NewLine.Description = "Existing connection or connection configuration";
NewLine.Region = "File management";
NewLine.MethodDescription = "Saves the file from the server to the specified path";
NewLine = CompositionTable.Add();
NewLine.Library = "ftp";
NewLine.Module = "OPI_FTP";
NewLine.Method = "SaveFile";
NewLine.SearchMethod = "SAVEFILE";
NewLine.Parameter = "--path";
NewLine.Description = "Path to file on server";
NewLine.Region = "File management";
NewLine = CompositionTable.Add();
NewLine.Library = "ftp";
NewLine.Module = "OPI_FTP";
NewLine.Method = "SaveFile";
NewLine.SearchMethod = "SAVEFILE";
NewLine.Parameter = "--file";
NewLine.Description = "Path to save file on disk";
NewLine.Region = "File management";
Return CompositionTable;
EndFunction
+79
View File
@@ -194,6 +194,43 @@
КонецФункции
// Переименовать объект
// Изменяет путь объекта на указанный
//
// Примечание:
// Возможность перемещения объекта из одного каталога в другой при помощи переименования зависит от настроек сервера
//
// Параметры:
// Соединение - Произвольный - Существующее соединение или конфигурация соединения - conn
// Путь - Строка - Текущий путь к объекту - old
// НовыйПуть - Строка - Новый путь к объекту - new
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - Результат обработки
Функция ПереименоватьОбъект(Знач Соединение, Знач Путь, Знач НовыйПуть) Экспорт
ЗакрыватьСоединение = ПроверитьСоздатьСоединение(Соединение);
Если Не ЭтоКоннектор(Соединение) Тогда
Возврат Соединение;
Иначе
OPI_ПреобразованиеТипов.ПолучитьСтроку(Путь);
OPI_ПреобразованиеТипов.ПолучитьСтроку(НовыйПуть);
Результат = Соединение.RenameObject(Путь, НовыйПуть);
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
КонецЕсли;
Если ЗакрыватьСоединение Тогда
Результат.Вставить("close_connection", ЗакрытьСоединение(Соединение));
КонецЕсли;
Возврат Результат;
КонецФункции
// Это коннектор !NOCLI
// Проверяет, что значение является объектом внешней компоненты для работы с FTP
//
@@ -544,6 +581,40 @@
КонецФункции
// Сохранить файл
// Сохраняет файл с сервера по указанному пути
//
// Параметры:
// Соединение - Произвольный - Существующее соединение или конфигурация соединения - conn
// Путь - Строка - Путь файла на сервере - path
// ИмяФайла - Строка - Путь для сохранения файла на диске - file
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - Результат обработки
Функция СохранитьФайл(Знач Соединение, Знач Путь, Знач ИмяФайла) Экспорт
ЗакрыватьСоединение = ПроверитьСоздатьСоединение(Соединение);
Если Не ЭтоКоннектор(Соединение) Тогда
Возврат Соединение;
Иначе
OPI_ПреобразованиеТипов.ПолучитьСтроку(Путь);
OPI_ПреобразованиеТипов.ПолучитьСтроку(ИмяФайла);
Результат = Соединение.DownloadToFile(Путь, ИмяФайла);
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
КонецЕсли;
Если ЗакрыватьСоединение Тогда
Результат.Вставить("close_connection", ЗакрытьСоединение(Соединение));
КонецЕсли;
Возврат Результат;
КонецФункции
#КонецОбласти
#КонецОбласти
@@ -784,6 +855,10 @@ Function GetObjectSize(Val Connection, Val Path) Export
Return ПолучитьРазмерОбъекта(Connection, Path);
EndFunction
Function RenameObject(Val Connection, Val Path, Val NewPath) Export
Return ПереименоватьОбъект(Connection, Path, NewPath);
EndFunction
Function IsConnector(Val Value) Export
Return ЭтоКоннектор(Value);
EndFunction
@@ -824,4 +899,8 @@ Function DeleteFile(Val Connection, Val Path) Export
Return УдалитьФайл(Connection, Path);
EndFunction
Function SaveFile(Val Connection, Val Path, Val FileName) Export
Return СохранитьФайл(Connection, Path, FileName);
EndFunction
#EndRegion
+195 -20
View File
@@ -2866,26 +2866,6 @@
#Область FTP
Процедура FT_ОсновныеМетоды() Экспорт
МассивВариантов = OPI_ПолучениеДанныхТестов.ПолучитьВариантыПараметровFTP();
Для Каждого ПараметрыТеста Из МассивВариантов Цикл
FTP_ОткрытьСоединение(ПараметрыТеста);
FTP_ПолучитьПриветственноеСообщение(ПараметрыТеста);
FTP_ПолучитьКонфигурациюСоединения(ПараметрыТеста);
FTP_ЗакрытьСоединение(ПараметрыТеста);
FTP_ЭтоКоннектор(ПараметрыТеста);
FTP_ПолучитьНастройкиСоединения(ПараметрыТеста);
FTP_ПолучитьНастройкиПрокси(ПараметрыТеста);
FTP_ПолучитьНастройкиTls(ПараметрыТеста);
FTP_ПолучитьРазмерОбъекта(ПараметрыТеста);
КонецЦикла;
КонецПроцедуры
Процедура FT_РаботаСДиректориями() Экспорт
МассивВариантов = OPI_ПолучениеДанныхТестов.ПолучитьВариантыПараметровFTP();
@@ -2908,12 +2888,34 @@
Для Каждого ПараметрыТеста Из МассивВариантов Цикл
FTP_ЗагрузитьФайл(ПараметрыТеста);
FTP_СохранитьФайл(ПараметрыТеста);
FTP_УдалитьФайл(ПараметрыТеста);
КонецЦикла
КонецПроцедуры
Процедура FT_ОсновныеМетоды() Экспорт
МассивВариантов = OPI_ПолучениеДанныхТестов.ПолучитьВариантыПараметровFTP();
Для Каждого ПараметрыТеста Из МассивВариантов Цикл
FTP_ОткрытьСоединение(ПараметрыТеста);
FTP_ПолучитьПриветственноеСообщение(ПараметрыТеста);
FTP_ПолучитьКонфигурациюСоединения(ПараметрыТеста);
FTP_ЗакрытьСоединение(ПараметрыТеста);
FTP_ЭтоКоннектор(ПараметрыТеста);
FTP_ПолучитьНастройкиСоединения(ПараметрыТеста);
FTP_ПолучитьНастройкиПрокси(ПараметрыТеста);
FTP_ПолучитьНастройкиTls(ПараметрыТеста);
FTP_ПолучитьРазмерОбъекта(ПараметрыТеста);
FTP_ПереименоватьОбъект(ПараметрыТеста);
КонецЦикла;
КонецПроцедуры
#КонецОбласти
#КонецОбласти
@@ -25593,6 +25595,179 @@
КонецПроцедуры
Процедура FTP_ПереименоватьОбъект(ПараметрыФункции)
Хост = ПараметрыФункции["FTP_IP"];
Порт = ПараметрыФункции["FTP_Port"];
Логин = ПараметрыФункции["FTP_User"];
Пароль = ПараметрыФункции["FTP_Password"];
ИспользоватьПрокси = Истина;
FTPS = Истина;
НастройкиПрокси = Неопределено;
НастройкиTls = Неопределено; // FTPS
ИспользоватьПрокси = ПараметрыФункции["Proxy"]; // SKIP
FTPS = ПараметрыФункции["TLS"]; // SKIP
НастройкиFTP = OPI_FTP.ПолучитьНастройкиСоединения(Хост, Порт, Логин, Пароль);
Если ИспользоватьПрокси Тогда
ТипПрокси = ПараметрыФункции["Proxy_Type"]; // http, socks5, socks4
АдресПрокси = ПараметрыФункции["Proxy_IP"];
ПортПрокси = ПараметрыФункции["Proxy_Port"];
ЛогинПрокси = ПараметрыФункции["Proxy_User"];
ПарольПрокси = ПараметрыФункции["Proxy_Password"];
НастройкиПрокси = OPI_FTP.ПолучитьНастройкиПрокси(АдресПрокси, ПортПрокси, ТипПрокси, ЛогинПрокси, ПарольПрокси);
КонецЕсли;
Если FTPS Тогда
НастройкиTls = OPI_FTP.ПолучитьНастройкиTls(Истина);
КонецЕсли;
Соединение = OPI_FTP.ОткрытьСоединение(НастройкиFTP, НастройкиПрокси, НастройкиTls);
Если OPI_FTP.ЭтоКоннектор(Соединение) Тогда
Результат = OPI_FTP.ПереименоватьОбъект(Соединение, "new_dir/big.bin", "new_dir/giant.bin");
Иначе
Результат = Соединение; // Ошибка соединения
КонецЕсли;
// END
Постфикс = ПараметрыФункции["Postfix"];
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереименоватьОбъект" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Результат = OPI_FTP.ПолучитьРазмерОбъекта(Соединение, "new_dir/giant.bin");
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереименоватьОбъект (проверка, новый)" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Результат = OPI_FTP.ПолучитьРазмерОбъекта(Соединение, "new_dir/big.bin");
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереименоватьОбъект (проверка, старый)" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатЛожь(Результат);
Результат = OPI_FTP.ПереименоватьОбъект(Соединение, "new_dir", "brand_new_dir");
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереименоватьОбъект (каталог)" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Результат = OPI_FTP.ПолучитьСписокОбъектов(Соединение, ".", Истина);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереименоватьОбъект (список)", "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 1);
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Результат["data"][0]["path"] , "brand_new_dir");
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Результат["data"][0]["objects"][0]["path"], "brand_new_dir/giant.bin");
Результат = OPI_FTP.ПереименоватьОбъект(Соединение, "brand_new_dir", "new_dir");
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереименоватьОбъект (каталог, обратно)" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Результат = OPI_FTP.ПереименоватьОбъект(Соединение, "new_dir/giant.bin", "new_dir/big.bin");
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереименоватьОбъект (обратно)" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Результат = OPI_FTP.ПолучитьСписокОбъектов(Соединение, ".", Истина);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереименоватьОбъект (список, обратно)", "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 1);
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Результат["data"][0]["path"] , "new_dir");
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Результат["data"][0]["objects"][0]["path"], "new_dir/big.bin");
КонецПроцедуры
Процедура FTP_СохранитьФайл(ПараметрыФункции)
Хост = ПараметрыФункции["FTP_IP"];
Порт = ПараметрыФункции["FTP_Port"];
Логин = ПараметрыФункции["FTP_User"];
Пароль = ПараметрыФункции["FTP_Password"];
ИспользоватьПрокси = Истина;
FTPS = Истина;
НастройкиПрокси = Неопределено;
НастройкиTls = Неопределено; // FTPS
ИспользоватьПрокси = ПараметрыФункции["Proxy"]; // SKIP
FTPS = ПараметрыФункции["TLS"]; // SKIP
НастройкиFTP = OPI_FTP.ПолучитьНастройкиСоединения(Хост, Порт, Логин, Пароль);
Если ИспользоватьПрокси Тогда
ТипПрокси = ПараметрыФункции["Proxy_Type"]; // http, socks5, socks4
АдресПрокси = ПараметрыФункции["Proxy_IP"];
ПортПрокси = ПараметрыФункции["Proxy_Port"];
ЛогинПрокси = ПараметрыФункции["Proxy_User"];
ПарольПрокси = ПараметрыФункции["Proxy_Password"];
НастройкиПрокси = OPI_FTP.ПолучитьНастройкиПрокси(АдресПрокси, ПортПрокси, ТипПрокси, ЛогинПрокси, ПарольПрокси);
КонецЕсли;
Если FTPS Тогда
НастройкиTls = OPI_FTP.ПолучитьНастройкиTls(Истина);
КонецЕсли;
Соединение = OPI_FTP.ОткрытьСоединение(НастройкиFTP, НастройкиПрокси, НастройкиTls);
Если OPI_FTP.ЭтоКоннектор(Соединение) Тогда
Путь = "new_dir/big.bin";
ИмяФайла = ПолучитьИмяВременногоФайла("bin");
Результат = OPI_FTP.СохранитьФайл(Соединение, Путь, ИмяФайла);
Иначе
Результат = Соединение; // Ошибка соединения
КонецЕсли;
// END
Постфикс = ПараметрыФункции["Postfix"];
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СохранитьФайл" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Размер = OPI_FTP.ПолучитьРазмерОбъекта(Соединение, Путь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Размер, "СохранитьФайл (размер)" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Размер);
ФайлОбъект = Новый Файл(ИмяФайла);
РазмерФайла = ФайлОбъект.Размер();
РазмерРезультата = Результат["bytes"];
РазмерПроверки = Размер["bytes"];
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(РазмерФайла, "СохранитьФайл (размер файла)" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_Равенство(РазмерФайла, РазмерРезультата);
OPI_ПолучениеДанныхТестов.Проверка_Равенство(РазмерФайла, РазмерПроверки);
Попытка
УдалитьФайлы(ИмяФайла);
Исключение
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(ОписаниеОшибки(), "Ошибка удаления файла картинки", "FTP");
КонецПопытки;
КонецПроцедуры
#КонецОбласти
#КонецОбласти
+252
View File
@@ -2778,6 +2778,8 @@
CLI_FTP_ПолучитьНастройкиПрокси(ПараметрыТеста);
CLI_FTP_ПолучитьНастройкиTls(ПараметрыТеста);
CLI_FTP_ПолучитьРазмерОбъекта(ПараметрыТеста);
CLI_FTP_ПереименоватьОбъект(ПараметрыТеста);
OPI_Инструменты.Пауза(5);
КонецЦикла;
@@ -2794,6 +2796,7 @@
CLI_FTP_СоздатьДиректорию(ПараметрыТеста);
CLI_FTP_ПолучитьСписокОбъектов(ПараметрыТеста);
CLI_FTP_УдалитьДиректорию(ПараметрыТеста);
OPI_Инструменты.Пауза(5);
КонецЦикла;
@@ -2807,7 +2810,9 @@
Для Каждого ПараметрыТеста Из МассивВариантов Цикл
CLI_FTP_ЗагрузитьФайл(ПараметрыТеста);
CLI_FTP_СохранитьФайл(ПараметрыТеста);
CLI_FTP_УдалитьФайл(ПараметрыТеста);
OPI_Инструменты.Пауза(5);
КонецЦикла
@@ -27256,6 +27261,253 @@
КонецПроцедуры
Процедура CLI_FTP_ПереименоватьОбъект(ПараметрыФункции)
Домен = ПараметрыФункции["FTP_IP"];
Порт = ПараметрыФункции["FTP_Port"];
Логин = ПараметрыФункции["FTP_User"];
Пароль = ПараметрыФункции["FTP_Password"];
ИспользоватьПрокси = Истина;
FTPS = Истина;
НастройкиПрокси = Неопределено;
НастройкиTls = Неопределено; // FTPS
ИспользоватьПрокси = ПараметрыФункции["Proxy"]; // SKIP
FTPS = ПараметрыФункции["TLS"]; // SKIP
Опции = Новый Структура;
Опции.Вставить("host" , Домен);
Опции.Вставить("port" , Порт);
Опции.Вставить("login", Логин);
Опции.Вставить("pass" , Пароль);
НастройкиFTP = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПолучитьНастройкиСоединения", Опции);
Если ИспользоватьПрокси Тогда
ТипПрокси = ПараметрыФункции["Proxy_Type"]; // http, socks5, socks4
АдресПрокси = ПараметрыФункции["Proxy_IP"];
ПортПрокси = ПараметрыФункции["Proxy_Port"];
ЛогинПрокси = ПараметрыФункции["Proxy_User"];
ПарольПрокси = ПараметрыФункции["Proxy_Password"];
Опции = Новый Структура;
Опции.Вставить("addr" , АдресПрокси);
Опции.Вставить("port" , ПортПрокси);
Опции.Вставить("type" , ТипПрокси);
Опции.Вставить("login", ЛогинПрокси);
Опции.Вставить("pass" , ПарольПрокси);
НастройкиПрокси = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПолучитьНастройкиПрокси", Опции);
КонецЕсли;
Если FTPS Тогда
Опции = Новый Структура;
Опции.Вставить("trust", Истина);
НастройкиTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПолучитьНастройкиTls", Опции);
КонецЕсли;
Опции = Новый Структура;
Опции.Вставить("set", НастройкиFTP);
Опции = Новый Структура;
Опции.Вставить("set" , НастройкиFTP);
Опции.Вставить("proxy", НастройкиПрокси);
Опции.Вставить("tls" , НастройкиTLS);
Соединение = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПолучитьКонфигурациюСоединения", Опции);
Опции.Вставить("conn", Соединение);
Опции.Вставить("old" , "new_dir/big.bin");
Опции.Вставить("new" , "new_dir/giant.bin");
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПереименоватьОбъект", Опции);
Постфикс = ПараметрыФункции["Postfix"];
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПереименоватьОбъект" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Опции.Вставить("conn", Соединение);
Опции.Вставить("path", "new_dir/giant.bin");
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПолучитьРазмерОбъекта", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПереименоватьОбъект (проверка, новый)" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Опции.Вставить("conn", Соединение);
Опции.Вставить("path", "new_dir/big.bin");
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПолучитьРазмерОбъекта", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПереименоватьОбъект (проверка, старый)" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатЛожь(Результат);
Опции.Вставить("conn", Соединение);
Опции.Вставить("old" , "new_dir");
Опции.Вставить("new" , "brand_new_dir");
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПереименоватьОбъект", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПереименоватьОбъект (каталог)" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Опции.Вставить("conn", Соединение);
Опции.Вставить("path", ".");
Опции.Вставить("rcv" , Истина);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПолучитьСписокОбъектов", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПереименоватьОбъект (список)", "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 1);
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Результат["data"][0]["path"] , "brand_new_dir");
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Результат["data"][0]["objects"][0]["path"], "brand_new_dir/giant.bin");
Опции.Вставить("conn", Соединение);
Опции.Вставить("new" , "new_dir");
Опции.Вставить("old" , "brand_new_dir");
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПереименоватьОбъект", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПереименоватьОбъект (каталог, обратно)" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Опции.Вставить("conn", Соединение);
Опции.Вставить("new" , "new_dir/big.bin");
Опции.Вставить("old" , "new_dir/giant.bin");
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПереименоватьОбъект", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПереименоватьОбъект (обратно)" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Опции.Вставить("conn", Соединение);
Опции.Вставить("path", ".");
Опции.Вставить("rcv" , Истина);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПолучитьСписокОбъектов", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПереименоватьОбъект (список, обратно)", "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 1);
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Результат["data"][0]["path"] , "new_dir");
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Результат["data"][0]["objects"][0]["path"], "new_dir/big.bin");
КонецПроцедуры
Процедура CLI_FTP_СохранитьФайл(ПараметрыФункции)
Домен = ПараметрыФункции["FTP_IP"];
Порт = ПараметрыФункции["FTP_Port"];
Логин = ПараметрыФункции["FTP_User"];
Пароль = ПараметрыФункции["FTP_Password"];
ИспользоватьПрокси = Истина;
FTPS = Истина;
НастройкиПрокси = Неопределено;
НастройкиTls = Неопределено; // FTPS
ИспользоватьПрокси = ПараметрыФункции["Proxy"]; // SKIP
FTPS = ПараметрыФункции["TLS"]; // SKIP
Опции = Новый Структура;
Опции.Вставить("host" , Домен);
Опции.Вставить("port" , Порт);
Опции.Вставить("login", Логин);
Опции.Вставить("pass" , Пароль);
НастройкиFTP = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПолучитьНастройкиСоединения", Опции);
Если ИспользоватьПрокси Тогда
ТипПрокси = ПараметрыФункции["Proxy_Type"]; // http, socks5, socks4
АдресПрокси = ПараметрыФункции["Proxy_IP"];
ПортПрокси = ПараметрыФункции["Proxy_Port"];
ЛогинПрокси = ПараметрыФункции["Proxy_User"];
ПарольПрокси = ПараметрыФункции["Proxy_Password"];
Опции = Новый Структура;
Опции.Вставить("addr" , АдресПрокси);
Опции.Вставить("port" , ПортПрокси);
Опции.Вставить("type" , ТипПрокси);
Опции.Вставить("login", ЛогинПрокси);
Опции.Вставить("pass" , ПарольПрокси);
НастройкиПрокси = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПолучитьНастройкиПрокси", Опции);
КонецЕсли;
Если FTPS Тогда
Опции = Новый Структура;
Опции.Вставить("trust", Истина);
НастройкиTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПолучитьНастройкиTls", Опции);
КонецЕсли;
Опции = Новый Структура;
Опции.Вставить("set", НастройкиFTP);
Опции = Новый Структура;
Опции.Вставить("set" , НастройкиFTP);
Опции.Вставить("proxy", НастройкиПрокси);
Опции.Вставить("tls" , НастройкиTLS);
Соединение = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПолучитьКонфигурациюСоединения", Опции);
Путь = "new_dir/big.bin";
ИмяФайла = ПолучитьИмяВременногоФайла("bin");
Опции.Вставить("conn", Соединение);
Опции.Вставить("path", Путь);
Опции.Вставить("file", ИмяФайла);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "СохранитьФайл", Опции);
Постфикс = ПараметрыФункции["Postfix"];
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "СохранитьФайл" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Опции.Вставить("conn", Соединение);
Опции.Вставить("path", Путь);
Размер = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПолучитьРазмерОбъекта", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Размер, "СохранитьФайл (размер)" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Размер);
ФайлОбъект = Новый Файл(ИмяФайла);
РазмерФайла = ФайлОбъект.Размер();
РазмерРезультата = Результат["bytes"];
РазмерПроверки = Размер["bytes"];
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(РазмерФайла, "СохранитьФайл (размер файла)" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_Равенство(РазмерФайла, РазмерРезультата);
OPI_ПолучениеДанныхТестов.Проверка_Равенство(РазмерФайла, РазмерПроверки);
Попытка
УдалитьФайлы(ИмяФайла);
Исключение
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(ОписаниеОшибки(), "Ошибка удаления файла картинки", "FTP");
КонецПопытки;
КонецПроцедуры
#КонецОбласти
#КонецОбласти
@@ -327,9 +327,9 @@
НовыйТест(ТаблицаТестов, "OAI_РаботаСФайлами" , "Работа с файлами" , OpenAI);
НовыйТест(ТаблицаТестов, "OAI_РаботаСАудио" , "Работа с аудио" , OpenAI);
НовыйТест(ТаблицаТестов, "OAI_РаботаСМоделями" , "Работа с моделями" , OpenAI);
НовыйТест(ТаблицаТестов, "FT_ОсновныеМетоды" , "Основные методы" , FTP);
НовыйТест(ТаблицаТестов, "FT_РаботаСДиректориями" , "Работа с директориями" , FTP);
НовыйТест(ТаблицаТестов, "FT_РаботаСФайлами" , "Работа с файлами" , FTP);
НовыйТест(ТаблицаТестов, "FT_ОсновныеМетоды" , "Основные методы" , FTP);
Возврат ТаблицаТестов;
@@ -196,15 +196,15 @@
// Переименовать объект
// Изменяет путь объекта на указанный
//
//
// Примечание:
// Возможность перемещения объекта из одного каталога в другой при помощи переименования зависит от настроек сервера
//
//
// Параметры:
// Соединение - Произвольный - Существующее соединение или конфигурация соединения - conn
// Путь - Строка - Текущий путь к объекту - old
// НовыйПуть - Строка - Новый путь к объекту - new
//
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - Результат обработки
Функция ПереименоватьОбъект(Знач Соединение, Знач Путь, Знач НовыйПуть) Экспорт
@@ -228,7 +228,7 @@
КонецЕсли;
Возврат Результат;
КонецФункции
// Это коннектор !NOCLI
@@ -583,16 +583,16 @@
// Сохранить файл
// Сохраняет файл с сервера по указанному пути
//
//
// Параметры:
// Соединение - Произвольный - Существующее соединение или конфигурация соединения - conn
// Путь - Строка - Путь файла на сервере - path
// ИмяФайла - Строка - Путь для сохранения файла на диске - file
//
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - Результат обработки
Функция СохранитьФайл(Знач Соединение, Знач Путь, Знач ИмяФайла) Экспорт
ЗакрыватьСоединение = ПроверитьСоздатьСоединение(Соединение);
Если Не ЭтоКоннектор(Соединение) Тогда
@@ -612,7 +612,7 @@
КонецЕсли;
Возврат Результат;
КонецФункции
#КонецОбласти
+21 -21
View File
@@ -25649,12 +25649,12 @@
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереименоватьОбъект (проверка, новый)" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Результат = OPI_FTP.ПолучитьРазмерОбъекта(Соединение, "new_dir/big.bin");
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереименоватьОбъект (проверка, старый)" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатЛожь(Результат);
Результат = OPI_FTP.ПереименоватьОбъект(Соединение, "new_dir", "brand_new_dir");
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереименоватьОбъект (каталог)" + Постфикс, "FTP");
@@ -25665,27 +25665,27 @@
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереименоватьОбъект (список)", "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 1);
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Результат["data"][0]["path"], "brand_new_dir");
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Результат["data"][0]["path"] , "brand_new_dir");
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Результат["data"][0]["objects"][0]["path"], "brand_new_dir/giant.bin");
Результат = OPI_FTP.ПереименоватьОбъект(Соединение, "brand_new_dir", "new_dir");
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереименоватьОбъект (каталог, обратно)" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Результат = OPI_FTP.ПереименоватьОбъект(Соединение, "new_dir/giant.bin", "new_dir/big.bin");
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереименоватьОбъект (обратно)" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Результат = OPI_FTP.ПолучитьСписокОбъектов(Соединение, ".", Истина);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереименоватьОбъект (список, обратно)", "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 1);
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Результат["data"][0]["path"], "new_dir");
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Результат["data"][0]["path"] , "new_dir");
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Результат["data"][0]["objects"][0]["path"], "new_dir/big.bin");
КонецПроцедуры
Процедура FTP_СохранитьФайл(ПараметрыФункции)
@@ -25726,12 +25726,12 @@
Соединение = OPI_FTP.ОткрытьСоединение(НастройкиFTP, НастройкиПрокси, НастройкиTls);
Если OPI_FTP.ЭтоКоннектор(Соединение) Тогда
Путь = "new_dir/big.bin";
ИмяФайла = ПолучитьИмяВременногоФайла("bin");
Путь = "new_dir/big.bin";
ИмяФайла = ПолучитьИмяВременногоФайла("bin");
Результат = OPI_FTP.СохранитьФайл(Соединение, Путь, ИмяФайла);
Иначе
Результат = Соединение; // Ошибка соединения
КонецЕсли;
@@ -25742,29 +25742,29 @@
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СохранитьФайл" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Размер = OPI_FTP.ПолучитьРазмерОбъекта(Соединение, Путь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Размер, "СохранитьФайл (размер)" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Размер);
ФайлОбъект = Новый Файл(ИмяФайла);
РазмерФайла = ФайлОбъект.Размер();
РазмерРезультата = Результат["bytes"];
РазмерПроверки = Размер["bytes"];
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(РазмерФайла, "СохранитьФайл (размер файла)" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_Равенство(РазмерФайла, РазмерРезультата);
OPI_ПолучениеДанныхТестов.Проверка_Равенство(РазмерФайла, РазмерПроверки);
Попытка
УдалитьФайлы(ИмяФайла);
Исключение
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(ОписаниеОшибки(), "Ошибка удаления файла картинки", "FTP");
КонецПопытки;
КонецПроцедуры
+30 -30
View File
@@ -2779,7 +2779,7 @@
CLI_FTP_ПолучитьНастройкиTls(ПараметрыТеста);
CLI_FTP_ПолучитьРазмерОбъекта(ПараметрыТеста);
CLI_FTP_ПереименоватьОбъект(ПараметрыТеста);
OPI_Инструменты.Пауза(5);
КонецЦикла;
@@ -2796,7 +2796,7 @@
CLI_FTP_СоздатьДиректорию(ПараметрыТеста);
CLI_FTP_ПолучитьСписокОбъектов(ПараметрыТеста);
CLI_FTP_УдалитьДиректорию(ПараметрыТеста);
OPI_Инструменты.Пауза(5);
КонецЦикла;
@@ -2812,7 +2812,7 @@
CLI_FTP_ЗагрузитьФайл(ПараметрыТеста);
CLI_FTP_СохранитьФайл(ПараметрыТеста);
CLI_FTP_УдалитьФайл(ПараметрыТеста);
OPI_Инструменты.Пауза(5);
КонецЦикла
@@ -27325,8 +27325,8 @@
Соединение = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПолучитьКонфигурациюСоединения", Опции);
Опции.Вставить("conn", Соединение);
Опции.Вставить("old", "new_dir/big.bin");
Опции.Вставить("new", "new_dir/giant.bin");
Опции.Вставить("old" , "new_dir/big.bin");
Опции.Вставить("new" , "new_dir/giant.bin");
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПереименоватьОбъект", Опции);
@@ -27346,16 +27346,16 @@
Опции.Вставить("conn", Соединение);
Опции.Вставить("path", "new_dir/big.bin");
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПолучитьРазмерОбъекта", Опции);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПолучитьРазмерОбъекта", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПереименоватьОбъект (проверка, старый)" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатЛожь(Результат);
Опции.Вставить("conn", Соединение);
Опции.Вставить("old", "new_dir");
Опции.Вставить("new", "brand_new_dir");
Опции.Вставить("old" , "new_dir");
Опции.Вставить("new" , "brand_new_dir");
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПереименоватьОбъект", Опции);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПереименоватьОбъект", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПереименоватьОбъект (каталог)" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
@@ -27369,27 +27369,27 @@
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПереименоватьОбъект (список)", "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 1);
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Результат["data"][0]["path"], "brand_new_dir");
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Результат["data"][0]["path"] , "brand_new_dir");
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Результат["data"][0]["objects"][0]["path"], "brand_new_dir/giant.bin");
Опции.Вставить("conn", Соединение);
Опции.Вставить("new", "new_dir");
Опции.Вставить("old", "brand_new_dir");
Опции.Вставить("new" , "new_dir");
Опции.Вставить("old" , "brand_new_dir");
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПереименоватьОбъект", Опции);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПереименоватьОбъект", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПереименоватьОбъект (каталог, обратно)" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Опции.Вставить("conn", Соединение);
Опции.Вставить("new", "new_dir/big.bin");
Опции.Вставить("old", "new_dir/giant.bin");
Опции.Вставить("new" , "new_dir/big.bin");
Опции.Вставить("old" , "new_dir/giant.bin");
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПереименоватьОбъект", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПереименоватьОбъект (обратно)" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Опции.Вставить("conn", Соединение);
Опции.Вставить("path", ".");
Опции.Вставить("rcv" , Истина);
@@ -27399,9 +27399,9 @@
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПереименоватьОбъект (список, обратно)", "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 1);
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Результат["data"][0]["path"], "new_dir");
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Результат["data"][0]["path"] , "new_dir");
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Результат["data"][0]["objects"][0]["path"], "new_dir/big.bin");
КонецПроцедуры
Процедура CLI_FTP_СохранитьФайл(ПараметрыФункции)
@@ -27467,8 +27467,8 @@
Соединение = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПолучитьКонфигурациюСоединения", Опции);
Путь = "new_dir/big.bin";
ИмяФайла = ПолучитьИмяВременногоФайла("bin");
Путь = "new_dir/big.bin";
ИмяФайла = ПолучитьИмяВременногоФайла("bin");
Опции.Вставить("conn", Соединение);
Опции.Вставить("path", Путь);
@@ -27484,28 +27484,28 @@
Опции.Вставить("conn", Соединение);
Опции.Вставить("path", Путь);
Размер = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПолучитьРазмерОбъекта", Опции);
Размер = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ftp", "ПолучитьРазмерОбъекта", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Размер, "СохранитьФайл (размер)" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Размер);
ФайлОбъект = Новый Файл(ИмяФайла);
РазмерФайла = ФайлОбъект.Размер();
РазмерРезультата = Результат["bytes"];
РазмерПроверки = Размер["bytes"];
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(РазмерФайла, "СохранитьФайл (размер файла)" + Постфикс, "FTP");
OPI_ПолучениеДанныхТестов.Проверка_Равенство(РазмерФайла, РазмерРезультата);
OPI_ПолучениеДанныхТестов.Проверка_Равенство(РазмерФайла, РазмерПроверки);
Попытка
УдалитьФайлы(ИмяФайла);
Исключение
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(ОписаниеОшибки(), "Ошибка удаления файла картинки", "FTP");
КонецПопытки;
КонецПроцедуры
#КонецОбласти
+62
View File
@@ -80,6 +80,37 @@
НоваяСтрока.Область = "Основные методы";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "ftp";
НоваяСтрока.Модуль = "OPI_FTP";
НоваяСтрока.Метод = "ПереименоватьОбъект";
НоваяСтрока.МетодПоиска = "ПЕРЕИМЕНОВАТЬОБЪЕКТ";
НоваяСтрока.Параметр = "--conn";
НоваяСтрока.Описание = "Существующее соединение или конфигурация соединения";
НоваяСтрока.Область = "Основные методы";
НоваяСтрока.ОписаниеМетода = "Изменяет путь объекта на указанный";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "ftp";
НоваяСтрока.Модуль = "OPI_FTP";
НоваяСтрока.Метод = "ПереименоватьОбъект";
НоваяСтрока.МетодПоиска = "ПЕРЕИМЕНОВАТЬОБЪЕКТ";
НоваяСтрока.Параметр = "--old";
НоваяСтрока.Описание = "Текущий путь к объекту";
НоваяСтрока.Область = "Основные методы";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "ftp";
НоваяСтрока.Модуль = "OPI_FTP";
НоваяСтрока.Метод = "ПереименоватьОбъект";
НоваяСтрока.МетодПоиска = "ПЕРЕИМЕНОВАТЬОБЪЕКТ";
НоваяСтрока.Параметр = "--new";
НоваяСтрока.Описание = "Новый путь к объекту";
НоваяСтрока.Область = "Основные методы";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "ftp";
НоваяСтрока.Модуль = "OPI_FTP";
@@ -378,6 +409,37 @@
НоваяСтрока.Описание = "Путь сохранения файла на сервере";
НоваяСтрока.Область = "Работа с файлами";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "ftp";
НоваяСтрока.Модуль = "OPI_FTP";
НоваяСтрока.Метод = "СохранитьФайл";
НоваяСтрока.МетодПоиска = "СОХРАНИТЬФАЙЛ";
НоваяСтрока.Параметр = "--conn";
НоваяСтрока.Описание = "Существующее соединение или конфигурация соединения";
НоваяСтрока.Область = "Работа с файлами";
НоваяСтрока.ОписаниеМетода = "Сохраняет файл с сервера по указанному пути";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "ftp";
НоваяСтрока.Модуль = "OPI_FTP";
НоваяСтрока.Метод = "СохранитьФайл";
НоваяСтрока.МетодПоиска = "СОХРАНИТЬФАЙЛ";
НоваяСтрока.Параметр = "--path";
НоваяСтрока.Описание = "Путь файла на сервере";
НоваяСтрока.Область = "Работа с файлами";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "ftp";
НоваяСтрока.Модуль = "OPI_FTP";
НоваяСтрока.Метод = "СохранитьФайл";
НоваяСтрока.МетодПоиска = "СОХРАНИТЬФАЙЛ";
НоваяСтрока.Параметр = "--file";
НоваяСтрока.Описание = "Путь для сохранения файла на диске";
НоваяСтрока.Область = "Работа с файлами";
Возврат ТаблицаСостава;
КонецФункции