diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d620021..01be0045 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Change Log +## 3.19.0 (Pre-Release) + +- исправлена ошибка замены ожидаемого события фактически в интеграционных тестах (special thanks @Bobyboba18, @GeorgeFloyd_Official). + ## 3.18.0 (Release - July 31, 2024) - добавлена базовая поддержка правил агрегации: создание из шаблона, тестирование, заполнение метаинформации, валидация через тесты, описание и локализация (special thanks @Protenil, @hiddenbymeeee); diff --git a/client/package.json b/client/package.json index 4af41c5b..2fcb7a26 100644 --- a/client/package.json +++ b/client/package.json @@ -3,7 +3,7 @@ "description": "Language client", "author": "Dmitry Fedosov (@DmitryOffsec)", "license": "MIT", - "version": "3.18.0", + "version": "3.19.0", "repository": { "type": "git", "url": "https://github.com/Security-Experts-Community/vscode-xp" diff --git a/client/src/models/tests/correlationUnitTestsRunner.ts b/client/src/models/tests/correlationUnitTestsRunner.ts index bb549320..97c6cc65 100644 --- a/client/src/models/tests/correlationUnitTestsRunner.ts +++ b/client/src/models/tests/correlationUnitTestsRunner.ts @@ -14,6 +14,7 @@ import { UnitTestOutputParser } from './unitTestOutputParser'; import { SiemjManager } from '../siemj/siemjManager'; import { Log } from '../../extension'; import { XpException } from '../xpException'; +import { RegExpHelper } from '../../helpers/regExpHelper'; export class CorrelationUnitTestsRunner implements UnitTestRunner { @@ -114,9 +115,16 @@ export class CorrelationUnitTestsRunner implements UnitTestRunner { // Обновление статуса теста. test.setStatus(TestStatus.Success); + // TODO: кажется, лишний метод. Разобраться. + // const expectedResult = this._outputParser.parseSuccessOutput(output.output); + // Вывод теста содержит событие, подходящее под expect секцию, поэтому извлекаем его и очищаем, как код теста. - const expectedResult = this._outputParser.parseSuccessOutput(output.output); - const clearedResult = TestHelper.cleanModularTestResult(expectedResult); + const jsons = RegExpHelper.parseJsonsFromMultilineString(output.output); + if(jsons.length != 1) { + throw new XpException("The actual event could not be parsed"); + } + + const clearedResult = TestHelper.cleanModularTestResult(jsons[0]); // Так как тест успешный, то можно сохранить отформатированный результат. test.setOutput(clearedResult); diff --git a/package.json b/package.json index 5b6f29f2..9bf376d9 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "author": "Dmitry Fedosov (@DmitryOffsec)", "icon": "resources/xp.png", "license": "MIT", - "version": "3.18.0", + "version": "3.19.0", "repository": { "type": "git", "url": "https://github.com/Security-Experts-Community/vscode-xp" diff --git a/server/package.json b/server/package.json index aa7db203..c9209a03 100644 --- a/server/package.json +++ b/server/package.json @@ -1,7 +1,7 @@ { "name": "server", "description": "Language server", - "version": "3.18.0", + "version": "3.19.0", "author": "Dmitry Fedosov (@DmitryOffsec)", "license": "MIT", "engines": {