@@ -41,12 +41,11 @@ $env | Add-Member -Type ScriptMethod -Value { param( [string]$key, [object]$val,
41
41
function setupEnv () {
42
42
# Preload subscriptionId and tenant from context, which will be used in test
43
43
# as default. You could change them if needed.
44
- $env.SubscriptionId = (Get-AzContext ).Subscription.Id
44
+ $env.SubscriptionId = $sub = (Get-AzContext ).Subscription.Id
45
45
$env.Tenant = (Get-AzContext ).Tenant.Id
46
+ $testGuid = [guid ]::NewGuid().ToString()
46
47
$env.BillingServiceId = " 517f2da6-78fd-0498-4e22-ad26996b1dfc"
47
48
$env.BillingProblemClassificationId = " d0f16bf7-e011-3f3b-1c26-3147f84e0896"
48
- # For any resources you created for test, you should add it to $env here.
49
-
50
49
$env.FileWorkspaceNameSubscription = " test-ps-$ ( New-Guid ) "
51
50
$env.FileWorkspaceNameNoSubscription = " test-ps-$ ( New-Guid ) "
52
51
@@ -57,6 +56,76 @@ function setupEnv() {
57
56
New-AzSupportFileAndUpload - WorkspaceName $env.FileWorkspaceNameSubscription - FilePath $testFilePath
58
57
New-AzSupportFileAndUploadNoSubscription - WorkspaceName $env.FileWorkspaceNameNoSubscription - FilePath $testFilePath
59
58
59
+ $testTicketName = " test-$testGuid "
60
+ $advancedDiagnosticConsent = " no"
61
+ $contactDetailPrimaryEmailAddress = " [email protected] "
62
+ $contactDetailFirstName = " test"
63
+ $contactDetailLastName = " test"
64
+ $contactDetailPreferredContactMethod = " email"
65
+ $contactDetailPreferredTimeZone = " Pacific Standard Time"
66
+ $contactDetailPreferredSupportLanguage = " en-US"
67
+ $contactDetailCountry = " usa"
68
+ $description = " test ticket - please ignore and close"
69
+ $severity = " minimal"
70
+ $title = " test ticket - please ignore and close"
71
+ $serviceId = " /providers/Microsoft.Support/services/517f2da6-78fd-0498-4e22-ad26996b1dfc"
72
+ $problemClassificationId = " /providers/Microsoft.Support/services/517f2da6-78fd-0498-4e22-ad26996b1dfc/problemClassifications/3ec1a070-f242-9ecf-5a7c-e1a88ce029ef"
73
+ write-host " creating test ticket"
74
+ $env.AddWithCache (" Name" , $testTicketName , $UsePreviousConfigForRecord )
75
+ $env.AddWithCache (" AdvancedDiagnosticConsent" , $advancedDiagnosticConsent , $UsePreviousConfigForRecord )
76
+ $env.AddWithCache (" ContactDetailPrimaryEmailAddress" , $contactDetailPrimaryEmailAddress , $UsePreviousConfigForRecord )
77
+ $env.AddWithCache (" ContactDetailFirstName" , $contactDetailFirstName , $UsePreviousConfigForRecord )
78
+ $env.AddWithCache (" ContactDetailLastName" , $contactDetailLastName , $UsePreviousConfigForRecord )
79
+ $env.AddWithCache (" ContactDetailPreferredContactMethod" , $contactDetailPreferredContactMethod , $UsePreviousConfigForRecord )
80
+ $env.AddWithCache (" ContactDetailPreferredTimeZone" , $contactDetailPreferredTimeZone , $UsePreviousConfigForRecord )
81
+ $env.AddWithCache (" ContactDetailPreferredSupportLanguage" , $contactDetailPreferredSupportLanguage , $UsePreviousConfigForRecord )
82
+ $env.AddWithCache (" ContactDetailCountry" , $contactDetailCountry , $UsePreviousConfigForRecord )
83
+ $env.AddWithCache (" Description" , $description , $UsePreviousConfigForRecord )
84
+ $env.AddWithCache (" Severity" , $severity , $UsePreviousConfigForRecord )
85
+ $env.AddWithCache (" Title" , $title , $UsePreviousConfigForRecord )
86
+ $env.AddWithCache (" ServiceId" , $serviceId , $UsePreviousConfigForRecord )
87
+ $env.AddWithCache (" ProblemClassificationId" , $problemClassificationId , $UsePreviousConfigForRecord )
88
+
89
+ $testTicketName1 = " test1-$testGuid "
90
+ $communicationName = " test-msg-$testGuid "
91
+ $communicationName1 = " test1-msg-$testGuid "
92
+
93
+ $subject = " this is a test subject"
94
+ $body = " this is a test body"
95
+
96
+ write-host " creating test message"
97
+ $env.AddWithCache (" Name1" , $testTicketName1 , $UsePreviousConfigForRecord )
98
+ $env.AddWithCache (" CommunicationName" , $communicationName , $UsePreviousConfigForRecord )
99
+ $env.AddWithCache (" CommunicationName1" , $communicationName1 , $UsePreviousConfigForRecord )
100
+ $env.AddWithCache (" Sender" , $msgSender , $UsePreviousConfigForRecord )
101
+ $env.AddWithCache (" Subject" , $subject , $UsePreviousConfigForRecord )
102
+ $env.AddWithCache (" Body" , $body , $UsePreviousConfigForRecord )
103
+
104
+ write-host " creating a support ticket request at subscription level"
105
+ $supportTicketSubscription = New-AzSupportTicket - Name $env.Name - AdvancedDiagnosticConsent $env.AdvancedDiagnosticConsent - ContactDetailCountry $env.ContactDetailCountry - ContactDetailFirstName $env.ContactDetailFirstName - ContactDetailLastName $env.ContactDetailLastName - ContactDetailPreferredContactMethod $env.ContactDetailPreferredContactMethod - ContactDetailPreferredSupportLanguage $env.ContactDetailPreferredSupportLanguage - ContactDetailPreferredTimeZone $env.ContactDetailPreferredTimeZone - ContactDetailPrimaryEmailAddress $env.ContactDetailPrimaryEmailAddress - Description $env.Description - ProblemClassificationId $env.ProblemClassificationId - ServiceId $env.ServiceId - Severity $env.Severity - Title $env.Title
106
+
107
+ write-host " adding a message at subscription level"
108
+ if ($supportTicketSubscription.SupportPlanDisplayName -eq " Basic support" || $supportTicket.SupportPlanDisplayName -eq " Free" ){
109
+ write-host " cannot create, update support tickets and add communication operations for tickets with free support plan"
110
+ }
111
+ else {
112
+ New-AzSupportCommunication - Name $env.CommunicationName - SupportTicketName $env.Name - Body $env.Body - Sender $env.Sender - Subject $env.Subject
113
+ }
114
+ write-host " creating a support ticket request at tenant level"
115
+ $supportTicketTenant = New-AzSupportTicketsNoSubscription - SupportTicketName $env.Name - AdvancedDiagnosticConsent $env.AdvancedDiagnosticConsent - ContactDetailCountry $env.ContactDetailCountry - ContactDetailFirstName $env.ContactDetailFirstName - ContactDetailLastName $env.ContactDetailLastName - ContactDetailPreferredContactMethod $env.ContactDetailPreferredContactMethod - ContactDetailPreferredSupportLanguage $env.ContactDetailPreferredSupportLanguage - ContactDetailPreferredTimeZone $env.ContactDetailPreferredTimeZone - ContactDetailPrimaryEmailAddress $env.ContactDetailPrimaryEmailAddress - Description $env.Description - ProblemClassificationId $env.ProblemClassificationId - ServiceId $env.ServiceId - Severity $env.Severity - Title $env.Title
116
+
117
+ write-host " adding a message at tenant level"
118
+ if ($supportTicketTenant.SupportPlanDisplayName -eq " Basic support" || $supportTicket.SupportPlanDisplayName -eq " Free" ){
119
+ write-host " cannot create, update support tickets and add communication operations for tickets with free support plan"
120
+ }
121
+ else {
122
+ New-AzSupportCommunicationsNoSubscription - CommunicationName $env.CommunicationName - SupportTicketName $env.Name - Body $env.Body - Sender $env.Sender - Subject $env.Subject
123
+ }
124
+
125
+ $env.AddWithCache (" SupportPlanSubscription" , $supportTicketSubscription.SupportPlanDisplayName.ToString (), $UsePreviousConfigForRecord )
126
+ $env.AddWithCache (" SupportPlanTenant" , $supportTicketTenant.SupportPlanDisplayName.ToString (), $UsePreviousConfigForRecord )
127
+
128
+ # For any resources you created for test, you should add it to $env here.
60
129
$envFile = ' env.json'
61
130
if ($TestMode -eq ' live' ) {
62
131
$envFile = ' localEnv.json'
0 commit comments