@@ -2564,6 +2564,37 @@ def test_vm_machine_extension_image(self):
25642564 self.check("contains(id, '/Providers/Microsoft.Compute/Locations/{loc}/Publishers/{pub}/ArtifactTypes/VMExtension/Types/{ext}/Versions/{ver}')", True)
25652565 ])
25662566
2567+ @live_only()
2568+ def test_vm_extension_image_release_metadata(self):
2569+ self.kwargs.update({
2570+ 'loc': 'eastus',
2571+ 'pub': 'Microsoft.Compute',
2572+ 'ext': 'CustomScriptExtension'
2573+ })
2574+
2575+ for command_group in ('vm', 'vmss'):
2576+ versions = self.cmd(
2577+ '{} extension image list-versions --location {{loc}} --publisher {{pub}} '
2578+ '--name {{ext}} --expand properties'.format(command_group)
2579+ ).get_output_in_json()
2580+ versions_with_metadata = [
2581+ version for version in versions
2582+ if all(version.get(field) for field in ('releaseCategory', 'urgencyLevel', 'runProfile'))
2583+ ]
2584+ self.assertTrue(versions_with_metadata)
2585+
2586+ self.kwargs['ver'] = versions_with_metadata[0]['name']
2587+ image = self.cmd(
2588+ '{} extension image show --location {{loc}} --publisher {{pub}} '
2589+ '--name {{ext}} --version {{ver}}'.format(command_group)
2590+ ).get_output_in_json()
2591+ for field in ('releaseNotes', 'releaseCategory', 'urgencyLevel', 'runProfile'):
2592+ self.assertTrue(image.get(field))
2593+
2594+ feature_tags = image['extensionFeatureMetadata']['extensionFeatureTags']
2595+ self.assertTrue(feature_tags)
2596+ self.assertTrue(all(tag.get('key') and tag.get('value') for tag in feature_tags))
2597+
25672598
25682599class VMExtensionImageSearchScenarioTest(LiveScenarioTest):
25692600
0 commit comments