mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-04-07 07:10:01 +02:00
Доработки RCON
This commit is contained in:
parent
22cb50a6eb
commit
8d86925aa7
7
docs/docusaurus/src/css/custom.css
vendored
7
docs/docusaurus/src/css/custom.css
vendored
@ -131,7 +131,7 @@ li > a.menu__link {
|
||||
.Slack a::before, .YandexDisk a::before, .Dropbox a::before, .Bitrix24 a::before, .Messenger a::before,
|
||||
.Social a::before, .Database a::before, .Folder a::before, .Calendar a::before, .CRM a::before, .Commerce a::before,
|
||||
.VKTeams a::before, .S3 a::before, .TCP a::before, .Ozon a::before, .Neocities a::before, .CDEK a::before, .Start a::before,
|
||||
.Other a::before, .SQLite a::before, .PostgreSQL a::before, .GreenAPI a::before{
|
||||
.Other a::before, .SQLite a::before, .PostgreSQL a::before, .GreenAPI a::before, .RCON a::before{
|
||||
padding-right: 0.7rem;
|
||||
padding-top: 0.4rem;
|
||||
}
|
||||
@ -212,6 +212,11 @@ li > a.menu__link {
|
||||
content: url(../../static/img/APIs/small/TCP.png);
|
||||
}
|
||||
|
||||
.RCON > div > a::before{
|
||||
content: url(../../static/img/APIs/small/RCON.png);
|
||||
}
|
||||
|
||||
|
||||
.SQLite > div > a::before{
|
||||
content: url(../../static/img/APIs/small/SQLite.png);
|
||||
}
|
||||
|
BIN
docs/docusaurus/static/img/APIs/RCON.png
vendored
Normal file
BIN
docs/docusaurus/static/img/APIs/RCON.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.9 KiB |
BIN
docs/docusaurus/static/img/APIs/small/RCON.png
vendored
Normal file
BIN
docs/docusaurus/static/img/APIs/small/RCON.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 991 B |
16
docs/en/md/Instructions/RCON.md
vendored
Normal file
16
docs/en/md/Instructions/RCON.md
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
---
|
||||
id: RCON
|
||||
sidebar_class_name: RCON
|
||||
---
|
||||
|
||||
<img src={require('../../static/img/APIs/RCON.png').default} width='64px' />
|
||||
|
||||
# RCON (Client)
|
||||
|
||||
This section is dedicated to the library for working with the RCON. On this page, all the steps necessary to start working are described
|
||||
|
||||
## About implemented methods
|
||||
|
||||
## Compatibility
|
||||
|
||||
Technically, the client implementation is a Native component in Rust. It comes in a zip archive format, and, in theory, should work on all available platforms: x86 and x64 Windows and Linux. The actual testing was done on Windows x64 and, cossentially (via OneScript), on Linux x64
|
1
docs/en/md/sidebars.js
vendored
1
docs/en/md/sidebars.js
vendored
@ -85,6 +85,7 @@
|
||||
items:[
|
||||
{ type: 'category', link: {type: 'doc', id:'Instructions/Neocities'}, label: 'Neocities', className: 'Neocities', items:[{type: 'autogenerated', dirName: 'Neocities'}]},
|
||||
{ type: 'category', link: {type: 'doc', id:'Instructions/TCP'}, label: 'TCP', className: 'TCP', items:[{type: 'autogenerated', dirName: 'TCP'}]},
|
||||
{ type: 'category', link: {type: 'doc', id:'Instructions/RCON'}, label: 'RCON', className: 'RCON', items:[{type: 'autogenerated', dirName: 'RCON'}]},
|
||||
]
|
||||
}
|
||||
],
|
||||
|
17
docs/ru/md/Instructions/RCON.md
vendored
Normal file
17
docs/ru/md/Instructions/RCON.md
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
---
|
||||
id: RCON
|
||||
sidebar_class_name: RCON
|
||||
---
|
||||
|
||||
<img src={require('../../static/img/APIs/RCON.png').default} width='64px' />
|
||||
|
||||
# RCON (Клиент)
|
||||
|
||||
Этот раздел посвящен библиотеке для работы с протоколом RCON. На данной странице описаны все действия, необходимые для полноценного начала работы
|
||||
|
||||
## О реализованных методах
|
||||
|
||||
|
||||
## Совместимость
|
||||
|
||||
Технически, реализация клиента представляет из себя Native компоненту на Rust. Она поставляется в формате zip-архива, и, теоретически, должна работать на всех доступных платформах: x86 и x64 Windows и Linux. Фактическое тестирование проводилось на Windows x64 и, косвенно (через OneScript), на Linux x64
|
1
docs/ru/md/sidebars.js
vendored
1
docs/ru/md/sidebars.js
vendored
@ -85,6 +85,7 @@ export default {
|
||||
items:[
|
||||
{ type: 'category', link: {type: 'doc', id:'Instructions/Neocities'}, label: 'Neocities', className: 'Neocities', items:[{type: 'autogenerated', dirName: 'Neocities'}]},
|
||||
{ type: 'category', link: {type: 'doc', id:'Instructions/TCP'}, label: 'TCP', className: 'TCP', items:[{type: 'autogenerated', dirName: 'TCP'}]},
|
||||
{ type: 'category', link: {type: 'doc', id:'Instructions/RCON'}, label: 'RCON', className: 'RCON', items:[{type: 'autogenerated', dirName: 'RCON'}]},
|
||||
]
|
||||
}
|
||||
],
|
||||
|
BIN
media/RCON.png
vendored
Normal file
BIN
media/RCON.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.3 KiB |
8643
service/dictionaries/en.json
vendored
8643
service/dictionaries/en.json
vendored
File diff suppressed because it is too large
Load Diff
182
src/ru/OInt/core/Modules/OPI_RCON.os
vendored
Normal file
182
src/ru/OInt/core/Modules/OPI_RCON.os
vendored
Normal file
@ -0,0 +1,182 @@
|
||||
// OneScript: ./OInt/core/Modules/OPI_RCON.os
|
||||
// Lib: RCON
|
||||
// CLI: rcon
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:LineLength-off
|
||||
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check method-too-many-params
|
||||
|
||||
// Раскомментировать, если выполняется OneScript
|
||||
#Использовать "../../tools"
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
#Область ВыполнениеКоманд
|
||||
|
||||
// Открыть соединение !NOCLI
|
||||
// Открывает новое соединения RCON
|
||||
//
|
||||
// Параметры:
|
||||
// ПараметрыСоединения - Структура Из КлючИЗначение - Параметры соединения. См. СформироватьПараметрыСоединения - params
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Произвольный - Объект коннектора или структура с информацией об ошибке
|
||||
Функция ОткрытьСоединение(Знач ПараметрыСоединения) Экспорт
|
||||
|
||||
Если ЭтоКоннектор(ПараметрыСоединения) Тогда
|
||||
Возврат ПараметрыСоединения;
|
||||
КонецЕсли;
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(ПараметрыСоединения);
|
||||
|
||||
МассивОбязательных = СтрРазделить("url,password,read_timeout,write_timeout", ",");
|
||||
МассивНедостающих = OPI_Инструменты.НайтиОтсутствующиеПоляКоллекции(ПараметрыСоединения, МассивОбязательных);
|
||||
|
||||
Если ЗначениеЗаполнено(МассивНедостающих) Тогда
|
||||
ВызватьИсключение СтрШаблон("Отсутствуют параметры подключения: %1", СтрСоединить(МассивНедостающих));
|
||||
КонецЕсли;
|
||||
|
||||
Коннектор = ПодключитьКомпонентуНаСервере("OPI_RCON");
|
||||
|
||||
URL = ПараметрыСоединения["url"];
|
||||
Пароль = ПараметрыСоединения["password"];
|
||||
ТаймаутЧтения = ПараметрыСоединения["read_timeout"];
|
||||
ТаймаутЗаписи = ПараметрыСоединения["write_timeout"];
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(URL);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Пароль);
|
||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(ТаймаутЧтения);
|
||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(ТаймаутЗаписи);
|
||||
|
||||
Результат = Коннектор.Connect(URL, Пароль, ТаймаутЧтения, ТаймаутЗаписи);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат, Ложь);
|
||||
|
||||
Возврат ?(Результат["result"], Коннектор, Результат);
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Выполнить команду
|
||||
// Выполняет команду на сервере
|
||||
//
|
||||
// Примечание:
|
||||
// При передаче параметров соединения, новое соединение будет создано и закрыто в рамках выполнения одной команды.^^
|
||||
// Для выполнения нескольких команд (в версиях для OS и 1С) рекомендуется использовать заранее созданное соединение (см. ОткрытьСоединение)
|
||||
//
|
||||
// Параметры:
|
||||
// Команда - Строка - Текст команды - exec
|
||||
// Соединение - Произвольный, Структура Из КлючИЗначение - Соединение или параметры соединения - conn
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - Результат выполнения команды
|
||||
Функция ВыполнитьКоманду(Знач Команда, Знач Соединение) Экспорт
|
||||
|
||||
Если ЭтоКоннектор(Соединение) Тогда
|
||||
Коннектор = Соединение;
|
||||
Иначе
|
||||
Коннектор = ОткрытьСоединение(Соединение);
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ЭтоКоннектор(Коннектор) Тогда
|
||||
Возврат Коннектор;
|
||||
КонецЕсли;
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Команда);
|
||||
|
||||
Результат = Коннектор.Command(Команда);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Сформировать параметры соединения
|
||||
// Формирует коллекцию параметров соединения
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL сервера - url
|
||||
// Пароль - Строка - Пароль для подключения - pass
|
||||
// ТаймаутЧтения - Число - Таймаут ожидания ответа (в секундах) - rtout
|
||||
// ТаймаутЗаписи - Число - Таймаут ожидания отправки запроса (в секундах) - wtout
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура параметров соединения
|
||||
Функция СформироватьПараметрыСоединения(Знач URL, Знач Пароль, Знач ТаймаутЧтения = 30, Знач ТаймаутЗаписи = 30) Экспорт
|
||||
|
||||
ПараметрыСоединения = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("url" , URL , "Строка", ПараметрыСоединения);
|
||||
OPI_Инструменты.ДобавитьПоле("password" , Пароль , "Строка", ПараметрыСоединения);
|
||||
OPI_Инструменты.ДобавитьПоле("read_timeout" , ТаймаутЧтения, "Число" , ПараметрыСоединения);
|
||||
OPI_Инструменты.ДобавитьПоле("write_timeout", ТаймаутЗаписи, "Число" , ПараметрыСоединения);
|
||||
|
||||
Возврат ПараметрыСоединения;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Это коннектор !NOCLI
|
||||
// Проверяет, что значение является объектом внешней компоненты RCON
|
||||
//
|
||||
// Параметры:
|
||||
// Значение - Произвольный - Значение для проверки - value
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Булево - Это коннектор
|
||||
Функция ЭтоКоннектор(Знач Значение) Экспорт
|
||||
|
||||
Возврат Строка(ТипЗнч(Значение)) = "AddIn.OPI_RCON.Main";
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция ПодключитьКомпонентуНаСервере(Знач ИмяКомпоненты, Знач Класс = "Main")
|
||||
|
||||
Если OPI_Инструменты.ЭтоOneScript() Тогда
|
||||
ИмяМакета = OPI_Инструменты.КаталогКомпонентOS() + ИмяКомпоненты + ".zip";
|
||||
Иначе
|
||||
ИмяМакета = "ОбщийМакет." + ИмяКомпоненты;
|
||||
КонецЕсли;
|
||||
|
||||
ПодключитьВнешнююКомпоненту(ИмяМакета, ИмяКомпоненты, ТипВнешнейКомпоненты.Native);
|
||||
|
||||
Компонента = Новый ("AddIn." + ИмяКомпоненты + "." + Класс);
|
||||
Возврат Компонента;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
1
src/ru/OInt/lib.config
vendored
1
src/ru/OInt/lib.config
vendored
@ -12,6 +12,7 @@
|
||||
<module name="OPI_Notion" file="core/Modules/OPI_Notion.os"/>
|
||||
<module name="OPI_Ozon" file="core/Modules/OPI_Ozon.os"/>
|
||||
<module name="OPI_PostgreSQL" file="core/Modules/OPI_PostgreSQL.os"/>
|
||||
<module name="OPI_RCON" file="core/Modules/OPI_RCON.os"/>
|
||||
<module name="OPI_S3" file="core/Modules/OPI_S3.os"/>
|
||||
<module name="OPI_Slack" file="core/Modules/OPI_Slack.os"/>
|
||||
<module name="OPI_SQLite" file="core/Modules/OPI_SQLite.os"/>
|
||||
|
81
src/ru/OInt/tests/Modules/internal/OPI_Тесты.os
vendored
81
src/ru/OInt/tests/Modules/internal/OPI_Тесты.os
vendored
@ -53,6 +53,7 @@
|
||||
#Использовать "../../../tools"
|
||||
#Использовать "../../../core"
|
||||
#Использовать asserts
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
// Для YaxUnit
|
||||
@ -2505,6 +2506,22 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область RCON
|
||||
|
||||
Процедура RC_ВыполнениеКоманд() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("RCON_URL", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("RCON_Password", ПараметрыТеста);
|
||||
|
||||
RCON_СформироватьПараметрыСоединения(ПараметрыТеста);
|
||||
RCON_ОткрытьСоединение(ПараметрыТеста);
|
||||
RCON_ВыполнитьКоманду(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
@ -19295,6 +19312,70 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область RCON
|
||||
|
||||
Процедура RCON_СформироватьПараметрыСоединения(ПараметрыФункции)
|
||||
|
||||
URL = ПараметрыФункции["RCON_URL"];
|
||||
Пароль = ПараметрыФункции["RCON_Password"];
|
||||
ТаймаутЗаписи = 20;
|
||||
ТаймаутЧтения = 20;
|
||||
|
||||
Результат = OPI_RCON.СформироватьПараметрыСоединения(URL, Пароль, ТаймаутЧтения, ТаймаутЗаписи);
|
||||
|
||||
// END
|
||||
|
||||
Результат["URL"] = "127.0.0.1:25565";
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СформироватьПараметрыСоединения", "RCON");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура RCON_ОткрытьСоединение(ПараметрыФункции)
|
||||
|
||||
URL = ПараметрыФункции["RCON_URL"];
|
||||
Пароль = ПараметрыФункции["RCON_Password"];
|
||||
ТаймаутЗаписи = 20;
|
||||
ТаймаутЧтения = 20;
|
||||
|
||||
ПараметрыСоединения = OPI_RCON.СформироватьПараметрыСоединения(URL, Пароль, ТаймаутЧтения, ТаймаутЗаписи);
|
||||
Результат = OPI_RCON.ОткрытьСоединение(ПараметрыСоединения);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьСоединение", "RCON");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Компонента(Результат, "AddIn.OPI_RCON.Main");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура RCON_ВыполнитьКоманду(ПараметрыФункции)
|
||||
|
||||
URL = ПараметрыФункции["RCON_URL"];
|
||||
Пароль = ПараметрыФункции["RCON_Password"];
|
||||
ТаймаутЗаписи = 20;
|
||||
ТаймаутЧтения = 20;
|
||||
|
||||
ПараметрыСоединения = OPI_RCON.СформироватьПараметрыСоединения(URL, Пароль, ТаймаутЧтения, ТаймаутЗаписи);
|
||||
Соединение = OPI_RCON.ОткрытьСоединение(ПараметрыСоединения);
|
||||
|
||||
Команда = "list";
|
||||
Результат = OPI_RCON.ВыполнитьКоманду(Команда, Соединение);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВыполнитьКоманду", "RCON");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
Команда = "list";
|
||||
Результат = OPI_RCON.ВыполнитьКоманду(Команда, ПараметрыСоединения);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВыполнитьКоманду (без соединения)", "RCON");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -2460,6 +2460,21 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область RCON
|
||||
|
||||
Процедура CLI_RC_ВыполнениеКоманд() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("RCON_URL", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("RCON_Password", ПараметрыТеста);
|
||||
|
||||
CLI_RCON_СформироватьПараметрыСоединения(ПараметрыТеста);
|
||||
CLI_RCON_ВыполнитьКоманду(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
@ -21701,6 +21716,57 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область RCON
|
||||
|
||||
Процедура CLI_RCON_СформироватьПараметрыСоединения(ПараметрыФункции)
|
||||
|
||||
URL = ПараметрыФункции["RCON_URL"];
|
||||
Пароль = ПараметрыФункции["RCON_Password"];
|
||||
ТаймаутЗаписи = 20;
|
||||
ТаймаутЧтения = 20;
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("url" , URL);
|
||||
Опции.Вставить("pass" , Пароль);
|
||||
Опции.Вставить("wtout", ТаймаутЗаписи);
|
||||
Опции.Вставить("rtout", ТаймаутЧтения);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("rcon", "СформироватьПараметрыСоединения", Опции);
|
||||
|
||||
Результат["URL"] = "127.0.0.1:25565";
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "СформироватьПараметрыСоединения", "RCON");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CLI_RCON_ВыполнитьКоманду(ПараметрыФункции)
|
||||
|
||||
URL = ПараметрыФункции["RCON_URL"];
|
||||
Пароль = ПараметрыФункции["RCON_Password"];
|
||||
ТаймаутЗаписи = 20;
|
||||
ТаймаутЧтения = 20;
|
||||
Команда = "list";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("url" , URL);
|
||||
Опции.Вставить("pass" , Пароль);
|
||||
Опции.Вставить("wtout", ТаймаутЗаписи);
|
||||
Опции.Вставить("rtout", ТаймаутЧтения);
|
||||
|
||||
ПараметрыСоединения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("rcon", "СформироватьПараметрыСоединения", Опции);
|
||||
|
||||
Опции.Вставить("exec", Команда);
|
||||
Опции.Вставить("conn", ПараметрыСоединения);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("rcon", "ВыполнитьКоманду", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВыполнитьКоманду", "RCON");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -56,6 +56,7 @@
|
||||
Разделы.Вставить("Twitter" , 4);
|
||||
Разделы.Вставить("PostgreSQL" , 5);
|
||||
Разделы.Вставить("SQLite" , 5);
|
||||
Разделы.Вставить("RCON" , 5);
|
||||
Разделы.Вставить("YandexDisk" , 5);
|
||||
Разделы.Вставить("GoogleWorkspace", 2);
|
||||
Разделы.Вставить("GoogleCalendar" , 5);
|
||||
@ -91,6 +92,7 @@
|
||||
Разделы.Вставить("Twitter" , СтандартныеЗависимости);
|
||||
Разделы.Вставить("PostgreSQL" , СтандартныеЗависимости);
|
||||
Разделы.Вставить("SQLite" , СтандартныеЗависимости);
|
||||
Разделы.Вставить("RCON" , СтандартныеЗависимости);
|
||||
Разделы.Вставить("YandexDisk" , СтандартныеЗависимости);
|
||||
Разделы.Вставить("GoogleWorkspace", СтандартныеЗависимости);
|
||||
Разделы.Вставить("GoogleCalendar" , ЗависимостиГугл);
|
||||
@ -140,6 +142,7 @@
|
||||
SQLite = "SQLite";
|
||||
Postgres = "PostgreSQL";
|
||||
GreenAPI = "GreenAPI";
|
||||
RCON = "RCON";
|
||||
|
||||
ТаблицаТестов = Новый ТаблицаЗначений;
|
||||
ТаблицаТестов.Колонки.Добавить("Метод");
|
||||
@ -285,6 +288,7 @@
|
||||
НовыйТест(ТаблицаТестов, "GAPI_ОчередьСообщений" , "Очередь сообщений" , GreenAPI);
|
||||
НовыйТест(ТаблицаТестов, "GAPI_ЖурналыСообщений" , "Журналы сообщений" , GreenAPI);
|
||||
НовыйТест(ТаблицаТестов, "GAPI_Аккаунт" , "Аккаунт" , GreenAPI);
|
||||
НовыйТест(ТаблицаТестов, "RC_ВыполнениеКоманд" , "Выполнение команд" , RCON);
|
||||
|
||||
Возврат ТаблицаТестов;
|
||||
|
||||
@ -2321,9 +2325,9 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьОбщийМодуль(Знач Имя)
|
||||
|
||||
|
||||
Модуль = Вычислить(Имя);
|
||||
|
||||
|
||||
Возврат Модуль;
|
||||
КонецФункции
|
||||
|
||||
|
@ -45,7 +45,7 @@
|
||||
|
||||
#Область ВыполнениеКоманд
|
||||
|
||||
// !NOCLI Открыть соединение
|
||||
// Открыть соединение !NOCLI
|
||||
// Открывает новое соединения RCON
|
||||
//
|
||||
// Параметры:
|
||||
|
@ -1,4 +1,4 @@
|
||||
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
|
||||
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
|
||||
|
||||
// MIT License
|
||||
|
||||
@ -19344,7 +19344,7 @@
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьСоединение", "RCON");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Компонента(Результат, "OPI_RCON");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Компонента(Результат, "AddIn.OPI_RCON.Main");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -19358,14 +19358,20 @@
|
||||
ПараметрыСоединения = OPI_RCON.СформироватьПараметрыСоединения(URL, Пароль, ТаймаутЧтения, ТаймаутЗаписи);
|
||||
Соединение = OPI_RCON.ОткрытьСоединение(ПараметрыСоединения);
|
||||
|
||||
Команда = "version";
|
||||
Команда = "list";
|
||||
Результат = OPI_RCON.ВыполнитьКоманду(Команда, Соединение);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВыполнитьКоманду", "RCON");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
|
||||
Команда = "list";
|
||||
Результат = OPI_RCON.ВыполнитьКоманду(Команда, ПараметрыСоединения);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВыполнитьКоманду (без соединения)", "RCON");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -2460,6 +2460,21 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область RCON
|
||||
|
||||
Процедура CLI_RC_ВыполнениеКоманд() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("RCON_URL", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("RCON_Password", ПараметрыТеста);
|
||||
|
||||
CLI_RCON_СформироватьПараметрыСоединения(ПараметрыТеста);
|
||||
CLI_RCON_ВыполнитьКоманду(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
@ -21701,6 +21716,57 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область RCON
|
||||
|
||||
Процедура CLI_RCON_СформироватьПараметрыСоединения(ПараметрыФункции)
|
||||
|
||||
URL = ПараметрыФункции["RCON_URL"];
|
||||
Пароль = ПараметрыФункции["RCON_Password"];
|
||||
ТаймаутЗаписи = 20;
|
||||
ТаймаутЧтения = 20;
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("url" , URL);
|
||||
Опции.Вставить("pass" , Пароль);
|
||||
Опции.Вставить("wtout", ТаймаутЗаписи);
|
||||
Опции.Вставить("rtout", ТаймаутЧтения);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("rcon", "СформироватьПараметрыСоединения", Опции);
|
||||
|
||||
Результат["URL"] = "127.0.0.1:25565";
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "СформироватьПараметрыСоединения", "RCON");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CLI_RCON_ВыполнитьКоманду(ПараметрыФункции)
|
||||
|
||||
URL = ПараметрыФункции["RCON_URL"];
|
||||
Пароль = ПараметрыФункции["RCON_Password"];
|
||||
ТаймаутЗаписи = 20;
|
||||
ТаймаутЧтения = 20;
|
||||
Команда = "list";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("url" , URL);
|
||||
Опции.Вставить("pass" , Пароль);
|
||||
Опции.Вставить("wtout", ТаймаутЗаписи);
|
||||
Опции.Вставить("rtout", ТаймаутЧтения);
|
||||
|
||||
ПараметрыСоединения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("rcon", "СформироватьПараметрыСоединения", Опции);
|
||||
|
||||
Опции.Вставить("exec", Команда);
|
||||
Опции.Вставить("conn", ПараметрыСоединения);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("rcon", "ВыполнитьКоманду", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВыполнитьКоманду", "RCON");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
Loading…
x
Reference in New Issue
Block a user