--- policy: /ce/ca/oracle/key-vault/cmk-not-rotated-annually logic: /ce/ca/oracle/key-vault/cmk-not-rotated-annually/prod.logic.yaml executionTime: 2026-09-22T15:07:58.276746418Z generationMs: 43 executionMs: 887 rows: - id: test1 match: true status: expected: INAPPLICABLE actual: INAPPLICABLE conditionIndex: expected: 199 actual: 199 conditionText: expected: extract('CA10O1__lifecycleState__c') != 'ENABLED' actual: extract('CA10O1__lifecycleState__c') != 'ENABLED' runtimeError: {} - id: test2 match: true status: expected: INCOMPLIANT actual: INCOMPLIANT conditionIndex: expected: 499 actual: 499 conditionText: expected: extract('CA10O1__timeCreated__c').beyondLastDays(365) actual: extract('CA10O1__timeCreated__c').beyondLastDays(365) runtimeError: {} - id: test3 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 599 actual: 599 conditionText: expected: extract('CA10O1__timeCreated__c').withinLastDays(365) actual: extract('CA10O1__timeCreated__c').withinLastDays(365) runtimeError: {} - id: test4 match: true status: expected: UNDETERMINED actual: UNDETERMINED conditionIndex: expected: 101 actual: 101 conditionText: expected: CA10O1__lifecycleState__c.isEmpty() actual: CA10O1__lifecycleState__c.isEmpty() runtimeError: {} - id: test5 match: true status: expected: UNDETERMINED actual: UNDETERMINED conditionIndex: expected: 401 actual: 401 conditionText: expected: CA10O1__timeCreated__c.isEmpty() actual: CA10O1__timeCreated__c.isEmpty() runtimeError: {} - id: test6 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 299 actual: 299 conditionText: expected: extract('CA10O1__autoRotationStatus__c') == 'Enabled' actual: extract('CA10O1__autoRotationStatus__c') == 'Enabled' runtimeError: {} - id: test7 match: true status: expected: UNDETERMINED actual: UNDETERMINED conditionIndex: expected: 399 actual: 399 conditionText: expected: extract('CA10O1__autoRotationStatus__c').isEmpty() && extract('CA10O1__timeCreated__c').beyondLastDays(365) actual: extract('CA10O1__autoRotationStatus__c').isEmpty() && extract('CA10O1__timeCreated__c').beyondLastDays(365) runtimeError: {} usedFiles: - path: /ce/ca/oracle/key-vault/cmk-not-rotated-annually/policy.yaml md5Hash: 64D772524BC93D8F0175A66F99E85E0C content: | --- names: full: "Oracle Key Vault Customer Managed Key is not rotated annually" contextual: "Customer Managed Key is not rotated annually" description: > Oracle Key Vault customer managed keys should be rotated at least annually or have automatic rotation enabled. Periodic key rotation limits the amount of data protected by one key version and reduces the impact of a potential key compromise. type: "COMPLIANCE_POLICY" categories: - "SECURITY" frameworkMappings: - "/frameworks/cis-oracle-v3.1.0/04/16" - "/frameworks/cloudaware/secret-and-certificate-governance/expiration-management" similarPolicies: internal: - "dec-x-e467c0fb" - path: /ce/ca/oracle/key-vault/cmk-not-rotated-annually/prod.logic.yaml md5Hash: 424FAD81E26795EFC7C020B9C6F29000 content: | --- inputType: "CA10O1__CaOracleKeyVaultKey__c" testData: - file: "test-data.json" importExtracts: - file: "/types/CA10O1__CaOracleKeyVaultKey__c/object.extracts.yaml" conditions: - status: "INAPPLICABLE" currentStateMessage: "This Oracle Key Vault key is not enabled." check: NOT_EQUAL: left: EXTRACT: "CA10O1__lifecycleState__c" right: TEXT: "ENABLED" - status: "COMPLIANT" currentStateMessage: "Automatic rotation is enabled for this Oracle Key Vault key." check: IS_EQUAL: left: EXTRACT: "CA10O1__autoRotationStatus__c" right: TEXT: "Enabled" - status: "UNDETERMINED" currentStateMessage: "Unable to determine the automatic rotation status for this stale Oracle Key Vault key." check: AND: args: - IS_EMPTY: arg: EXTRACT: "CA10O1__autoRotationStatus__c" - IS_BEYOND_LAST_DAYS: arg: EXTRACT: "CA10O1__timeCreated__c" offsetDays: 365 - status: "INCOMPLIANT" currentStateMessage: "This Oracle Key Vault key is older than 365 days and automatic rotation is not enabled." remediationMessage: "Rotate this Oracle Key Vault key or enable automatic key rotation." check: IS_BEYOND_LAST_DAYS: arg: EXTRACT: "CA10O1__timeCreated__c" offsetDays: 365 - status: "COMPLIANT" currentStateMessage: "This Oracle Key Vault key is enabled and was created within the last 365 days." check: IS_WITHIN_LAST_DAYS: arg: EXTRACT: "CA10O1__timeCreated__c" offsetDays: 365 otherwise: status: "UNDETERMINED" currentStateMessage: "Unable to determine whether this Oracle Key Vault key is rotated annually." - path: /ce/ca/oracle/key-vault/cmk-not-rotated-annually/test-data.json md5Hash: 81AE9677C853994134D2453B791C83A5 content: | [ { "expectedResult": { "status": "INAPPLICABLE", "conditionIndex": "199", "conditionText": "extract('CA10O1__lifecycleState__c') != 'ENABLED'", "runtimeError": null }, "context": { "snapshotTime": "2026-04-12T00:00:00Z" }, "Id": "test1", "CA10O1__disappearanceTime__c": null, "CA10O1__name__c": "disabled-key", "CA10O1__lifecycleState__c": "DISABLED", "CA10O1__autoRotationStatus__c": "Disabled", "CA10O1__timeCreated__c": "2024-01-01T00:00:00Z" }, { "expectedResult": { "status": "INCOMPLIANT", "conditionIndex": "499", "conditionText": "extract('CA10O1__timeCreated__c').beyondLastDays(365)", "runtimeError": null }, "context": { "snapshotTime": "2026-04-12T00:00:00Z" }, "Id": "test2", "CA10O1__disappearanceTime__c": null, "CA10O1__name__c": "stale-key", "CA10O1__lifecycleState__c": "ENABLED", "CA10O1__autoRotationStatus__c": "Disabled", "CA10O1__timeCreated__c": "2025-01-01T00:00:00Z" }, { "expectedResult": { "status": "COMPLIANT", "conditionIndex": "599", "conditionText": "extract('CA10O1__timeCreated__c').withinLastDays(365)", "runtimeError": null }, "context": { "snapshotTime": "2026-04-12T00:00:00Z" }, "Id": "test3", "CA10O1__disappearanceTime__c": null, "CA10O1__name__c": "fresh-key", "CA10O1__lifecycleState__c": "ENABLED", "CA10O1__autoRotationStatus__c": "Disabled", "CA10O1__timeCreated__c": "2026-01-01T00:00:00Z" }, { "expectedResult": { "status": "UNDETERMINED", "conditionIndex": "101", "conditionText": "CA10O1__lifecycleState__c.isEmpty()", "runtimeError": null }, "context": { "snapshotTime": "2026-04-12T00:00:00Z" }, "Id": "test4", "CA10O1__disappearanceTime__c": null, "CA10O1__name__c": "unknown-lifecycle-key", "CA10O1__lifecycleState__c": null, "CA10O1__autoRotationStatus__c": "Disabled", "CA10O1__timeCreated__c": "2026-01-01T00:00:00Z" }, { "expectedResult": { "status": "UNDETERMINED", "conditionIndex": "401", "conditionText": "CA10O1__timeCreated__c.isEmpty()", "runtimeError": null }, "context": { "snapshotTime": "2026-04-12T00:00:00Z" }, "Id": "test5", "CA10O1__disappearanceTime__c": null, "CA10O1__name__c": "unknown-created-key", "CA10O1__lifecycleState__c": "ENABLED", "CA10O1__autoRotationStatus__c": "Disabled", "CA10O1__timeCreated__c": null }, { "expectedResult": { "status": "COMPLIANT", "conditionIndex": "299", "conditionText": "extract('CA10O1__autoRotationStatus__c') == 'Enabled'", "runtimeError": null }, "context": { "snapshotTime": "2026-04-12T00:00:00Z" }, "Id": "test6", "CA10O1__disappearanceTime__c": null, "CA10O1__name__c": "auto-rotated-key", "CA10O1__lifecycleState__c": "ENABLED", "CA10O1__autoRotationStatus__c": "Enabled", "CA10O1__timeCreated__c": "2024-01-01T00:00:00Z" }, { "expectedResult": { "status": "UNDETERMINED", "conditionIndex": "399", "conditionText": "extract('CA10O1__autoRotationStatus__c').isEmpty() && extract('CA10O1__timeCreated__c').beyondLastDays(365)", "runtimeError": null }, "context": { "snapshotTime": "2026-04-12T00:00:00Z" }, "Id": "test7", "CA10O1__disappearanceTime__c": null, "CA10O1__name__c": "unknown-auto-rotation-key", "CA10O1__lifecycleState__c": "ENABLED", "CA10O1__autoRotationStatus__c": null, "CA10O1__timeCreated__c": "2024-01-01T00:00:00Z" } ] - path: /types/CA10O1__CaOracleKeyVaultKey__c/object.extracts.yaml md5Hash: 76A17E80E68AAB1D3923971BBD0B747C content: | --- extracts: - name: "CA10O1__name__c" value: FIELD: path: "CA10O1__name__c" - name: "CA10O1__lifecycleState__c" value: FIELD: path: "CA10O1__lifecycleState__c" undeterminedIf: isEmpty: "Unable to determine the lifecycle state for this Oracle Key Vault key." - name: "CA10O1__timeCreated__c" value: FIELD: path: "CA10O1__timeCreated__c" undeterminedIf: isEmpty: "Unable to determine when this Oracle Key Vault key was created." - name: "CA10O1__autoRotationStatus__c" value: FIELD: path: "CA10O1__autoRotationStatus__c" script: |- CREATE TEMP FUNCTION mock_ExpectedResult() RETURNS ARRAY >> DETERMINISTIC LANGUAGE js AS r""" return [ { "Id" : "test1", "expectedResult" : { "status" : "INAPPLICABLE", "conditionIndex" : "199", "conditionText" : "extract('CA10O1__lifecycleState__c') != 'ENABLED'", "runtimeError" : null } }, { "Id" : "test2", "expectedResult" : { "status" : "INCOMPLIANT", "conditionIndex" : "499", "conditionText" : "extract('CA10O1__timeCreated__c').beyondLastDays(365)", "runtimeError" : null } }, { "Id" : "test3", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : "599", "conditionText" : "extract('CA10O1__timeCreated__c').withinLastDays(365)", "runtimeError" : null } }, { "Id" : "test4", "expectedResult" : { "status" : "UNDETERMINED", "conditionIndex" : "101", "conditionText" : "CA10O1__lifecycleState__c.isEmpty()", "runtimeError" : null } }, { "Id" : "test5", "expectedResult" : { "status" : "UNDETERMINED", "conditionIndex" : "401", "conditionText" : "CA10O1__timeCreated__c.isEmpty()", "runtimeError" : null } }, { "Id" : "test6", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : "299", "conditionText" : "extract('CA10O1__autoRotationStatus__c') == 'Enabled'", "runtimeError" : null } }, { "Id" : "test7", "expectedResult" : { "status" : "UNDETERMINED", "conditionIndex" : "399", "conditionText" : "extract('CA10O1__autoRotationStatus__c').isEmpty() && extract('CA10O1__timeCreated__c').beyondLastDays(365)", "runtimeError" : null } } ]; """; CREATE TEMP FUNCTION mock_CA10O1__CaOracleKeyVaultKey__c() RETURNS ARRAY >> DETERMINISTIC LANGUAGE js AS r""" return [ { "context" : { "snapshotTime" : new Date("2026-04-12T00:00:00Z") }, "CA10O1__lifecycleState__c" : "DISABLED", "CA10O1__autoRotationStatus__c" : "Disabled", "CA10O1__timeCreated__c" : new Date("2024-01-01T00:00:00Z"), "Id" : "test1" }, { "context" : { "snapshotTime" : new Date("2026-04-12T00:00:00Z") }, "CA10O1__lifecycleState__c" : "ENABLED", "CA10O1__autoRotationStatus__c" : "Disabled", "CA10O1__timeCreated__c" : new Date("2025-01-01T00:00:00Z"), "Id" : "test2" }, { "context" : { "snapshotTime" : new Date("2026-04-12T00:00:00Z") }, "CA10O1__lifecycleState__c" : "ENABLED", "CA10O1__autoRotationStatus__c" : "Disabled", "CA10O1__timeCreated__c" : new Date("2026-01-01T00:00:00Z"), "Id" : "test3" }, { "context" : { "snapshotTime" : new Date("2026-04-12T00:00:00Z") }, "CA10O1__lifecycleState__c" : null, "CA10O1__autoRotationStatus__c" : "Disabled", "CA10O1__timeCreated__c" : new Date("2026-01-01T00:00:00Z"), "Id" : "test4" }, { "context" : { "snapshotTime" : new Date("2026-04-12T00:00:00Z") }, "CA10O1__lifecycleState__c" : "ENABLED", "CA10O1__autoRotationStatus__c" : "Disabled", "Id" : "test5" }, { "context" : { "snapshotTime" : new Date("2026-04-12T00:00:00Z") }, "CA10O1__lifecycleState__c" : "ENABLED", "CA10O1__autoRotationStatus__c" : "Enabled", "CA10O1__timeCreated__c" : new Date("2024-01-01T00:00:00Z"), "Id" : "test6" }, { "context" : { "snapshotTime" : new Date("2026-04-12T00:00:00Z") }, "CA10O1__lifecycleState__c" : "ENABLED", "CA10O1__autoRotationStatus__c" : null, "CA10O1__timeCreated__c" : new Date("2024-01-01T00:00:00Z"), "Id" : "test7" } ]; """; CREATE TEMP FUNCTION process_CA10O1__CaOracleKeyVaultKey__c( obj STRUCT< CA10O1__disappearanceTime__c TIMESTAMP, CA10O1__lifecycleState__c STRING, CA10O1__autoRotationStatus__c STRING, CA10O1__timeCreated__c TIMESTAMP, Id STRING >, snapshotTime TIMESTAMP ) RETURNS STRUCT DETERMINISTIC LANGUAGE js AS r""" var TextLib = new function () { this.normalize = function(arg) { return arg == null ? '' : arg.replace(/\s+/g, ' ').trim().toLowerCase(); }; this.isEmpty = function(arg) { return this.normalize(arg) == ''; }; this.isNotEmpty = function(arg) { return this.normalize(arg) != ''; }; this.equal = function(left, right) { return this.normalize(left) == this.normalize(right); }; this.notEqual = function(left, right) { return this.normalize(left) != this.normalize(right); }; this.startsWith = function(arg, substring) { return this.normalize(arg).startsWith(this.normalize(substring)); }; this.endsWith = function(arg, substring) { return this.normalize(arg).endsWith(this.normalize(substring)); }; this.contains = function(arg, substring) { return this.normalize(arg).includes(this.normalize(substring)); }; this.containsAll = function(arg, substrings) { if (substrings == null || substrings.length === 0) return false; let normalizedArg = this.normalize(arg); return substrings.every(sub => normalizedArg.includes(this.normalize(sub))); }; this.containsAny = function(arg, substrings) { if (substrings == null || substrings.length === 0) return false; let normalizedArg = this.normalize(arg); return substrings.some(sub => normalizedArg.includes(this.normalize(sub))); }; }(); var IsEmptyLib = new function () { this.simpleIsEmpty = function(arg) { return arg == null; }; this.simpleIsNotEmpty = function(arg) { return arg != null; }; }(); var todayMinus365Day = new Date(snapshotTime.toISOString().substr(0,10)+'T00:00:00.000Z').getTime() + (-365 * 86400000); var todayPlus1Day = new Date(snapshotTime.toISOString().substr(0,10)+'T00:00:00.000Z').getTime() + (1 * 86400000); var references1 = []; // condition[0], conditionIndex:[0..99] references1.push('Deleted From Oracle [CA10O1__disappearanceTime__c]: ' + obj.CA10O1__disappearanceTime__c); if (obj.CA10O1__disappearanceTime__c != null) { return {status: 'DISAPPEARED', conditionIndex: 99, conditionText: "isDisappeared(CA10O1__disappearanceTime__c)", currentStateMessage: "Object is deleted in the source", currentStateReferences: references1.join('\n'), remediation: null, runtimeError: null}; } // condition[1], conditionIndex:[100..199] function fieldChecked4() { if (TextLib.isEmpty(obj.CA10O1__lifecycleState__c)) { throw new Error("UNDETERMINED condition:101", {cause: {status: 'UNDETERMINED', conditionIndex: 101, conditionText: "CA10O1__lifecycleState__c.isEmpty()", currentStateMessage: "Unable to determine the lifecycle state for this Oracle Key Vault key.", currentStateReferences: references1.join('\n'), remediation: null, runtimeError: null}}); } return obj.CA10O1__lifecycleState__c; } function extract3() { if (!this.out) { this.out = fieldChecked4(); } return this.out; }; references1.push('Lifecycle State [obj.CA10O1__lifecycleState__c]: ' + obj.CA10O1__lifecycleState__c); try { if (TextLib.notEqual(extract3.call(extract3), 'ENABLED')) { return {status: 'INAPPLICABLE', conditionIndex: 199, conditionText: "extract('CA10O1__lifecycleState__c') != 'ENABLED'", currentStateMessage: "This Oracle Key Vault key is not enabled.", currentStateReferences: references1.join('\n'), remediation: null, runtimeError: null}; } } catch (err) { if (err.cause && err.cause.status) { return err.cause; } else { throw err; } } // condition[2], conditionIndex:[200..299] function extract6() { if (!this.out) { this.out = obj.CA10O1__autoRotationStatus__c; } return this.out; }; references1.push('Auto Rotation Status [obj.CA10O1__autoRotationStatus__c]: ' + obj.CA10O1__autoRotationStatus__c); if (TextLib.equal(extract6.call(extract6), 'Enabled')) { return {status: 'COMPLIANT', conditionIndex: 299, conditionText: "extract('CA10O1__autoRotationStatus__c') == 'Enabled'", currentStateMessage: "Automatic rotation is enabled for this Oracle Key Vault key.", currentStateReferences: references1.join('\n'), remediation: null, runtimeError: null}; } // condition[3], conditionIndex:[300..399] function extract9() { if (!this.out) { this.out = obj.CA10O1__autoRotationStatus__c; } return this.out; }; function fieldChecked13() { if (IsEmptyLib.simpleIsEmpty(obj.CA10O1__timeCreated__c)) { throw new Error("UNDETERMINED condition:301", {cause: {status: 'UNDETERMINED', conditionIndex: 301, conditionText: "CA10O1__timeCreated__c.isEmpty()", currentStateMessage: "Unable to determine when this Oracle Key Vault key was created.", currentStateReferences: references1.join('\n'), remediation: null, runtimeError: null}}); } return obj.CA10O1__timeCreated__c; } function extract12() { if (!this.out) { this.out = fieldChecked13(); } return this.out; }; references1.push('Time Created [obj.CA10O1__timeCreated__c]: ' + obj.CA10O1__timeCreated__c); try { if (TextLib.isEmpty(extract9.call(extract9)) && (extract12.call(extract12) != null && extract12.call(extract12).getTime() < todayMinus365Day)) { return {status: 'UNDETERMINED', conditionIndex: 399, conditionText: "extract('CA10O1__autoRotationStatus__c').isEmpty() && extract('CA10O1__timeCreated__c').beyondLastDays(365)", currentStateMessage: "Unable to determine the automatic rotation status for this stale Oracle Key Vault key.", currentStateReferences: references1.join('\n'), remediation: null, runtimeError: null}; } } catch (err) { if (err.cause && err.cause.status) { return err.cause; } else { throw err; } } // condition[4], conditionIndex:[400..499] function fieldChecked17() { if (IsEmptyLib.simpleIsEmpty(obj.CA10O1__timeCreated__c)) { throw new Error("UNDETERMINED condition:401", {cause: {status: 'UNDETERMINED', conditionIndex: 401, conditionText: "CA10O1__timeCreated__c.isEmpty()", currentStateMessage: "Unable to determine when this Oracle Key Vault key was created.", currentStateReferences: references1.join('\n'), remediation: null, runtimeError: null}}); } return obj.CA10O1__timeCreated__c; } function extract16() { if (!this.out) { this.out = fieldChecked17(); } return this.out; }; try { if (extract16.call(extract16) != null && extract16.call(extract16).getTime() < todayMinus365Day) { return {status: 'INCOMPLIANT', conditionIndex: 499, conditionText: "extract('CA10O1__timeCreated__c').beyondLastDays(365)", currentStateMessage: "This Oracle Key Vault key is older than 365 days and automatic rotation is not enabled.", currentStateReferences: references1.join('\n'), remediation: "Rotate this Oracle Key Vault key or enable automatic key rotation.", runtimeError: null}; } } catch (err) { if (err.cause && err.cause.status) { return err.cause; } else { throw err; } } // condition[5], conditionIndex:[500..599] function fieldChecked21() { if (IsEmptyLib.simpleIsEmpty(obj.CA10O1__timeCreated__c)) { throw new Error("UNDETERMINED condition:501", {cause: {status: 'UNDETERMINED', conditionIndex: 501, conditionText: "CA10O1__timeCreated__c.isEmpty()", currentStateMessage: "Unable to determine when this Oracle Key Vault key was created.", currentStateReferences: references1.join('\n'), remediation: null, runtimeError: null}}); } return obj.CA10O1__timeCreated__c; } function extract20() { if (!this.out) { this.out = fieldChecked21(); } return this.out; }; try { if (extract20.call(extract20) != null && extract20.call(extract20).getTime() >= todayMinus365Day && extract20.call(extract20).getTime() < todayPlus1Day) { return {status: 'COMPLIANT', conditionIndex: 599, conditionText: "extract('CA10O1__timeCreated__c').withinLastDays(365)", currentStateMessage: "This Oracle Key Vault key is enabled and was created within the last 365 days.", currentStateReferences: references1.join('\n'), remediation: null, runtimeError: null}; } } catch (err) { if (err.cause && err.cause.status) { return err.cause; } else { throw err; } } return {status: 'UNDETERMINED', conditionIndex: 600, conditionText: "otherwise", currentStateMessage: "Unable to determine whether this Oracle Key Vault key is rotated annually.", currentStateReferences: references1.join('\n'), remediation: null, runtimeError: null}; """; SELECT expectedResult.Id as Id, IF ( IFNULL(expectedResult.expectedResult.status, '') = IFNULL(sObject.result.status, '') AND IFNULL(expectedResult.expectedResult.conditionIndex, -1) = IFNULL(sObject.result.conditionIndex, -1) AND IFNULL(expectedResult.expectedResult.conditionText, '') = IFNULL(sObject.result.conditionText, '') AND IFNULL(expectedResult.expectedResult.runtimeError, '') = IFNULL(sObject.result.runtimeError, ''), "MATCH", "FAIL" ) as match, expectedResult.expectedResult.status as expectedStatus, sObject.result.status as actualStatus, expectedResult.expectedResult.conditionIndex as expectedConditionIndex, sObject.result.conditionIndex as actualConditionIndex, expectedResult.expectedResult.conditionText as expectedConditionText, sObject.result.conditionText as actualConditionText, expectedResult.expectedResult.runtimeError as expectedRuntimeError, sObject.result.runtimeError as actualRuntimeError FROM UNNEST(mock_ExpectedResult()) expectedResult LEFT JOIN ( SELECT sObject.CA10O1__disappearanceTime__c AS CA10O1__disappearanceTime__c, sObject.CA10O1__lifecycleState__c AS CA10O1__lifecycleState__c, sObject.CA10O1__autoRotationStatus__c AS CA10O1__autoRotationStatus__c, sObject.CA10O1__timeCreated__c AS CA10O1__timeCreated__c, sObject.Id AS Id, process_CA10O1__CaOracleKeyVaultKey__c( STRUCT( sObject.CA10O1__disappearanceTime__c AS CA10O1__disappearanceTime__c, sObject.CA10O1__lifecycleState__c AS CA10O1__lifecycleState__c, sObject.CA10O1__autoRotationStatus__c AS CA10O1__autoRotationStatus__c, sObject.CA10O1__timeCreated__c AS CA10O1__timeCreated__c, sObject.Id AS Id ), sObject.context.snapshotTime ) as result FROM UNNEST(mock_CA10O1__CaOracleKeyVaultKey__c()) AS sObject ) sObject ON sObject.Id = expectedResult.Id;