diff options
Diffstat (limited to 'pw_web/log-viewer/src/utils/log-filter/test-data.ts')
-rw-r--r-- | pw_web/log-viewer/src/utils/log-filter/test-data.ts | 361 |
1 files changed, 361 insertions, 0 deletions
diff --git a/pw_web/log-viewer/src/utils/log-filter/test-data.ts b/pw_web/log-viewer/src/utils/log-filter/test-data.ts new file mode 100644 index 000000000..e7fd7c138 --- /dev/null +++ b/pw_web/log-viewer/src/utils/log-filter/test-data.ts @@ -0,0 +1,361 @@ +// Copyright 2023 The Pigweed Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may not +// use this file except in compliance with the License. You may obtain a copy of +// the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations under +// the License. + +import { ConditionType } from './log-filter.models'; + +const testData = [ + { + query: 'error', + expected: [ + { + type: ConditionType.StringSearch, + searchString: 'error', + }, + ], + }, + { + query: 'source:database', + expected: [ + { + type: ConditionType.ColumnSearch, + column: 'source', + value: 'database', + }, + ], + }, + { + query: '"Request processed successfully!"', + expected: [ + { + type: ConditionType.ExactPhraseSearch, + exactPhrase: 'Request processed successfully!', + }, + ], + }, + { + query: 'source:', + expected: [ + { + type: ConditionType.ColumnSearch, + column: 'source', + }, + ], + }, + { + query: 'source:network message:error', + expected: [ + { + type: ConditionType.AndExpression, + expressions: [ + { + type: ConditionType.ColumnSearch, + column: 'source', + value: 'network', + }, + { + type: ConditionType.ColumnSearch, + column: 'message', + value: 'error', + }, + ], + }, + ], + }, + { + query: 'source:database | source:network', + expected: [ + { + type: ConditionType.OrExpression, + expressions: [ + { + type: ConditionType.ColumnSearch, + column: 'source', + value: 'database', + }, + { + type: ConditionType.ColumnSearch, + column: 'source', + value: 'network', + }, + ], + }, + ], + }, + { + query: '!source:database', + expected: [ + { + type: ConditionType.NotExpression, + expression: { + type: ConditionType.ColumnSearch, + column: 'source', + value: 'database', + }, + }, + ], + }, + { + query: 'message:error (source:database | source:network)', + expected: [ + { + type: ConditionType.AndExpression, + expressions: [ + { + type: ConditionType.ColumnSearch, + column: 'message', + value: 'error', + }, + { + type: ConditionType.OrExpression, + expressions: [ + { + type: ConditionType.ColumnSearch, + column: 'source', + value: 'database', + }, + { + type: ConditionType.ColumnSearch, + column: 'source', + value: 'network', + }, + ], + }, + ], + }, + ], + }, + { + query: '(source:database | source:network) message:error', + expected: [ + { + type: ConditionType.AndExpression, + expressions: [ + { + type: ConditionType.OrExpression, + expressions: [ + { + type: ConditionType.ColumnSearch, + column: 'source', + value: 'database', + }, + { + type: ConditionType.ColumnSearch, + column: 'source', + value: 'network', + }, + ], + }, + { + type: ConditionType.ColumnSearch, + column: 'message', + value: 'error', + }, + ], + }, + ], + }, + { + query: '(source:application | source:database) !message:request', + expected: [ + { + type: ConditionType.AndExpression, + expressions: [ + { + type: ConditionType.OrExpression, + expressions: [ + { + type: ConditionType.ColumnSearch, + column: 'source', + value: 'application', + }, + { + type: ConditionType.ColumnSearch, + column: 'source', + value: 'database', + }, + ], + }, + { + type: ConditionType.NotExpression, + expression: { + type: ConditionType.ColumnSearch, + column: 'message', + value: 'request', + }, + }, + ], + }, + ], + }, + { + query: '', + expected: [ + { + type: ConditionType.StringSearch, + searchString: '', + }, + ], + }, + { + // Note: AND takes priority over OR in evaluation. + query: 'source:database message:error | source:network message:error', + expected: [ + { + type: ConditionType.OrExpression, + expressions: [ + { + type: ConditionType.AndExpression, + expressions: [ + { + type: ConditionType.ColumnSearch, + column: 'source', + value: 'database', + }, + { + type: ConditionType.ColumnSearch, + column: 'message', + value: 'error', + }, + ], + }, + { + type: ConditionType.AndExpression, + expressions: [ + { + type: ConditionType.ColumnSearch, + column: 'source', + value: 'network', + }, + { + type: ConditionType.ColumnSearch, + column: 'message', + value: 'error', + }, + ], + }, + ], + }, + ], + }, + { + query: 'source:database | error', + expected: [ + { + type: ConditionType.OrExpression, + expressions: [ + { + type: ConditionType.ColumnSearch, + column: 'source', + value: 'database', + }, + { + type: ConditionType.StringSearch, + searchString: 'error', + }, + ], + }, + ], + }, + { + query: 'source:application request', + expected: [ + { + type: ConditionType.AndExpression, + expressions: [ + { + type: ConditionType.ColumnSearch, + column: 'source', + value: 'application', + }, + { + type: ConditionType.StringSearch, + searchString: 'request', + }, + ], + }, + ], + }, + + { + query: 'source: application request', + expected: [ + { + type: ConditionType.AndExpression, + expressions: [ + { + type: ConditionType.ColumnSearch, + column: 'source', + }, + { + type: ConditionType.StringSearch, + searchString: 'application', + }, + { + type: ConditionType.StringSearch, + searchString: 'request', + }, + ], + }, + ], + }, + { + query: 'source:network | (source:database lorem)', + expected: [ + { + type: ConditionType.OrExpression, + expressions: [ + { + type: ConditionType.ColumnSearch, + column: 'source', + value: 'network', + }, + { + type: ConditionType.AndExpression, + expressions: [ + { + type: ConditionType.ColumnSearch, + column: 'source', + value: 'database', + }, + { + type: ConditionType.StringSearch, + searchString: 'lorem', + }, + ], + }, + ], + }, + ], + }, + { + query: '"unexpected error" "the operation"', + expected: [ + { + type: ConditionType.AndExpression, + expressions: [ + { + type: ConditionType.ExactPhraseSearch, + exactPhrase: 'unexpected error', + }, + { + type: ConditionType.ExactPhraseSearch, + exactPhrase: 'the operation', + }, + ], + }, + ], + }, +]; + +export default testData; |