diff --git a/packages/opentelemetry-test-utils/src/resource-assertions.ts b/packages/opentelemetry-test-utils/src/resource-assertions.ts index 51b1419187..ed7a2c46ef 100644 --- a/packages/opentelemetry-test-utils/src/resource-assertions.ts +++ b/packages/opentelemetry-test-utils/src/resource-assertions.ts @@ -26,6 +26,9 @@ import { SEMRESATTRS_CONTAINER_IMAGE_NAME, SEMRESATTRS_CONTAINER_IMAGE_TAG, SEMRESATTRS_CONTAINER_NAME, + SEMRESATTRS_FAAS_INSTANCE, + SEMRESATTRS_FAAS_NAME, + SEMRESATTRS_FAAS_VERSION, SEMRESATTRS_HOST_ID, SEMRESATTRS_HOST_IMAGE_ID, SEMRESATTRS_HOST_IMAGE_NAME, @@ -326,6 +329,40 @@ export const assertProcessResource = ( } }; +/** + * Test utility method to validate a faas resource + * + * @param resource the Resource to validate + * @param validations validations for the resource attributes + */ +export const assertFaasResource = ( + resource: Resource, + validations: { + name?: string; + instance?: string; + version?: string; + } +) => { + if (validations.name) { + assert.strictEqual( + resource.attributes[SEMRESATTRS_FAAS_NAME], + validations.name + ); + } + if (validations.instance) { + assert.strictEqual( + resource.attributes[SEMRESATTRS_FAAS_INSTANCE], + validations.instance + ); + } + if (validations.version) { + assert.strictEqual( + resource.attributes[SEMRESATTRS_FAAS_VERSION], + validations.version + ); + } +}; + /** * Test utility method to validate an empty resource *