@@ -6,7 +6,7 @@ const os = require('node:os')
66
77require ( './setup/core' )
88
9- const { getAzureAppMetadata, getAzureTagsFromMetadata } = require ( '../src/azure_metadata' )
9+ const { getAzureAppMetadata, getAzureTagsFromMetadata, getAzureFunctionMetadata } = require ( '../src/azure_metadata' )
1010
1111describe ( 'Azure metadata' , ( ) => {
1212 describe ( 'for apps is' , ( ) => {
@@ -107,4 +107,45 @@ describe('Azure metadata', () => {
107107 }
108108 assert . deepStrictEqual ( getAzureTagsFromMetadata ( getAzureAppMetadata ( ) ) , expected )
109109 } )
110+
111+ it ( 'uses DD_AZURE_RESOURCE_GROUP for Flex Consumption Azure Functions' , ( ) => {
112+ delete process . env . WEBSITE_RESOURCE_GROUP
113+ delete process . env . WEBSITE_OS
114+ delete process . env . DD_AAS_DOTNET_EXTENSION_VERSION
115+ process . env . COMPUTERNAME = 'flex_function'
116+ process . env . WEBSITE_SITE_NAME = 'flex_function_app'
117+ process . env . WEBSITE_OWNER_NAME = 'subscription_id+flex-regionwebspace'
118+ process . env . WEBSITE_INSTANCE_ID = 'instance_id'
119+ process . env . WEBSITE_SKU = 'FlexConsumption'
120+ process . env . FUNCTIONS_EXTENSION_VERSION = '4'
121+ process . env . FUNCTIONS_WORKER_RUNTIME = 'node'
122+ process . env . DD_AZURE_RESOURCE_GROUP = 'flex_resource_group'
123+ const expected = {
124+ functionRuntimeVersion : '4' ,
125+ instanceID : 'instance_id' ,
126+ instanceName : 'flex_function' ,
127+ operatingSystem : os . platform ( ) ,
128+ resourceGroup : 'flex_resource_group' ,
129+ resourceID :
130+ '/subscriptions/subscription_id/resourcegroups/flex_resource_group' +
131+ '/providers/microsoft.web/sites/flex_function_app' ,
132+ runtime : 'node' ,
133+ siteKind : 'functionapp' ,
134+ siteName : 'flex_function_app' ,
135+ siteType : 'function' ,
136+ subscriptionID : 'subscription_id'
137+ }
138+ assert . deepStrictEqual ( getAzureFunctionMetadata ( ) , expected )
139+ } )
140+
141+ it ( 'uses WEBSITE_RESOURCE_GROUP for non-Flex Consumption plans' , ( ) => {
142+ process . env . WEBSITE_SITE_NAME = 'regular_function_app'
143+ process . env . WEBSITE_RESOURCE_GROUP = 'regular_resource_group'
144+ process . env . WEBSITE_OWNER_NAME = 'subscription_id+extracted_group-regionwebspace'
145+ process . env . WEBSITE_SKU = 'Consumption'
146+ process . env . FUNCTIONS_EXTENSION_VERSION = '4'
147+ process . env . DD_AZURE_RESOURCE_GROUP = 'should_not_use_this'
148+ const metadata = getAzureFunctionMetadata ( )
149+ assert . strictEqual ( metadata . resourceGroup , 'regular_resource_group' )
150+ } )
110151} )
0 commit comments