Tesztelési esetek createUiDefinition.json
Ez a cikk a createUiDefinition.json fájlok sablontesztelési eszközkészletével futtatott teszteket ismerteti. Ilyenek például a teszteken áthaladó vagy sikertelen teszteket átadó vagy sikertelen tesztnevek és kódminták.
Az eszközkészlet tartalmazza az Azure Resource Manager-sablonok (ARM-sablonok) tesztelési eseteit, valamint az azuredeploy.json vagy maintemplate.json nevű fő sablonfájlokat. Ha a könyvtár egy createUiDefinition.json fájlt tartalmaz, a felhasználói felület vezérlői meghatározott teszteket futtatnak. A tesztek futtatásával vagy egy adott teszt futtatásával kapcsolatos további információkért tekintse meg a tesztparamétereket.
A createUiDefinition.json fájl elemeket és függvényeket használó egyéni felhasználói felületi (UI) vezérlőket hoz létre.
Annak ellenőrzése, hogy a sablonparaméter engedélyezi-e az értékeket
Teszt neve: Az engedélyezett értékeknek ténylegesen engedélyezve kell lenniük
Ez a teszt ellenőrzi, hogy az createUiDefinition.json egyes vezérlőinek értékei engedélyezve vannak-e a fő sablon paramétereiben. A paraméterek név szerint vannak leképezve a fő sablon és a createUiDefinition.json fájl között.
A fő sablon paraméterének el kell fogadnia a vezérlő allowedValues
értékeit. A teszt azt is ellenőrzi, hogy a vezérlőre hivatkozik-e a createUiDefinition.json outputs
szakaszban.
Ez a teszt ellenőrzi a fő sablont és createUiDefinition.json fájlt. A createUiDefinition.json fájlra a sablon fő példái után látható példa.
Az alábbi példa meghiúsul, mert a fő sablon paraméterneve combo
nem egyezik a vezérlő paraméternevével comboBox
.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"combo": {
"type": "string",
"defaultValue": "two"
}
},
"resources": [],
"outputs": {
"comboBoxOutput": {
"type": "string",
"value": "[parameters('combo')]"
}
}
}
Az alábbi példa meghiúsul, mert a fő sablon paramétertípusa int
nem fogadja el a vezérlő string
értékét. És ha egy fő sablon paramétere meghatároz egy defaultValue
értéket, akkor érvényesnek value
kell lennie a vezérlőben allowedValues
.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"comboBox": {
"type": "int",
"defaultValue": 4
}
},
"resources": [],
"outputs": {
"comboBoxOutput": {
"type": "string",
"value": "[parameters('combo')]"
}
}
}
Az alábbi példa azért halad át , mert a fő sablon paraméterneve megegyezik a vezérlő paraméternevével. A sablon paramétertípusa pedig egy string
defaultValue
olyan paraméter, amely a vezérlőben allowedValues
van megadva.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"comboBox": {
"type": "string",
"defaultValue": "two"
}
},
"resources": [],
"outputs": {
"comboBoxOutput": {
"type": "string",
"value": "[parameters('comboBox')]"
}
}
}
A példához tartozó createUiDefinition.json fájl:
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [],
"steps": [
{
"name": "demoComboBox",
"label": "demoComboBoxLabel",
"elements": [
{
"name": "comboBox",
"type": "Microsoft.Common.DropDown",
"label": "Example drop down",
"defaultValue": "Value two",
"toolTip": "This is a tool tip",
"constraints": {
"allowedValues": [
{
"label": "Value one",
"description": "The value to select for option 1.",
"value": "one"
},
{
"label": "Value two",
"description": "The value to select for option 2.",
"value": "two"
}
],
"required": true
},
"visible": true
}
]
}
],
"outputs": {
"comboBox": "[steps('demoComboBox').comboBox]"
}
}
}
A kimeneti vezérlőknek létezniük kell
Teszt neve: A kimenetekben lévő vezérlőknek létezniük kell
A szakaszban használt outputs
vezérlőknek a createUiDefinition.json más részén található elemben kell lenniük. A hivatkozott outputs
névnek meg kell egyeznie a (vagysteps[]
) fájlban basics[]
használt névvel.
Az alábbi példa sikertelen.
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "nameDoesNotMatchOutput",
"type": "Microsoft.Common.DropDown",
"label": "Example drop down",
"toolTip": "This is a tool tip"
}
],
"steps": [],
"outputs": {
"comboBox": "[basics('comboBox')]"
}
}
}
Az alábbi példa áthalad.
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "comboBox",
"type": "Microsoft.Common.DropDown",
"label": "Example drop down",
"toolTip": "This is a tool tip"
}
],
"steps": [],
"outputs": {
"comboBox": "[basics('comboBox')]"
}
}
}
A tulajdonságoknak tartalmazniuk kell az értékeket
Teszt neve: A CreateUIDefinition nem rendelkezhet üresekkel
A tulajdonságoknak tartalmazniuk kell az értékeket. A szükséges tulajdonságoknak érvényes értékeket kell használniuk. Az üres tulajdonságokat el kell távolítani. A teszt lehetővé teszi az üres "basics": []
vagy defaultValue
"steps": []
a .
A következő példa meghiúsul , mert label
, placeholder
és toolTip
üres.
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "comboBox",
"type": "Microsoft.Common.DropDown",
"label": "",
"placeholder": "",
"defaultValue": "",
"toolTip": ""
}
],
"steps": [],
"outputs": {
"comboBox": "[basics('comboBox')]"
}
}
}
Az alábbi példa azért halad át , mert label
toolTip
értékekkel rendelkezik, és placeholder
el lett távolítva.
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "comboBox",
"type": "Microsoft.Common.DropDown",
"label": "Example drop down",
"defaultValue": "",
"toolTip": "This is a tool tip"
}
],
"steps": [],
"outputs": {
"comboBox": "[basics('comboBox')]"
}
}
}
Érvényes séma és verzió használata
Teszt neve: A CreateUIDefinitionnek sémával kell rendelkeznie
A createUiDefinition.json fájlnak tartalmaznia kell egy tulajdonságot $schema
, és érvényes $schema
és version
. A verziószámoknak meg kell egyeznie $schema
, és version
meg kell egyeznie.
Az alábbi példa sikertelen.
{
"$schema": "https://schema.management.azure.com/schemas/0.9.9-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.9.9-preview"
}
Az alábbi példa azért halad át, mert a legújabb és version
a .$schema
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview"
}
Ne rejtse el a hitelesítő adatok megerősítését
Teszt neve: A hitelesítő adatok megerősítése nem lehet rejtett
Ez a teszt ellenőrzi, hogy a hitelesítő adatok megerősítést nyertek-e a Microsoft.Common.PasswordBox vagy a Microsoft.Compute.CredentialsCombo esetében. A hideConfirmation
tulajdonságot úgy kell beállítani false
, hogy a megerősítés látható legyen.
A következő példa meghiúsul , mert hideConfirmation
a következő: true
.
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "credentials",
"type": "Microsoft.Compute.CredentialsCombo",
"label": {
"password": "Password",
"confirmPassword": "Confirm password"
},
"toolTip": {
"password": "Type your credentials"
},
"constraints": {
"required": true,
"customPasswordRegex": "^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{12,}$",
"customValidationMessage": "The password must be alphanumeric, contain at least 12 characters, and have at least 1 letter and 1 number."
},
"options": {
"hideConfirmation": true
},
"osPlatform": "Windows",
"visible": true
}
],
"steps": [],
"outputs": {
"location": "[location()]",
"credentials": "[basics('credentials')]"
}
}
}
Az alábbi példa azért halad át, mert hideConfirmation
az .false
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "credentials",
"type": "Microsoft.Compute.CredentialsCombo",
"label": {
"password": "Password",
"confirmPassword": "Confirm password"
},
"toolTip": {
"password": "Type your credentials"
},
"constraints": {
"required": true,
"customPasswordRegex": "^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{12,}$",
"customValidationMessage": "The password must be alphanumeric, contain at least 12 characters, and have at least 1 letter and 1 number."
},
"options": {
"hideConfirmation": false
},
"osPlatform": "Windows",
"visible": true
}
],
"steps": [],
"outputs": {
"location": "[location()]",
"credentials": "[basics('credentials')]"
}
}
}
A megfelelő kezelő használata
Teszt neve: A kezelőnek helyesnek kell lennie
Használja Microsoft.Azure.CreateUIDef
vagy Microsoft.Compute.MultiVm
használja a createUiDefinition.json fájlt.
Az alábbi példa sikertelen.
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.",
"version": "0.1.2-preview"
}
Az alábbi példa áthalad.
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview"
}
Ne rejtse el a meglévő erőforrásokat
Teszt neve: A HideExistinget megfelelően kell kezelni
Ha hideExisting
be van állítva false
vagy nincs megadva, outputs
akkor tartalmaznia resourceGroup
kell és newOrExisting
. Az alapértelmezett érték a hideExisting
következő false
: .
Ilyen vezérlőtípusok hideExisting
például a Microsoft.Storage.StorageAccountSelector, a Microsoft.Network.PublicIpAddressCombo vagy a Microsoft.Network.VirtualNetworkCombo.
Az alábbi példa sikertelen.
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "storage",
"type": "Microsoft.Storage.StorageAccountSelector",
"label": "Storage account",
"toolTip": "This is a demo storage account",
"defaultValue": {
"name": "storageaccount01",
"type": "Premium_LRS"
},
"options": {
"hideExisting": false
},
"visible": true
}
],
"steps": [],
"outputs": {
"location": "[location()]"
}
}
}
Az alábbi példa áthalad.
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "storage",
"type": "Microsoft.Storage.StorageAccountSelector",
"label": "Storage account",
"toolTip": "This is a demo storage account",
"defaultValue": {
"name": "storageaccount01",
"type": "Premium_LRS"
},
"options": {
"hideExisting": false
},
"visible": false
}
],
"steps": [],
"outputs": {
"location": "[location()]",
"resourceGroup": "[basics('storage').resourceGroup]",
"newOrExisting": "[basics('storage').newOrExisting]"
}
}
}
Hely használata kimenetekben
Teszt neve: A helynek kimenetekben kell lennie
A outputs
szakasznak tartalmaznia kell egy helyet a helyfüggvény használatával.
Az alábbi példa meghiúsul, mert outputs
nem tartalmaz helyet.
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "comboBox",
"type": "Microsoft.Common.DropDown",
"label": "Example drop down",
"toolTip": "This is a tool tip"
}
],
"steps": [],
"outputs": {
"comboBox": "[basics('comboBox')]"
}
}
}
Az alábbi példa áthalad.
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "comboBox",
"type": "Microsoft.Common.DropDown",
"label": "Example drop down",
"toolTip": "This is a tool tip"
}
],
"steps": [],
"outputs": {
"comboBox": "[basics('comboBox')]",
"location": "[location()]"
}
}
}
Vezérlőkimenetek belefoglalása sablonparaméterekbe
Teszt neve: A kimeneteknek jelen kell lenniük a sablonparaméterekben
A teszt ellenőrzi, hogy createUiDefinition.json tartalmaz-e szakasztoutputs
. A teszt azt is ellenőrzi, hogy ezek outputs
a fő sablon parameters
szakaszában vannak-e definiálva. A neveknek egyeznie kell, mert a paraméterek név szerint vannak megfeleltetve a createUiDefinition.json és a fő sablon között.
Ez a teszt ellenőrzi a fő sablont és createUiDefinition.json fájlt. A createUiDefinition.json fájlra a sablon fő példái után látható példa.
A következő példa meghiúsul, mert a fő sablon nem tartalmazza a comboBox
paramétert a createUiDefinition.json fájl szakaszából outputs
.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
},
"resources": [],
"outputs": {
"location": {
"type": "string",
"value": "[parameters('location')]"
}
}
}
Az alábbi példa azért halad át , mert a fő sablon tartalmazza a paramétert comboBox
.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"comboBox": {
"type": "string",
"defaultValue": "two"
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
},
"resources": [],
"outputs": {
"comboBox": {
"type": "string",
"value": "[parameters('comboBox')]"
},
"location": {
"type": "string",
"value": "[parameters('location')]"
}
}
}
A példához tartozó createUiDefinition.json fájl:
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "comboBox",
"type": "Microsoft.Common.DropDown",
"label": "Example drop down",
"toolTip": "This is a tool tip"
}
],
"steps": [],
"outputs": {
"comboBox": "[basics('comboBox')]",
"location": "[location()]"
}
}
}
Az alapértelmezett paramétereknek létezniük kell a kimenetekben
Teszt neve: Az alapértelmezett paramétereknek létezniük kell a CreateUIDefinition alkalmazásban
A fő sablon alapértelmezett érték nélküli paramétereinek a createUiDefinition.json fájl szakaszában kell lenniük outputs
.
Ez a teszt ellenőrzi a fő sablont és createUiDefinition.json fájlt. A vezérlő példái után megjelenik egy példa a azuredeploy.json fájlra.
Az alábbi példa meghiúsul , mert a createUiDefinition.json fájl outputs
nem tartalmazza a fő sablon paraméterét comboBox
.
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "comboBox",
"type": "Microsoft.Common.DropDown",
"label": "Example drop down",
"toolTip": "This is a tool tip"
}
],
"steps": [],
"outputs": {
"location": "[location()]"
}
}
}
Az alábbi példa azért halad át , mert createUiDefinition.json tartalmazza a comboBox
következőt outputs
: .
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "comboBox",
"type": "Microsoft.Common.DropDown",
"label": "Example drop down",
"toolTip": "This is a tool tip"
}
],
"steps": [],
"outputs": {
"comboBox": "[basics('comboBox')]",
"location": "[location()]"
}
}
}
A példához tartozó azuredeploy.json fájl. A comboBox
paraméternek nincs alapértelmezett értéke.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"comboBox": {
"type": "string"
},
"location": {
"type": "string"
}
},
"resources": [],
"outputs": {
"comboBox": {
"type": "string",
"value": "[parameters('comboBox')]"
},
"location": {
"type": "string",
"value": "[parameters('location')]"
}
}
}
Biztonságos paraméter használata jelszómezővel
Teszt neve: Jelszó-szövegdobozokat kell használni a jelszóparaméterekhez
Ez a teszt ellenőrzi, hogy a Microsoft.Common.PasswordBox elem definiálva van-e a fő sablonban parameters
és a createUiDefinition.jsonoutputs
. A jelszómezőhöz tartozó fő sablon paramétertípusának a következőnek kell lennie secureString
: vagy secureObject
.
Ez a teszt ellenőrzi a fő sablont és createUiDefinition.json fájlt. A createUiDefinition.json fájlra a sablon fő példái után látható példa.
Az alábbi példa meghiúsul, mert a fő sablon paramétere passwordBox
egy string
.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"passwordBox": {
"type": "string"
},
"location": {
"type": "string"
}
},
"resources": [],
"outputs": {
"location": {
"type": "string",
"value": "[parameters('location')]"
}
}
}
Az alábbi példa azért halad át , mert a fő sablon paramétere passwordBox
egy secureString
.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"passwordBox": {
"type": "secureString"
},
"location": {
"type": "string"
}
},
"resources": [],
"outputs": {
"location": {
"type": "string",
"value": "[parameters('location')]"
}
}
}
A példához tartozó createUiDefinition.json fájl:
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "passwordBox",
"type": "Microsoft.Common.PasswordBox",
"label": {
"password": "Password",
"confirmPassword": "Confirm password"
},
"toolTip": "Type a password"
}
],
"steps": [],
"outputs": {
"location": "[location()]",
"passwordBox": "[basics('passwordBox')]"
}
}
}
A jelszómező minimális hosszt igényel
Teszt neve: A PasswordBox-oknak minimális hosszúságúnak kell lenniük
A teszt ellenőrzi, hogy a Microsoft.Common.PasswordBox elem constraints
regex
legalább 12 karakterből áll-e.
A következő példa meghiúsul, mert nincsenek constraints
.
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "passwordBox",
"type": "Microsoft.Common.PasswordBox",
"label": {
"password": "Password",
"confirmPassword": "Confirm password"
},
"toolTip": "Type a password"
}
],
"steps": [],
"outputs": {
"location": "[location()]",
"passwordBox": "[basics('passwordBox')]"
}
}
}
Az alábbi példa azért halad át , mert legalább regex
12 karaktert igényel.
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "passwordBox",
"type": "Microsoft.Common.PasswordBox",
"label": {
"password": "Password",
"confirmPassword": "Confirm password"
},
"toolTip": "Type a password",
"constraints": {
"required": true,
"regex": "^[a-zA-Z0-9]{12,}$",
"validationMessage": "Password must be at least 12 characters long, contain only numbers and letters"
}
}
],
"steps": [],
"outputs": {
"location": "[location()]",
"passwordBox": "[basics('passwordBox')]"
}
}
}
A szövegmezőnek érvényesítést kell használnia
Teszt neve: A szövegdobozok jól formázottak
Az érvényesítés és a szövegmezők használatával ellenőrizzeconstraints
, hogy az adott és message
a regex
.
Az alábbi példa sikertelen.
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "textBox",
"type": "Microsoft.Common.TextBox",
"label": "Text box",
"toolTip": "Type 1-30 alphanumeric characters",
"placeholder": "Type your text here",
"visible": true
}
],
"steps": [],
"outputs": {
"location": "[location()]",
"textBox": "[basics('textBox')]"
}
}
}
Az alábbi példa áthalad.
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "textBox",
"type": "Microsoft.Common.TextBox",
"label": "Text box",
"toolTip": "Type 1-30 alphanumeric characters",
"placeholder": "Type your text here",
"constraints": {
"required": true,
"validations": [
{
"regex": "^[a-z0-9A-Z]{1,30}$",
"message": "Only 1-30 characters alphanumeric characters are allowed."
}
]
},
"visible": true
}
],
"steps": [],
"outputs": {
"location": "[location()]",
"textBox": "[basics('textBox')]"
}
}
}
Az elemleírásnak értékkel kell rendelkeznie
Teszt neve: Az elemleírásoknak jelen kell lenniük
Ez a teszt ellenőrzi, hogy a toolTip
tulajdonság létezik-e, és tartalmaz-e értéket.
Az alábbi példa sikertelen.
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "comboBox",
"type": "Microsoft.Common.DropDown",
"label": "Example drop down",
"toolTip": ""
}
],
"steps": [],
"outputs": {
"location": "[location()]",
"comboBox": "[basics('comboBox')]"
}
}
}
Az alábbi példa áthalad.
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "comboBox",
"type": "Microsoft.Common.DropDown",
"label": "Example drop down",
"toolTip": "This is a tool tip"
}
],
"steps": [],
"outputs": {
"location": "[location()]",
"comboBox": "[basics('comboBox')]"
}
}
}
Ne állítson be alapértelmezett felhasználónevet
Teszt neve: A felhasználónevek nem lehetnek alapértelmezettek
A teszt ellenőrzi, hogy defaultValue
van-e készlet a Microsoft.Compute.UserNameTextBoxhoz.
A következő példa meghiúsul , mert egy defaultValue
meg van adva.
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "userNameBox",
"type": "Microsoft.Compute.UserNameTextBox",
"label": "User name",
"defaultValue": "admin",
"toolTip": "Enter your user name",
"osPlatform": "Windows"
}
],
"steps": [],
"outputs": {
"location": "[location()]",
"userNameBox": "[basics('userNameBox')]"
}
}
}
Az alábbi példa áthalad.
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "userNameBox",
"type": "Microsoft.Compute.UserNameTextBox",
"label": "User name",
"toolTip": "Enter your user name",
"osPlatform": "Windows"
}
],
"steps": [],
"outputs": {
"location": "[location()]",
"userNameBox": "[basics('userNameBox')]"
}
}
}
Üzenet használata érvényesítéssel
Teszt neve: Az ellenőrzésnek üzenetnek kell lennie
Ez a teszt ellenőrzi, hogy createUiDefinition.json tartalmaz-e .message
validations
Az alábbi példa meghiúsul , mert az regex
ellenőrzés nem rendelkezik message
.
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "textBox",
"type": "Microsoft.Common.TextBox",
"label": "Text box",
"toolTip": "Type 1-30 alphanumeric characters",
"placeholder": "Type your text here",
"constraints": {
"required": true,
"validations": [
{
"regex": "^[a-z0-9A-Z]{1,30}$"
}
]
},
"visible": true
}
],
"steps": [],
"outputs": {
"location": "[location()]",
"textBox": "[basics('textBox')]"
}
}
}
Az alábbi példa áthalad.
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "textBox",
"type": "Microsoft.Common.TextBox",
"label": "Text box",
"toolTip": "Type 1-30 alphanumeric characters",
"placeholder": "Type your text here",
"constraints": {
"required": true,
"validations": [
{
"regex": "^[a-z0-9A-Z]{1,30}$",
"message": "Only 1-30 characters alphanumeric characters are allowed."
}
]
},
"visible": true
}
],
"steps": [],
"outputs": {
"location": "[location()]",
"textBox": "[basics('textBox')]"
}
}
}
A virtuális gépek méretének meg kell egyeznie
Teszt neve: A virtuálisgép-méreteknek meg kell egyeznie a sablonnal
Ez a teszt ellenőrzi, hogy a Microsoft.Compute.SizeSelector szerepel-e a createUiDefinition.json outputs
és a fő sablon szakaszábanparameters
. A fő sablonparamétereknek meg defaultValue
kell egyeznie a vezérlő egyik értékével allowedSizes
.
Ez a teszt ellenőrzi a fő sablont és createUiDefinition.json fájlt. A createUiDefinition.json fájlra a sablon fő példái után látható példa.
Az alábbi példa meghiúsul, mert a fő sablon defaultValue
értéke nem egyezik a következőben megadott allowedSizes
értékkel:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"type": "string"
},
"vmSize": {
"type": "string",
"defaultValue": "Standard_D9"
}
},
"resources": [],
"outputs": {
"location": {
"type": "string",
"value": "[parameters('location')]"
},
"vmSize": {
"type": "string",
"value": "[parameters('vmSize')]"
}
}
}
Az alábbi példa azért halad át , mert a fő sablon defaultValue
értéke megegyezik a következőben: allowedSizes
.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"type": "string"
},
"vmSize": {
"type": "string",
"defaultValue": "Standard_D3"
}
},
"resources": [],
"outputs": {
"location": {
"type": "string",
"value": "[parameters('location')]"
},
"vmSize": {
"type": "string",
"value": "[parameters('vmSize')]"
}
}
}
A példához tartozó createUiDefinition.json fájl:
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "vmSize",
"type": "Microsoft.Compute.SizeSelector",
"label": "VM Size",
"toolTip": "Select a virtual machine size",
"recommendedSizes": [
"Standard_D1"
],
"constraints": {
"allowedSizes": [
"Standard_D1",
"Standard_D2",
"Standard_D3"
]
},
"osPlatform": "Windows",
"visible": true
}
],
"steps": [],
"outputs": {
"location": "[location()]",
"vmSize": "[basics('vmSize')]"
}
}
}
Következő lépések
- Az Azure Portal felhasználói felületének létrehozásához tekintse meg CreateUiDefinition.json az Azure által felügyelt alkalmazás létrehozási felületét.
- A felhasználói felület definíciójának létrehozásához tekintse meg a portál felületének tesztelése azure managed applicationshez című témakört.
- További információ a felhasználói felület vezérlőiről: CreateUiDefinition elements and CreateUiDefinition functions.
- Az ARM-sablontesztekkel kapcsolatos további információkért tekintse meg az ARM-sablonok tesztelési eseteit.