Skip to content

Commit 74cb5c6

Browse files
vinitsuri-msftniadak
authored andcommitted
Users/visuri/optionalserviceconnectionm108 (#3019)
* updating version * making service connection optional fixes * resolved comments
1 parent 06f708a commit 74cb5c6

File tree

2 files changed

+23
-7
lines changed

2 files changed

+23
-7
lines changed

Tasks/QuickPerfTest/CltTasksUtility.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ function ValidateInputs($websiteUrl, $tfsCollectionUrl, $connectedServiceName)
175175

176176
if([string]::IsNullOrWhiteSpace($connectedServiceName) -and $tfsCollectionUrl -notlike "*VISUALSTUDIO.COM*" -and $tfsCollectionUrl -notlike "*TFSALLIN.NET*")
177177
{
178-
throw "VS Team Services Connection is mandatory for non hosted TFS builds "
178+
throw "VS Team Services Connection is mandatory for using performance test tasks on non hosted TFS builds.Please specify a VS Team Services connection and try again "
179179
}
180180
}
181181

Tasks/QuickPerfTest/Invoke-QuickPerfTest.ps1

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,36 @@ function InitializeRestHeaders()
2828
$restHeaders = New-Object -TypeName "System.Collections.Generic.Dictionary[[String], [String]]"
2929
if([string]::IsNullOrWhiteSpace($connectedServiceName))
3030
{
31-
$restHeaders.Add("Authorization", [String]::Concat("Bearer ", $env:SYSTEM_ACCESSTOKEN))
31+
$patToken = Get-AccessToken $connectedServiceDetails
32+
ValidatePatToken $patToken
33+
$restHeaders.Add("Authorization", [String]::Concat("Bearer ", $patToken))
3234

3335
}
3436
else
3537
{
38+
$Username = $connectedServiceDetails.Authorization.Parameters.Username
39+
Write-Verbose "Username = $Username" -Verbose
40+
$Password = $connectedServiceDetails.Authorization.Parameters.Password
3641
$alternateCreds = [String]::Concat($Username, ":", $Password)
3742
$basicAuth = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($alternateCreds))
3843
$restHeaders.Add("Authorization", [String]::Concat("Basic ", $basicAuth))
3944
}
4045
return $restHeaders
4146
}
4247

48+
function Get-AccessToken($vssEndPoint)
49+
{
50+
return $vssEndpoint.Authorization.Parameters.AccessToken
51+
}
52+
53+
function ValidatePatToken($token)
54+
{
55+
if([string]::IsNullOrWhiteSpace($token))
56+
{
57+
throw "Unable to generate Personal Access Token for the user. Contact Project Collection Administrator"
58+
}
59+
}
60+
4361
# Load all dependent files for execution
4462
. $PSScriptRoot/CltTasksUtility.ps1
4563
. $PSScriptRoot/VssConnectionHelper.ps1
@@ -52,6 +70,8 @@ Write-Output "Starting Quick Perf Test Script"
5270

5371
import-module "Microsoft.TeamFoundation.DistributedTask.Task.Internal"
5472
import-module "Microsoft.TeamFoundation.DistributedTask.Task.Common"
73+
import-module "Microsoft.TeamFoundation.DistributedTask.Task.DTA"
74+
import-module "Microsoft.TeamFoundation.DistributedTask.Task.DevTestLabs"
5575

5676
$testName = $testName + ".loadtest"
5777
Write-Output "Test name = $testName"
@@ -73,9 +93,7 @@ else
7393
{
7494
$connectedServiceDetails = Get-ServiceEndpoint -Context $distributedTaskContext -Name $connectedServiceName
7595
}
76-
$Username = $connectedServiceDetails.Authorization.Parameters.Username
77-
Write-Verbose "Username = $Username" -Verbose
78-
$Password = $connectedServiceDetails.Authorization.Parameters.Password
96+
7997
$VSOAccountUrl = $connectedServiceDetails.Url.AbsoluteUri
8098
Write-Output "VSO Account URL is : $VSOAccountUrl"
8199
$headers = InitializeRestHeaders
@@ -85,8 +103,6 @@ $TFSAccountUrl = $env:System_TeamFoundationCollectionUri.TrimEnd('/')
85103
Write-Output "VSO account Url = $TFSAccountUrl" -Verbose
86104
Write-Output "CLT account Url = $CltAccountUrl" -Verbose
87105

88-
89-
90106
$dropjson = ComposeTestDropJson $testName $runDuration $websiteUrl $vuLoad $geoLocation
91107

92108
$drop = CreateTestDrop $headers $dropjson $CltAccountUrl

0 commit comments

Comments
 (0)