Полное тестирование¶
-
ВыполнитьПолноеТестированиеКомпоненты() Процедура выполняет полное тестирование всех функций компонента. Можно использовать как сквозной пример.
Листинг:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | Процедура ВыполнитьПолноеТестированиеКомпоненты()
ПутьКомпоненты = "D:\websocket.dll";
// ШАГ1. ТЕСТ КЛИЕНТА ЧЕРЕЗ ВНЕШНИЙ СЕРВИС
АдресСервера = "wss://echo.websocket.org";
Если НЕ ПодключитьВнешнююКомпоненту(ПутьКомпоненты, "websocket", ТипВнешнейКомпоненты.Native) Тогда
СисИнфо = Новый СистемнаяИнформация;
ОписаниеОшибки = НСтр("ru='Ошибка подключения компоненты ('") + СисИнфо.ТипПлатформы + "):
|" + ОписаниеОшибки();
ВызватьИсключение ОписаниеОшибки;
КонецЕсли;
Клиент = Новый("AddIn.WebSocket.Client");
Попытка
Клиент.Подключиться(Объект.АдресСервера);
Исключение
Описание = ОписаниеОшибки();
ТекстОшибки = Клиент.ОписаниеОшибки();
ТекстОписания = Описание + ": " + ТекстОшибки;
ВызватьИсключение ТекстОписания;
КонецПопытки;
Попытка
Клиент.Подключиться(Объект.АдресСервера);
Исключение
ТекстОшибки = Клиент.ОписаниеОшибки();
Если найти(ТекстОшибки, "Подключение уже выполнено") = 0 Тогда
ВызватьИсключение ТекстОписания;
КонецЕсли;
КонецПопытки;
ДанныеОтправки = "ase1ЙЦУ";
Клиент.Отправить(ДанныеОтправки);
Данные = "";
Принято = Клиент.Принять(0, Данные);
Если НЕ Данные = ДанныеОтправки Тогда
ВызватьИсключение "Приняты не те данные которые отправлены";
КонецЕсли;
Данные = "";
Принято = Клиент.Принять(3000, Данные);
Если Принято ИЛИ ЗначениеЗаполнено(Данные) Тогда
ВызватьИсключение "Принято то что не дожно принматься";
КонецЕсли;
Клиент.Отключиться();
Клиент.Отключиться();
Клиент = Неопределено;
Сообщить("Тестирование Шаг 1. Успешно пройдено");
// ШАГ 2. ТЕСТ СОБСТВЕННОГО СЕРВЕРА И СОБСТВЕННЫХ КЛИЕНТОВ
АдресПодключения = "127.0.0.1";
ПортПодключения = 9098;
Сервер = Новый(Объект.ПрефиксКомпоненты + "Server");
Попытка
Сервер.Запустить(АдресПодключения, ПортПодключения);
Исключение
Описание = ОписаниеОшибки();
ТекстОшибки = Сервер.ОписаниеОшибки();
ТекстОписания = Описание + ": " + ТекстОшибки;
ВызватьИсключение ТекстОписания;
КонецПопытки;
Клиент1 = Новый(Объект.ПрефиксКомпоненты + "Client");
Клиент2 = Новый(Объект.ПрефиксКомпоненты + "Client");
СтрокаПодключения = СтрШаблон("ws://%1:%2", АдресПодключения, Формат(ПортПодключения, "ЧГ=0"));
Попытка
Клиент1.Подключиться(СтрокаПодключения+"/first");
Клиент2.Подключиться(СтрокаПодключения+"/testadr");
Исключение
Сервер.Остановить();
Описание = ОписаниеОшибки();
ТекстОшибки = Клиент1.ОписаниеОшибки();
ТекстОшибки = ТекстОшибки+ Клиент2.ОписаниеОшибки();
ТекстОписания = Описание + ": " + ТекстОшибки;
ВызватьИсключение ТекстОписания;
КонецПопытки;
ТекстОтправки = "ase1ЙЦУ";
Клиент1.Отправить("ase1ЙЦУ");
Данные = "";
ИДКлиента = 0;
Принято = Сервер.Принять(0, ИДКлиента, Данные);
Результат = Сервер.Отключить(ИдКлиента);
Клиент1 = Неопределено;
Клиент2 = Неопределено;
Сервер = Неопределено;
КонецПроцедуры
|