ui: polish websocket wizard test runs
This commit is contained in:
@@ -840,6 +840,19 @@ var TRANSLATIONS = {
|
||||
'wizard.test.window_truncated_note': 'Results were truncated.',
|
||||
'wizard.test.window_more_note': 'More data is available if you continue from the streaming views.',
|
||||
'wizard.test.window_incomplete_note': 'The upstream stream ended before the configured window was fully collected.',
|
||||
'wizard.test.websocket_window_completed': 'WebSocket window test completed',
|
||||
'wizard.test.websocket_window_completed_body': 'Collected {items} WebSocket event(s) inside the bounded test window.',
|
||||
'wizard.test.websocket_window_truncated_note': 'The bounded window stopped after reaching the configured item or byte limit.',
|
||||
'wizard.test.websocket_window_more_note': 'The socket produced more events than this test window retained. Increase limits or switch to session mode if you need a longer stream.',
|
||||
'wizard.test.websocket_window_incomplete_note': 'The upstream socket closed before the bounded window finished collecting all configured events.',
|
||||
'wizard.test.websocket_session_started': 'WebSocket session test started',
|
||||
'wizard.test.websocket_session_started_body': 'WebSocket session {session_id} was created. Continue from Stream sessions after a short delay.',
|
||||
'wizard.test.websocket_async_job_started': 'WebSocket async job test started',
|
||||
'wizard.test.websocket_async_job_started_body': 'WebSocket async job {job_id} was created. Continue from the async jobs view for status and result.',
|
||||
'wizard.test.websocket_failed': 'WebSocket test returned errors',
|
||||
'wizard.test.websocket_failed_body': 'The socket test failed before Crank could collect a bounded result window.',
|
||||
'wizard.test.websocket_failed_reconnect_body': 'The upstream socket closed before enough events were collected, and the configured reconnect policy was exhausted.',
|
||||
'wizard.test.websocket_failed_closed_body': 'The upstream socket closed before the bounded test window completed.',
|
||||
'wizard.test.session_started': 'Session test started',
|
||||
'wizard.test.session_started_body': 'Session {session_id} was created. Check Stream sessions in a few seconds.',
|
||||
'wizard.test.async_job_started': 'Async job test started',
|
||||
@@ -1853,6 +1866,19 @@ var TRANSLATIONS = {
|
||||
'wizard.test.window_truncated_note': 'Результат был усечен.',
|
||||
'wizard.test.window_more_note': 'Доступно продолжение, если перейти к streaming-представлениям.',
|
||||
'wizard.test.window_incomplete_note': 'Upstream-поток завершился раньше, чем удалось собрать всё окно.',
|
||||
'wizard.test.websocket_window_completed': 'WebSocket оконный тест завершен',
|
||||
'wizard.test.websocket_window_completed_body': 'В пределах ограниченного тестового окна собрано {items} WebSocket event(s).',
|
||||
'wizard.test.websocket_window_truncated_note': 'Ограниченное окно остановилось после достижения лимита по элементам или байтам.',
|
||||
'wizard.test.websocket_window_more_note': 'Сокет выдал больше событий, чем сохранило это тестовое окно. Увеличьте лимиты или переключитесь в session mode, если нужен более длинный поток.',
|
||||
'wizard.test.websocket_window_incomplete_note': 'Upstream WebSocket закрылся до того, как bounded окно успело собрать все настроенные события.',
|
||||
'wizard.test.websocket_session_started': 'WebSocket session-тест запущен',
|
||||
'wizard.test.websocket_session_started_body': 'WebSocket session {session_id} создана. Продолжайте в разделе Stream sessions через короткую паузу.',
|
||||
'wizard.test.websocket_async_job_started': 'WebSocket async job тест запущен',
|
||||
'wizard.test.websocket_async_job_started_body': 'Создан WebSocket async job {job_id}. Дальше отслеживайте статус и результат в представлении async jobs.',
|
||||
'wizard.test.websocket_failed': 'WebSocket тест завершился с ошибками',
|
||||
'wizard.test.websocket_failed_body': 'Тест сокета завершился до того, как Crank успел собрать bounded result window.',
|
||||
'wizard.test.websocket_failed_reconnect_body': 'Upstream WebSocket закрылся раньше, чем удалось собрать достаточно событий, и настроенная reconnect policy была исчерпана.',
|
||||
'wizard.test.websocket_failed_closed_body': 'Upstream WebSocket закрылся до завершения bounded test window.',
|
||||
'wizard.test.session_started': 'Session-тест запущен',
|
||||
'wizard.test.session_started_body': 'Сессия {session_id} создана. Проверьте статус в разделе Stream sessions через несколько секунд.',
|
||||
'wizard.test.async_job_started': 'Async job тест запущен',
|
||||
|
||||
@@ -390,6 +390,68 @@ function setTextareaValue(id, value) {
|
||||
}
|
||||
|
||||
function describeWizardTestResult(result) {
|
||||
if (wizardProtocol === 'websocket') {
|
||||
if (!result.ok && result.errors && result.errors.length) {
|
||||
var websocketError = result.errors[0] || {};
|
||||
var websocketMessage = websocketError.message || '';
|
||||
var websocketBody = tKey('wizard.test.websocket_failed_body');
|
||||
if (/reconnect policy exhausted/i.test(websocketMessage)) {
|
||||
websocketBody = tKey('wizard.test.websocket_failed_reconnect_body');
|
||||
} else if (/close frame before collection completed|closed before collection completed/i.test(websocketMessage)) {
|
||||
websocketBody = tKey('wizard.test.websocket_failed_closed_body');
|
||||
}
|
||||
return {
|
||||
title: tKey('wizard.test.websocket_failed'),
|
||||
body: websocketBody,
|
||||
isError: true,
|
||||
};
|
||||
}
|
||||
|
||||
if (result.stream_session && result.stream_session.session_id) {
|
||||
return {
|
||||
title: tKey('wizard.test.websocket_session_started'),
|
||||
body: tfKey('wizard.test.websocket_session_started_body', {
|
||||
session_id: result.stream_session.session_id,
|
||||
poll_after_ms: result.stream_session.poll_after_ms,
|
||||
}),
|
||||
isError: false,
|
||||
};
|
||||
}
|
||||
|
||||
if (result.async_job && result.async_job.job_id) {
|
||||
return {
|
||||
title: tKey('wizard.test.websocket_async_job_started'),
|
||||
body: tfKey('wizard.test.websocket_async_job_started_body', {
|
||||
job_id: result.async_job.job_id,
|
||||
}),
|
||||
isError: false,
|
||||
};
|
||||
}
|
||||
|
||||
if (result.window) {
|
||||
var itemCount = Array.isArray(result.response_preview && result.response_preview.items)
|
||||
? result.response_preview.items.length
|
||||
: 0;
|
||||
var websocketBodyParts = [
|
||||
tfKey('wizard.test.websocket_window_completed_body', { items: itemCount })
|
||||
];
|
||||
if (result.window.truncated) {
|
||||
websocketBodyParts.push(tKey('wizard.test.websocket_window_truncated_note'));
|
||||
}
|
||||
if (result.window.has_more) {
|
||||
websocketBodyParts.push(tKey('wizard.test.websocket_window_more_note'));
|
||||
}
|
||||
if (!result.window.window_complete) {
|
||||
websocketBodyParts.push(tKey('wizard.test.websocket_window_incomplete_note'));
|
||||
}
|
||||
return {
|
||||
title: result.ok ? tKey('wizard.test.websocket_window_completed') : tKey('wizard.test.websocket_failed'),
|
||||
body: websocketBodyParts.join(' '),
|
||||
isError: !result.ok,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
if (result.stream_session && result.stream_session.session_id) {
|
||||
return {
|
||||
title: tKey('wizard.test.session_started'),
|
||||
|
||||
Reference in New Issue
Block a user