All files / management rollback.ts

100% Statements 7/7
100% Branches 1/1
100% Functions 1/1
100% Lines 7/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32  1x                       1x               1x 1x     1x   1x   1x    
import { StringDictionary, WebSiteManagementClient } from '@azure/arm-appservice'
import { WEBSITE_RUN_FROM_PACKAGE } from './settings'
import { Logger } from '@azure/functions'
 
export interface PerformRollbackParams {
  settings: StringDictionary
  client: WebSiteManagementClient
  resourceGroupName: string
  appName: string
  oldFunctionZipUrl: string
  logger?: Logger
}
 
export async function performRollback({
  settings,
  client,
  resourceGroupName,
  appName,
  oldFunctionZipUrl,
  logger,
}: PerformRollbackParams) {
  if (!settings.properties) {
    settings.properties = {}
  }
 
  settings.properties[WEBSITE_RUN_FROM_PACKAGE] = oldFunctionZipUrl
 
  logger?.verbose(`Rolling back to ${oldFunctionZipUrl}`)
 
  await client.webApps.updateApplicationSettings(resourceGroupName, appName, settings)
}