From 7dfad8f3a23d081e642a8ba8f207397fabf0ae45 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Wed, 5 Mar 2025 23:52:48 +0100 Subject: [PATCH] catalog-react: never match null in entity predicates Signed-off-by: Patrik Oldsberg --- .../src/alpha/predicates/evaluateEntityPredicate.test.ts | 2 ++ .../src/alpha/predicates/evaluateEntityPredicate.ts | 3 +++ 2 files changed, 5 insertions(+) diff --git a/plugins/catalog-react/src/alpha/predicates/evaluateEntityPredicate.test.ts b/plugins/catalog-react/src/alpha/predicates/evaluateEntityPredicate.test.ts index 6ce23b1c74..261beae5ba 100644 --- a/plugins/catalog-react/src/alpha/predicates/evaluateEntityPredicate.test.ts +++ b/plugins/catalog-react/src/alpha/predicates/evaluateEntityPredicate.test.ts @@ -108,6 +108,7 @@ describe('evaluateEntityPredicate', () => { type: 'grpc', owner: 'g', definition: 'mock', + nothing: null, }, relations: [ { @@ -215,6 +216,7 @@ describe('evaluateEntityPredicate', () => { ['s,w,a', { 'spec.owner': { $exists: true } }], ['g', { 'spec.owner': { $exists: false } }], ['s', { 'spec.type': 'service' }], + ['', { 'spec.nothing': null }], ['w,g,a', { $not: { 'spec.type': 'service' } }], ['', { 'spec.type': null }], [ diff --git a/plugins/catalog-react/src/alpha/predicates/evaluateEntityPredicate.ts b/plugins/catalog-react/src/alpha/predicates/evaluateEntityPredicate.ts index 84fbfa3499..514f01f0ad 100644 --- a/plugins/catalog-react/src/alpha/predicates/evaluateEntityPredicate.ts +++ b/plugins/catalog-react/src/alpha/predicates/evaluateEntityPredicate.ts @@ -108,6 +108,9 @@ function valuesAreEqual( a: JsonValue | undefined, b: JsonValue | undefined, ): boolean { + if (a === null || b === null) { + return false; + } if (a === b) { return true; }