1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-10-08 22:51:57 +02:00

Доработка тестов SFTP, фикс подключения компонент

This commit is contained in:
Anton Titovets
2025-10-06 19:10:45 +03:00
parent 620246f609
commit 4965ab88eb
10 changed files with 97 additions and 41 deletions

View File

@@ -35,6 +35,8 @@ const iconList = [
'/img/APIs/TCP.png',
'/img/APIs/VKTeams.png',
'/img/APIs/FTP.png',
'/img/APIs/SFTP.png',
'/img/APIs/SSH.png',
];
const FallingIcons = () => {

View File

@@ -1,12 +1,12 @@
"MAIN ---"
linux-vdso.so.1 (0x00007ffd323ad000)
libssl.so.3 => /lib64/libssl.so.3 (0x000073db97600000)
libcrypto.so.3 => /lib64/libcrypto.so.3 (0x000073db96e00000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x000073db96a00000)
libc.so.6 => /lib64/libc.so.6 (0x000073db96600000)
libdl.so.2 => /lib64/libdl.so.2 (0x000073db96200000)
/lib64/ld-linux-x86-64.so.2 (0x000073db97a00000)
libz.so.1 => /lib64/libz.so.1 (0x000073db95e00000)
linux-vdso.so.1 (0x00007ffc92f7c000)
libssl.so.3 => /lib64/libssl.so.3 (0x00007d7cede00000)
libcrypto.so.3 => /lib64/libcrypto.so.3 (0x00007d7ced600000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007d7ced200000)
libc.so.6 => /lib64/libc.so.6 (0x00007d7cece00000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007d7ceca00000)
/lib64/ld-linux-x86-64.so.2 (0x00007d7cee200000)
libz.so.1 => /lib64/libz.so.1 (0x00007d7cec600000)
GLIBC_2.2.5
GLIBC_2.3
GLIBC_2.3.4

View File

@@ -1,5 +1,6 @@
use std::io::{BufReader, Cursor, Read, copy, Write};
use std::path::{Path, PathBuf};
use std::str::FromStr;
use serde_json::{json, Value};
use ssh2::{FileStat, RenameFlags, Sftp};
use crate::component::{AddIn};
@@ -88,16 +89,16 @@ impl AddIn{
None => return json!({"result": false, "error": "Init SFTP first"}).to_string()
};
let real_path = match sftp.realpath(path.as_ref()){
Ok(real_path) => real_path,
let pb = match PathBuf::from_str(path){
Ok(pb) => pb,
Err(err) => return format_json_error(&err.to_string()),
};
match sftp.stat(real_path.as_path()) {
match sftp.stat(pb.as_path()) {
Ok(stat) => {
json!({
"result": true,
"data": form_file_info(&real_path, &stat)
"data": form_file_info(&pb, &stat)
}).to_string()
},
Err(err) => format_json_error(&err.to_string()),

Binary file not shown.

Binary file not shown.

View File

@@ -191,11 +191,16 @@
КонецФункции
Функция ПодключитьКомпонентуНеИзолированно(ИмяМакета, ИмяКомпоненты)
Если OPI_Инструменты.ЭтоOneScript() Или OPI_Инструменты.ЭтоWindows() Тогда
НеобходимТип = Ложь;
ЭтоOneScript = OPI_Инструменты.ЭтоOneScript();
НеобходимТипПоСистеме = Не ЭтоOneScript И Не OPI_Инструменты.ЭтоWindows();
Если ЭтоOneScript Тогда
НеобходимТипПоВерсии = Ложь;
Иначе
СистемнаяИнформация = Новый СистемнаяИнформация();
Версия1С = СистемнаяИнформация.ВерсияПриложения;
@@ -205,29 +210,32 @@
Часть2 = Число(Версия1С[1]);
Часть3 = Число(Версия1С[2]);
НеобходимТип = Часть1 > 8 Или Часть2 > 3 Или Часть3 > 20;
НеобходимТипПоВерсии = Часть1 > 8 Или Часть2 > 3 Или Часть3 > 20;
КонецЕсли;
Если Не НеобходимТип Тогда
ТипПодключенияВнешнейКомпоненты = Неопределено;
КонецЕсли;
НеобходимТип = НеобходимТипПоВерсии И НеобходимТипПоСистеме;
Если Не НеобходимТип Тогда
Если Не НеобходимТипПоВерсии Тогда
ТипПодключенияВнешнейКомпоненты = Неопределено;
КонецЕсли;
Результат = ПодключитьВнешнююКомпоненту(ИмяМакета, ИмяКомпоненты, ТипВнешнейКомпоненты.Native);
Иначе
// BSLLS:UnusedLocalVariable-off
//@skip-check module-unused-local-variable
ТипПодключения = ТипПодключенияВнешнейКомпоненты.НеИзолированно;
//@skip-check server-execution-safe-mode
// BSLLS:UnusedLocalVariable-on
Результат = Вычислить(
"ПодключитьВнешнююКомпоненту(ИмяМакета, ИмяКомпоненты, ТипВнешнейКомпоненты.Native, ТипПодключения)");
Результат = Вычислить("ПодключитьВнешнююКомпоненту(ИмяМакета, ИмяКомпоненты, ТипВнешнейКомпоненты.Native, ТипПодключения)");
КонецЕсли;
Возврат Результат;

View File

@@ -11616,15 +11616,18 @@
Функция Проверка_SFTP_ЗагрузитьФайл(Знач Результат, Знач Вариант, Размер = "")
ОжидаетЧто(Результат["bytes"]).Равно(Размер);
Если Не СтрНайти(Вариант, "Размер 1") > 0 Или СтрНайти(Вариант, "Размер 2") > 0 Тогда
Если СтрНайти(Вариант, "Размер файла") > 0 Тогда
ОжидаетЧто(Результат).Равно(Размер);
Иначе
ОжидаетЧто(Результат["bytes"]).Равно(Размер);
ОжидаетЧто(Результат["result"]).Равно(Истина);
КонецЕсли;
КонецЕсли;
Возврат Результат;
Возврат Результат;
КонецФункции
@@ -11756,10 +11759,9 @@
КонецФункции
Функция Проверка_SFTP_СохранитьФайл(Знач Результат, Знач Вариант, РазмерРезультата = "", РазмерПроверки = "")
Функция Проверка_SFTP_СохранитьФайл(Знач Результат, Знач Вариант, РазмерПроверки = "")
Если СтрНайти(Вариант, "Размер файла") > 0 Тогда
ОжидаетЧто(Результат).Равно(РазмерРезультата);
ОжидаетЧто(Результат).Равно(РазмерПроверки);
Иначе
ОжидаетЧто(Результат["result"]).Равно(Истина);
@@ -11793,7 +11795,11 @@
Функция Проверка_SFTP_ИзменитьПуть(Знач Результат, Знач Вариант)
ОжидаетЧто(Результат["result"]).Равно(Истина);
Если СтрНайти(Вариант, "Проверка, Старый") Тогда
ОжидаетЧто(Результат["result"]).Равно(Ложь);
Иначе
ОжидаетЧто(Результат["result"]).Равно(Истина);
КонецЕсли;
Возврат Результат;

View File

@@ -23641,8 +23641,20 @@
// END
Обработать(Результат , "SFTP", "ЗагрузитьФайл", Постфикс , КартинкаДД.Размер());
ЗагруженныйФайл = Новый Файл(Картинка);
Обработать(Результат , "SFTP", "ЗагрузитьФайл", Постфикс , ЗагруженныйФайл.Размер());
Обработать(Результат2, "SFTP", "ЗагрузитьФайл", "Двоичные, " + Постфикс, КартинкаДД.Размер());
РазмерФайлаЛокальный = ЗагруженныйФайл.Размер();
РазмерФайлаЛокальныйДД = КартинкаДД.Размер();
РазмерФайлаУдаленный = OPI_SFTP.ПолучитьИнформациюОФайле(Соединение, "pic_from_disk.png")["data"]["size"];
РазмерФайлаУдаленныйДД = OPI_SFTP.ПолучитьИнформациюОФайле(Соединение, "files_folder/pic_from_binary.png")["data"]["size"];
Обработать(РазмерФайлаЛокальный, "SFTP", "СохранитьФайл", "Размер файла, " + Постфикс, РазмерФайлаУдаленный);
Обработать(РазмерФайлаЛокальныйДД, "SFTP", "СохранитьФайл", "Размер файла, ДД, " + Постфикс, РазмерФайлаУдаленныйДД);
Для Н = 1 По 7 Цикл
@@ -24070,8 +24082,14 @@
КонецЕсли;
// END
Обработать(Результат, "SFTP", "СохранитьФайл", Постфикс);
ЗагруженныйФайл = Новый Файл(ИмяФайла);
РазмерФайлаЛокальный = ЗагруженныйФайл.Размер();
РазмерФайлаУдаленный = OPI_SFTP.ПолучитьИнформациюОФайле(Соединение, Путь)["data"]["size"];
Обработать(РазмерФайлаЛокальный, "SFTP", "СохранитьФайл", "Размер файла, " + Постфикс, РазмерФайлаУдаленный);
Путь = "files_folder/pic_from_binary.png";
@@ -24155,6 +24173,11 @@
// END
Обработать(Результат, "SFTP", "ПолучитьДанныеФайла", Постфикс);
РазмерФайлаЛокальный = Результат.Размер();
РазмерФайлаУдаленный = OPI_SFTP.ПолучитьИнформациюОФайле(Соединение, Путь)["data"]["size"];
Обработать(РазмерФайлаЛокальный, "SFTP", "ПолучитьДанныеФайла", "Размер файла, " + Постфикс, РазмерФайлаУдаленный);
Путь = "files_folder/pic_from_binary.png";
@@ -24233,10 +24256,26 @@
// END
Обработать(Результат , "SFTP", "ИзменитьПуть", Постфикс);
Результат = OPI_SFTP.ПолучитьИнформациюОФайле(Соединение, "pic_from_disk.png");
Обработать(Результат , "SFTP", "ИзменитьПуть", "Проверка, Старый, " + Постфикс);
Результат = OPI_SFTP.ПолучитьИнформациюОФайле(Соединение, "files_folder/pic_from_disk.png");
Обработать(Результат , "SFTP", "ИзменитьПуть", "Проверка, Новый, " + Постфикс);
Результат = OPI_SFTP.ИзменитьПуть(Соединение, "files_folder/pic_from_disk.png", "pic_from_disk.png");
Обработать(Результат , "SFTP", "ИзменитьПуть", "Обратно, " + Постфикс);
Результат = OPI_SFTP.ПолучитьИнформациюОФайле(Соединение, "files_folder/pic_from_disk.png");
Обработать(Результат , "SFTP", "ИзменитьПуть", "Проверка, Старый, Обратно, " + Постфикс);
Результат = OPI_SFTP.ПолучитьИнформациюОФайле(Соединение, "pic_from_disk.png");
Обработать(Результат , "SFTP", "ИзменитьПуть", "Проверка, Новый, Обратно, " + Постфикс);
КонецПроцедуры