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

Доработка тестов ZMQ

This commit is contained in:
Anton Titovets
2026-05-07 13:22:39 +03:00
parent 2b9dd6f261
commit dd0113768f
2 changed files with 206 additions and 115 deletions
@@ -8321,6 +8321,17 @@
КонецФункции
Функция Проверка_ZeroMQ_ОбработатьЗапрос(Знач Результат, Знач Вариант, Сообщение = "")
ОжидаетЧто(Результат["result"]).Равно(Истина);
Данные = ПолучитьСтрокуИзДвоичныхДанных(Результат["data"]);
ОжидаетЧто(Данные).Равно(Сообщение);
Результат["data"] = "<ДвоичныеДанные>";
Возврат Результат;
КонецФункции
Функция Проверка_ZeroMQ_Подписаться(Знач Результат, Знач Вариант, Сообщение = "")
Если Вариант = "ЧужаяТема" Тогда
@@ -8351,7 +8362,7 @@
КонецФункции
Функция Проверка_ZeroMQ_ЭтоОбъектКлиента(Знач Результат, Знач Вариант)
Функция Проверка_ZeroMQ_ЭтоОбъектКоннектора(Знач Результат, Знач Вариант)
Если Вариант = "Ложь" Тогда
ОжидаетЧто(Результат).Равно(Ложь);
+194 -114
View File
@@ -95,8 +95,6 @@
Процедура ZMQ_МетодыПодключения() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("ZeroMQ_Address", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("ZeroMQ_Port" , ПараметрыТеста);
ZeroMQ_СоздатьСоединениеReq(ПараметрыТеста);
ZeroMQ_СоздатьСоединениеSub(ПараметрыТеста);
@@ -108,7 +106,6 @@
Процедура ZMQ_МетодыПрослушивания() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("ZeroMQ_Port", ПараметрыТеста);
ZeroMQ_ОткрытьПортRep(ПараметрыТеста);
ZeroMQ_ОткрытьПортPub(ПараметрыТеста);
@@ -120,11 +117,10 @@
Процедура ZMQ_МетодыВзаимодействия() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("ZeroMQ_Address", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("ZeroMQ_Port" , ПараметрыТеста);
ZeroMQ_ОтправитьДанные(ПараметрыТеста);
ZeroMQ_ПолучитьДанные(ПараметрыТеста);
ZeroMQ_ОбработатьЗапрос(ПараметрыТеста);
ZeroMQ_Подписаться(ПараметрыТеста);
ZeroMQ_ЗакрытьСоединение(ПараметрыТеста);
ZeroMQ_ЭтоОбъектКоннектора(ПараметрыТеста);
@@ -201,7 +197,7 @@
OPI_Инструменты.Пауза(1);
Сообщение = СтрШаблон("ZMQ_C_SUB_%1", Формат(ТекущаяДата(), "ДФ=yyyyMMddhhmmss"));
Сообщение = СтрШаблон("topic.ZMQ_C_SUB_%1", Формат(ТекущаяДата(), "ДФ=yyyyMMddhhmmss"));
Данные = ПолучитьДвоичныеДанныеИзСтроки(Сообщение);
Отправка = OPI_ZeroMQ.ОтправитьДанные(ОбъектСервера, Данные, 3000);
@@ -278,7 +274,7 @@
OPI_ПолучениеДанныхТестов.Обработать(Результат, "ZeroMQ", "СоздатьСоединениеPull");
OPI_ПолучениеДанныхТестов.Обработать(Проверка, "ZeroMQ", "СоздатьСоединениеPull", "Проверка", Сообщение);
OPI_ZeroMQ.ЗакрытьСоединение(Сервер);
OPI_ZeroMQ.ЗакрытьСоединение(ОбъектСервера);
OPI_ZeroMQ.ЗакрытьСоединение(Результат);
КонецПроцедуры
@@ -319,178 +315,256 @@
Процедура ZeroMQ_ОткрытьПортPub(ПараметрыФункции)
Порт = ПараметрыФункции["ZeroMQ_Port"] + 5;
Адрес = СтрШаблон("tcp://127.0.0.1:%1", Порт);
Результат = OPI_ZeroMQ.ОткрытьПортPub(Порт);
Клиент = OPI_ZeroMQ.СоздатьСоединениеSub(Адрес); // SKIP
Подписка = OPI_ZeroMQ.Подписаться(Клиент, "topic."); // SKIP
OPI_Инструменты.Пауза(1); // SKIP
Сообщение = "topic.ZMQ_B_PUB_" + Формат(ТекущаяДата(), "ДФ=yyyyMMddhhmmss");
Данные = ПолучитьДвоичныеДанныеИзСтроки(Сообщение);
Отправка = OPI_ZeroMQ.ОтправитьДанные(Результат, Данные, 3000); // SKIP
Проверка = OPI_ZeroMQ.ПолучитьДанные(Клиент, 3000); // SKIP
// Сервер
Порт = 1234;
ОбъектСервера = OPI_ZeroMQ.ОткрытьПортPub(Порт);
Если Не OPI_ZeroMQ.ЭтоОбъектКоннектора(ОбъектСервера) Тогда
ВызватьИсключение OPI_Инструменты.JSONСтрокой(ОбъектСервера);
КонецЕсли;
// Клиент
Адрес = СтрШаблон("tcp://127.0.0.1:%1", Порт);
ОбъектКлиента = OPI_ZeroMQ.СоздатьСоединениеSub(Адрес);
Если Не OPI_ZeroMQ.ЭтоОбъектКоннектора(ОбъектКлиента) Тогда
ВызватьИсключение OPI_Инструменты.JSONСтрокой(ОбъектКлиента);
КонецЕсли;
OPI_ZeroMQ.Подписаться(ОбъектКлиента, "topic.");
// END
OPI_Инструменты.Пауза(1);
Сообщение = СтрШаблон("topic.ZMQ_B_PUB_%1", Формат(ТекущаяДата(), "ДФ=yyyyMMddhhmmss"));
Данные = ПолучитьДвоичныеДанныеИзСтроки(Сообщение);
Отправка = OPI_ZeroMQ.ОтправитьДанные(ОбъектСервера, Данные, 3000);
Проверка = OPI_ZeroMQ.ПолучитьДанные(ОбъектКлиента, 3000);
OPI_ПолучениеДанныхТестов.Обработать(Результат, "ZeroMQ", "ОткрытьПортPub");
OPI_ПолучениеДанныхТестов.Обработать(ОбъектСервера, "ZeroMQ", "ОткрытьПортPub");
OPI_ПолучениеДанныхТестов.Обработать(Проверка, "ZeroMQ", "ОткрытьПортPub", "Проверка", Сообщение);
Если OPI_ZeroMQ.ЭтоОбъектКоннектора(Клиент) Тогда
OPI_ZeroMQ.ЗакрытьСоединение(Клиент);
КонецЕсли;
Если OPI_ZeroMQ.ЭтоОбъектКоннектора(Результат) Тогда
OPI_ZeroMQ.ЗакрытьСоединение(Результат);
КонецЕсли;
OPI_ZeroMQ.ЗакрытьСоединение(ОбъектКлиента);
OPI_ZeroMQ.ЗакрытьСоединение(ОбъектСервера);
КонецПроцедуры
Процедура ZeroMQ_ОткрытьПортPush(ПараметрыФункции)
Порт = ПараметрыФункции["ZeroMQ_Port"] + 6;
Адрес = СтрШаблон("tcp://127.0.0.1:%1", Порт);
Результат = OPI_ZeroMQ.ОткрытьПортPush(Порт);
Клиент = OPI_ZeroMQ.СоздатьСоединениеPull(Адрес); // SKIP
Сообщение = "ZMQ_B_PUSH_" + Формат(ТекущаяДата(), "ДФ=yyyyMMddhhmmss");
// Сервер
Порт = 1234;
ОбъектСервера = OPI_ZeroMQ.ОткрытьПортPush(Порт);
Если Не OPI_ZeroMQ.ЭтоОбъектКоннектора(ОбъектСервера) Тогда
ВызватьИсключение OPI_Инструменты.JSONСтрокой(ОбъектСервера);
КонецЕсли;
// Клиент
Адрес = СтрШаблон("tcp://127.0.0.1:%1", Порт);
ОбъектКлиента = OPI_ZeroMQ.СоздатьСоединениеPull(Адрес);
Если Не OPI_ZeroMQ.ЭтоОбъектКоннектора(ОбъектКлиента) Тогда
ВызватьИсключение OPI_Инструменты.JSONСтрокой(ОбъектКлиента);
КонецЕсли;
Сообщение = СтрШаблон("ZMQ_B_PUSH_%1", Формат(ТекущаяДата(), "ДФ=yyyyMMddhhmmss"));
Данные = ПолучитьДвоичныеДанныеИзСтроки(Сообщение);
Отправка = OPI_ZeroMQ.ОтправитьДанные(Результат, Данные, 3000); // SKIP
Проверка = OPI_ZeroMQ.ПолучитьДанные(Клиент, 3000); // SKIP
Отправка = OPI_ZeroMQ.ОтправитьДанные(ОбъектСервера, Данные, 3000);
Проверка = OPI_ZeroMQ.ПолучитьДанные(ОбъектКлиента, 3000);
// END
OPI_ПолучениеДанныхТестов.Обработать(Результат, "ZeroMQ", "ОткрытьПортPush");
OPI_ПолучениеДанныхТестов.Обработать(ОбъектСервера, "ZeroMQ", "ОткрытьПортPush");
OPI_ПолучениеДанныхТестов.Обработать(Проверка, "ZeroMQ", "ОткрытьПортPush", "Проверка", Сообщение);
Если OPI_ZeroMQ.ЭтоОбъектКоннектора(Клиент) Тогда
OPI_ZeroMQ.ЗакрытьСоединение(Клиент);
КонецЕсли;
Если OPI_ZeroMQ.ЭтоОбъектКоннектора(Результат) Тогда
OPI_ZeroMQ.ЗакрытьСоединение(Результат);
КонецЕсли;
OPI_ZeroMQ.ЗакрытьСоединение(ОбъектКлиента);
OPI_ZeroMQ.ЗакрытьСоединение(ОбъектСервера);
КонецПроцедуры
Процедура ZeroMQ_ОткрытьПортPull(ПараметрыФункции)
Порт = ПараметрыФункции["ZeroMQ_Port"] + 7;
Адрес = СтрШаблон("tcp://127.0.0.1:%1", Порт);
Результат = OPI_ZeroMQ.ОткрытьПортPull(Порт);
Клиент = OPI_ZeroMQ.СоздатьСоединениеPush(Адрес); // SKIP
Сообщение = "ZMQ_B_PULL_" + Формат(ТекущаяДата(), "ДФ=yyyyMMddhhmmss");
// Сервер
Порт = 1234;
ОбъектСервера = OPI_ZeroMQ.ОткрытьПортPull(Порт);
Если Не OPI_ZeroMQ.ЭтоОбъектКоннектора(ОбъектСервера) Тогда
ВызватьИсключение OPI_Инструменты.JSONСтрокой(ОбъектСервера);
КонецЕсли;
// Клиент
Адрес = СтрШаблон("tcp://127.0.0.1:%1", Порт);
ОбъектКлиента = OPI_ZeroMQ.СоздатьСоединениеPush(Адрес);
Если Не OPI_ZeroMQ.ЭтоОбъектКоннектора(ОбъектКлиента) Тогда
ВызватьИсключение OPI_Инструменты.JSONСтрокой(ОбъектКлиента);
КонецЕсли;
Сообщение = СтрШаблон("ZMQ_B_PULL_%1", Формат(ТекущаяДата(), "ДФ=yyyyMMddhhmmss"));
Данные = ПолучитьДвоичныеДанныеИзСтроки(Сообщение);
Отправка = OPI_ZeroMQ.ОтправитьДанные(Клиент, Данные, 3000); // SKIP
Проверка = OPI_ZeroMQ.ПолучитьДанные(Результат, 3000); // SKIP
Отправка = OPI_ZeroMQ.ОтправитьДанные(ОбъектКлиента, Данные, 3000); // SKIP
Проверка = OPI_ZeroMQ.ПолучитьДанные(ОбъектСервера, 3000); // SKIP
// END
OPI_ПолучениеДанныхТестов.Обработать(Результат, "ZeroMQ", "ОткрытьПортPull");
OPI_ПолучениеДанныхТестов.Обработать(ОбъектСервера, "ZeroMQ", "ОткрытьПортPull");
OPI_ПолучениеДанныхТестов.Обработать(Проверка, "ZeroMQ", "ОткрытьПортPull", "Проверка", Сообщение);
Если OPI_ZeroMQ.ЭтоОбъектКоннектора(Клиент) Тогда
OPI_ZeroMQ.ЗакрытьСоединение(Клиент);
КонецЕсли;
Если OPI_ZeroMQ.ЭтоОбъектКоннектора(Результат) Тогда
OPI_ZeroMQ.ЗакрытьСоединение(Результат);
КонецЕсли;
OPI_ZeroMQ.ЗакрытьСоединение(ОбъектКлиента);
OPI_ZeroMQ.ЗакрытьСоединение(ОбъектСервера);
КонецПроцедуры
Процедура ZeroMQ_ОтправитьДанные(ПараметрыФункции)
Порт = ПараметрыФункции["ZeroMQ_Port"] + 8;
Адрес = СтрШаблон("tcp://127.0.0.1:%1", Порт);
Сервер = OPI_ZeroMQ.ОткрытьПортRep(Порт);
Клиент = OPI_ZeroMQ.СоздатьСоединениеReq(Адрес);
Сообщение = "ZMQ_SEND_" + Формат(ТекущаяДата(), "ДФ=yyyyMMddhhmmss");
// Сервер
Порт = 1234;
ОбъектСервера = OPI_ZeroMQ.ОткрытьПортRep(Порт);
Если Не OPI_ZeroMQ.ЭтоОбъектКоннектора(ОбъектСервера) Тогда
ВызватьИсключение OPI_Инструменты.JSONСтрокой(ОбъектСервера);
КонецЕсли;
// Клиент
Адрес = СтрШаблон("tcp://127.0.0.1:%1", Порт);
ОбъектКлиента = OPI_ZeroMQ.СоздатьСоединениеReq(Адрес);
Если Не OPI_ZeroMQ.ЭтоОбъектКоннектора(ОбъектКлиента) Тогда
ВызватьИсключение OPI_Инструменты.JSONСтрокой(ОбъектКлиента);
КонецЕсли;
Сообщение = СтрШаблон("ZMQ_SEND_%1", Формат(ТекущаяДата(), "ДФ=yyyyMMddhhmmss"));
Данные = ПолучитьДвоичныеДанныеИзСтроки(Сообщение);
Если Не OPI_ZeroMQ.ЭтоОбъектКоннектора(Сервер) Тогда
ВызватьИсключение OPI_Инструменты.JSONСтрокой(Сервер);
КонецЕсли;
Если Не OPI_ZeroMQ.ЭтоОбъектКоннектора(Клиент) Тогда
ВызватьИсключение OPI_Инструменты.JSONСтрокой(Клиент);
КонецЕсли;
Результат = OPI_ZeroMQ.ОтправитьДанные(Клиент, Данные, 3000);
Прием = OPI_ZeroMQ.ПолучитьДанные(Сервер, 3000); // SKIP
Результат = OPI_ZeroMQ.ОтправитьДанные(ОбъектКлиента, Данные, 3000);
Прием = OPI_ZeroMQ.ПолучитьДанные(ОбъектСервера, 3000); // SKIP
// END
OPI_ПолучениеДанныхТестов.Обработать(Результат, "ZeroMQ", "ОтправитьДанные");
OPI_ПолучениеДанныхТестов.Обработать(Прием, "ZeroMQ", "ОтправитьДанные", "Проверка", Сообщение);
OPI_ZeroMQ.ЗакрытьСоединение(Клиент);
OPI_ZeroMQ.ЗакрытьСоединение(Сервер);
OPI_ZeroMQ.ЗакрытьСоединение(ОбъектКлиента);
OPI_ZeroMQ.ЗакрытьСоединение(ОбъектСервера);
КонецПроцедуры
Процедура ZeroMQ_ОбработатьЗапрос(ПараметрыФункции)
// Сервер
Порт = 1234;
ОбъектСервера = OPI_ZeroMQ.ОткрытьПортRep(Порт);
Если Не OPI_ZeroMQ.ЭтоОбъектКоннектора(ОбъектСервера) Тогда
ВызватьИсключение OPI_Инструменты.JSONСтрокой(ОбъектСервера);
КонецЕсли;
// Клиент
Адрес = СтрШаблон("tcp://127.0.0.1:%1", Порт);
ОбъектКлиента = OPI_ZeroMQ.СоздатьСоединениеReq(Адрес);
Если Не OPI_ZeroMQ.ЭтоОбъектКоннектора(ОбъектКлиента) Тогда
ВызватьИсключение OPI_Инструменты.JSONСтрокой(ОбъектКлиента);
КонецЕсли;
Запрос = СтрШаблон("ZMQ_REQ_%1", Формат(ТекущаяДата(), "ДФ=yyyyMMddhhmmss"));
ДанныеReq = ПолучитьДвоичныеДанныеИзСтроки(Запрос);
Результат = OPI_ZeroMQ.ОбработатьЗапрос(ОбъектКлиента, ДанныеReq, 3000, 3000);
// END
OPI_ПолучениеДанныхТестов.Обработать(Результат, "ZeroMQ", "ОбработатьЗапрос", "Ответ", Запрос);
OPI_ZeroMQ.ЗакрытьСоединение(ОбъектКлиента);
OPI_ZeroMQ.ЗакрытьСоединение(ОбъектСервера);
КонецПроцедуры
Процедура ZeroMQ_ПолучитьДанные(ПараметрыФункции)
Порт = ПараметрыФункции["ZeroMQ_Port"] + 9;
Адрес = СтрШаблон("tcp://127.0.0.1:%1", Порт);
Сервер = OPI_ZeroMQ.ОткрытьПортRep(Порт);
Клиент = OPI_ZeroMQ.СоздатьСоединениеReq(Адрес);
Сообщение = "ZMQ_RECV_" + Формат(ТекущаяДата(), "ДФ=yyyyMMddhhmmss");
// Сервер
Порт = 1234;
ОбъектСервера = OPI_ZeroMQ.ОткрытьПортRep(Порт);
Если Не OPI_ZeroMQ.ЭтоОбъектКоннектора(ОбъектСервера) Тогда
ВызватьИсключение OPI_Инструменты.JSONСтрокой(ОбъектСервера);
КонецЕсли;
// Клиент
Адрес = СтрШаблон("tcp://127.0.0.1:%1", Порт);
ОбъектКлиента = OPI_ZeroMQ.СоздатьСоединениеReq(Адрес);
Если Не OPI_ZeroMQ.ЭтоОбъектКоннектора(ОбъектКлиента) Тогда
ВызватьИсключение OPI_Инструменты.JSONСтрокой(ОбъектКлиента);
КонецЕсли;
Сообщение = СтрШаблон("ZMQ_RECV_%1", Формат(ТекущаяДата(), "ДФ=yyyyMMddhhmmss"));
Данные = ПолучитьДвоичныеДанныеИзСтроки(Сообщение);
Если Не OPI_ZeroMQ.ЭтоОбъектКоннектора(Сервер) Тогда
ВызватьИсключение OPI_Инструменты.JSONСтрокой(Сервер);
КонецЕсли;
Если Не OPI_ZeroMQ.ЭтоОбъектКоннектора(Клиент) Тогда
ВызватьИсключение OPI_Инструменты.JSONСтрокой(Клиент);
КонецЕсли;
Отправка = OPI_ZeroMQ.ОтправитьДанные(Клиент, Данные, 3000); // SKIP
Результат = OPI_ZeroMQ.ПолучитьДанные(Сервер, 3000);
Отправка = OPI_ZeroMQ.ОтправитьДанные(ОбъектКлиента, Данные, 3000); // SKIP
Результат = OPI_ZeroMQ.ПолучитьДанные(ОбъектСервера, 3000);
// END
OPI_ПолучениеДанныхТестов.Обработать(Результат, "ZeroMQ", "ПолучитьДанные", , Сообщение);
OPI_ZeroMQ.ЗакрытьСоединение(Клиент);
OPI_ZeroMQ.ЗакрытьСоединение(Сервер);
OPI_ZeroMQ.ЗакрытьСоединение(ОбъектКлиента);
OPI_ZeroMQ.ЗакрытьСоединение(ОбъектСервера);
КонецПроцедуры
Процедура ZeroMQ_Подписаться(ПараметрыФункции)
Порт = ПараметрыФункции["ZeroMQ_Port"] + 10;
Адрес = СтрШаблон("tcp://127.0.0.1:%1", Порт);
Паблишер = OPI_ZeroMQ.ОткрытьПортPub(Порт);
Подписчик = OPI_ZeroMQ.СоздатьСоединениеSub(Адрес);
// Сервер
Порт = 1234;
ОбъектСервера = OPI_ZeroMQ.ОткрытьПортPub(Порт);
Если Не OPI_ZeroMQ.ЭтоОбъектКоннектора(ОбъектСервера) Тогда
ВызватьИсключение OPI_Инструменты.JSONСтрокой(ОбъектСервера);
КонецЕсли;
// Клиент
Адрес = СтрШаблон("tcp://127.0.0.1:%1", Порт);
ОбъектКлиента = OPI_ZeroMQ.СоздатьСоединениеSub(Адрес);
Если Не OPI_ZeroMQ.ЭтоОбъектКоннектора(ОбъектКлиента) Тогда
ВызватьИсключение OPI_Инструменты.JSONСтрокой(ОбъектКлиента);
КонецЕсли;
Префикс = "topic.";
Сообщение = Префикс + "ZeroMQ_SUB_" + Формат(ТекущаяДата(), "ДФ=yyyyMMddhhmmss");
Сообщение = СтрШаблон("%1ZeroMQ_SUB_%2", Префикс, Формат(ТекущаяДата(), "ДФ=yyyyMMddhhmmss"));
Данные = ПолучитьДвоичныеДанныеИзСтроки(Сообщение);
Если Не OPI_ZeroMQ.ЭтоОбъектКоннектора(Паблишер) Тогда
ВызватьИсключение OPI_Инструменты.JSONСтрокой(Паблишер);
КонецЕсли;
Если Не OPI_ZeroMQ.ЭтоОбъектКоннектора(Подписчик) Тогда
ВызватьИсключение OPI_Инструменты.JSONСтрокой(Подписчик);
КонецЕсли;
Результат = OPI_ZeroMQ.Подписаться(Подписчик, Префикс);
Результат = OPI_ZeroMQ.Подписаться(ОбъектКлиента, Префикс);
OPI_Инструменты.Пауза(1); // SKIP
Отправка = OPI_ZeroMQ.ОтправитьДанные(Паблишер, Данные, 3000); // SKIP
Прием = OPI_ZeroMQ.ПолучитьДанные(Подписчик, 3000); // SKIP
ЧужоеСообщение = "other.ZMQ_SUB_" + Формат(ТекущаяДата(), "ДФ=yyyyMMddhhmmss"); // SKIP
Отправка = OPI_ZeroMQ.ОтправитьДанные(ОбъектСервера, Данные, 3000); // SKIP
Прием = OPI_ZeroMQ.ПолучитьДанные(ОбъектКлиента, 3000); // SKIP
ЧужоеСообщение = СтрШаблон("other.ZMQ_SUB_%1", Формат(ТекущаяДата(), "ДФ=yyyyMMddhhmmss")); // SKIP
ЧужиеДанные = ПолучитьДвоичныеДанныеИзСтроки(ЧужоеСообщение); // SKIP
Отправка2 = OPI_ZeroMQ.ОтправитьДанные(Паблишер, ЧужиеДанные, 3000); // SKIP
НеПришло = OPI_ZeroMQ.ПолучитьДанные(Подписчик, 300); // SKIP
Отправка2 = OPI_ZeroMQ.ОтправитьДанные(ОбъектСервера, ЧужиеДанные, 3000); // SKIP
НеПришло = OPI_ZeroMQ.ПолучитьДанные(ОбъектКлиента, 300); // SKIP
// END
OPI_ПолучениеДанныхТестов.Обработать(Результат, "ZeroMQ", "Подписаться");
OPI_ПолучениеДанныхТестов.Обработать(Прием, "ZeroMQ", "Подписаться", "Проверка", Сообщение);
OPI_ПолучениеДанныхТестов.Обработать(НеПришло, "ZeroMQ", "Подписаться", "ЧужаяТема");
OPI_ZeroMQ.ЗакрытьСоединение(Подписчик);
OPI_ZeroMQ.ЗакрытьСоединение(Паблишер);
OPI_ZeroMQ.ЗакрытьСоединение(ОбъектКлиента);
OPI_ZeroMQ.ЗакрытьСоединение(ОбъектСервера);
КонецПроцедуры
Процедура ZeroMQ_ЗакрытьСоединение(ПараметрыФункции)
Порт = ПараметрыФункции["ZeroMQ_Port"] + 11;
Результат = OPI_ZeroMQ.ОткрытьПортRep(Порт);
// Сервер
Порт = 1234;
ОбъектСервера = OPI_ZeroMQ.ОткрытьПортRep(Порт);
OPI_ПолучениеДанныхТестов.Обработать(Результат, "ZeroMQ", "ЗакрытьСоединение", "Открытие"); // SKIP
Если Не OPI_ZeroMQ.ЭтоОбъектКоннектора(ОбъектСервера) Тогда
ВызватьИсключение OPI_Инструменты.JSONСтрокой(ОбъектСервера);
КонецЕсли;
Если OPI_ZeroMQ.ЭтоОбъектКоннектора(Результат) Тогда
Результат = OPI_ZeroMQ.ЗакрытьСоединение(Результат);
OPI_ПолучениеДанныхТестов.Обработать(ОбъектСервера, "ZeroMQ", "ЗакрытьСоединение", "Открытие"); // SKIP
Если OPI_ZeroMQ.ЭтоОбъектКоннектора(ОбъектСервера) Тогда
Результат = OPI_ZeroMQ.ЗакрытьСоединение(ОбъектСервера);
КонецЕсли;
// END
@@ -501,9 +575,15 @@
Процедура ZeroMQ_ЭтоОбъектКоннектора(ПараметрыФункции)
Порт = ПараметрыФункции["ZeroMQ_Port"] + 12;
Коннектор = OPI_ZeroMQ.ОткрытьПортRep(Порт);
Результат = OPI_ZeroMQ.ЭтоОбъектКоннектора(Коннектор);
// Сервер
Порт = 1234;
ОбъектСервера = OPI_ZeroMQ.ОткрытьПортRep(Порт);
Если Не OPI_ZeroMQ.ЭтоОбъектКоннектора(ОбъектСервера) Тогда
ВызватьИсключение OPI_Инструменты.JSONСтрокой(ОбъектСервера);
КонецЕсли;
Результат = OPI_ZeroMQ.ЭтоОбъектКоннектора(ОбъектСервера);
// END
@@ -512,8 +592,8 @@
Результат = OPI_ZeroMQ.ЭтоОбъектКоннектора("not-a-client");
OPI_ПолучениеДанныхТестов.Обработать(Результат, "ZeroMQ", "ЭтоОбъектКоннектора", "Ложь");
Если OPI_ZeroMQ.ЭтоОбъектКоннектора(Коннектор) Тогда
OPI_ZeroMQ.ЗакрытьСоединение(Коннектор);
Если OPI_ZeroMQ.ЭтоОбъектКоннектора(ОбъектСервера) Тогда
OPI_ZeroMQ.ЗакрытьСоединение(ОбъектСервера);
КонецЕсли;
КонецПроцедуры