Skip to content

Commit 95a8781

Browse files
committed
Rename to AzurePipelines.TestLogger
1 parent 42473d8 commit 95a8781

24 files changed

Lines changed: 127 additions & 115 deletions
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ VisualStudioVersion = 15.0.26124.0
44
MinimumVisualStudioVersion = 15.0.26124.0
55
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{C95ECC05-F3E8-49F4-B7C5-A29CD7EACFC1}"
66
EndProject
7-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PipelinesTestLogger", "src\PipelinesTestLogger\PipelinesTestLogger.csproj", "{77CA5040-B4A0-4D0B-ADDD-09853A385007}"
7+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AzurePipelines.TestLogger", "src\AzurePipelines.TestLogger\AzurePipelines.TestLogger.csproj", "{77CA5040-B4A0-4D0B-ADDD-09853A385007}"
88
EndProject
99
Global
1010
GlobalSection(SolutionConfigurationPlatforms) = preSolution

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
# PipelinesTestLogger
1+
# AzurePipelines.TestLogger
22
Azure Pipelines logger extension for the [Visual Studio Test Platform](https://gtihub.com/microsoft/vstest).
33

44
## Usage
5-
PipelinesTestLogger can report test results automatically to the CI build.
5+
AzurePipelines.TestLogger can report test results automatically to the CI build.
66

7-
1. Add a reference to the [PipelinesTestLogger NuGet package](https://www.nuget.org/packages/PipelinesTestLogger) in your test project
7+
1. Add a reference to the [AzurePipelines.TestLogger NuGet package](https://www.nuget.org/packages/AzurePipelines.TestLogger) in your test project
88
2. Use the following command when running tests
99
```
10-
> dotnet test --test-adapter-path:. --logger:PipelinesTestLogger
10+
> dotnet test --test-adapter-path:. --logger:AzurePipelines
1111
```
1212
3. Test results are automatically reported to the Azure Pipelines CI results
1313

ReleaseNotes.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# 0.3.0
2+
3+
- [Refactoring] Renamed to AzurePipelines.TestLogger
4+
15
# 0.2.2
26

37
- [Feature] Better test run names

build.cake

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ using Octokit;
1010
// CONST
1111
//////////////////////////////////////////////////////////////////////
1212

13-
var projectName = "PipelinesTestLogger";
14-
var repositoryName = "PipelinesTestLogger";
13+
var projectName = "AzurePipelines.TestLogger";
14+
var repositoryName = "AzurePipelines.TestLogger";
1515

1616
//////////////////////////////////////////////////////////////////////
1717
// ARGUMENTS
@@ -42,7 +42,7 @@ var msBuildSettings = new DotNetCoreMSBuildSettings()
4242
.WithProperty("FileVersion", version);
4343

4444
var buildDir = Directory("./build");
45-
var contentFilesDir = Directory("./src/PipelinesTestLogger/contentFiles/any/any");
45+
var contentFilesDir = Directory("./src/AzurePipelines.TestLogger/contentFiles/any/any");
4646

4747
///////////////////////////////////////////////////////////////////////////////
4848
// SETUP / TEARDOWN
@@ -120,9 +120,9 @@ Task("Pack")
120120
.Does(() =>
121121
{
122122
// Have to copy the build output into contentFiles for NuGet to find it
123-
CopyFiles(GetFiles($"./src/PipelinesTestLogger/bin/{ configuration }/**/*.dll"), contentFilesDir);
123+
CopyFiles(GetFiles($"./src/AzurePipelines.TestLogger/bin/{ configuration }/**/*.dll"), contentFilesDir);
124124

125-
var nuspec = MakeAbsolute(File("./src/PipelinesTestLogger/PipelinesTestLogger.nuspec"));
125+
var nuspec = MakeAbsolute(File("./src/AzurePipelines.TestLogger/AzurePipelines.TestLogger.nuspec"));
126126
NuGetPack(nuspec, new NuGetPackSettings
127127
{
128128
Version = semVersion,
Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
1-
using PipelinesTestLogger.Json;
2-
using System;
1+
using AzurePipelines.TestLogger.Json;
2+
using System;
33
using System.IO;
4-
using System.Net.Http;
4+
using System.Net.Http;
55
using System.Net.Http.Headers;
6-
using System.Text;
7-
using System.Threading;
8-
using System.Threading.Tasks;
9-
10-
namespace PipelinesTestLogger
11-
{
6+
using System.Text;
7+
using System.Threading;
8+
using System.Threading.Tasks;
9+
10+
namespace AzurePipelines.TestLogger
11+
{
1212
internal class ApiClient
13-
{
13+
{
1414
private const string ApiVersion = "5.0-preview.2";
15-
15+
1616
private static readonly HttpClient _client = new HttpClient();
1717

1818
private readonly string _baseUrl;
@@ -28,15 +28,23 @@ public ApiClient(string accessToken, string collectionUri, string teamProject)
2828

2929
public async Task<JsonObject> PostAsync(string json, CancellationToken cancellationToken, string endpoint = null)
3030
{
31-
HttpContent content = new StringContent(json, Encoding.UTF8, "application/json");
32-
string requestUri = $"{ _baseUrl }{ endpoint }?api-version={ ApiVersion }";
33-
HttpResponseMessage response = await _client.PostAsync(requestUri, content, cancellationToken);
34-
response.EnsureSuccessStatusCode();
31+
HttpContent content = new StringContent(json, Encoding.UTF8, "application/json");
32+
string requestUri = $"{ _baseUrl }{ endpoint }?api-version={ ApiVersion }";
33+
HttpResponseMessage response = await _client.PostAsync(requestUri, content, cancellationToken);
34+
try
35+
{
36+
response.EnsureSuccessStatusCode();
37+
}
38+
catch(Exception)
39+
{
40+
Console.WriteLine("POST" + Environment.NewLine + requestUri + Environment.NewLine + json);
41+
throw;
42+
}
3543
string responseString = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
3644
using (StringReader sr = new StringReader(responseString))
3745
{
3846
return JsonDeserializer.Deserialize(sr) as JsonObject;
3947
}
4048
}
41-
}
49+
}
4250
}

src/PipelinesTestLogger/AsyncProducerConsumerCollection.cs renamed to src/AzurePipelines.TestLogger/AsyncProducerConsumerCollection.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
using System.Collections.Generic;
22
using System.Threading.Tasks;
33

4-
namespace PipelinesTestLogger
4+
namespace AzurePipelines.TestLogger
55
{
66

77
/// <remarks>
@@ -34,14 +34,14 @@ public void Add(T item)
3434
TaskCompletionSource<T[]> tcs = null;
3535
lock (collection)
3636
{
37-
if (waiting.Count > 0)
38-
{
39-
tcs = waiting.Dequeue();
40-
}
41-
else
42-
{
43-
collection.Enqueue(item);
44-
}
37+
if (waiting.Count > 0)
38+
{
39+
tcs = waiting.Dequeue();
40+
}
41+
else
42+
{
43+
collection.Enqueue(item);
44+
}
4545
}
4646

4747
tcs?.TrySetResult(new [] {item});

src/PipelinesTestLogger/PipelinesTestLogger.csproj renamed to src/AzurePipelines.TestLogger/AzurePipelines.TestLogger.csproj

File renamed without changes.

src/PipelinesTestLogger/PipelinesTestLogger.nuspec renamed to src/AzurePipelines.TestLogger/AzurePipelines.TestLogger.nuspec

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
<?xml version="1.0"?>
22
<package >
33
<metadata>
4-
<id>PipelinesTestLogger</id>
4+
<id>AzurePipelines.TestLogger</id>
55
<version>$version$</version>
6-
<title>PipelinesTestLogger</title>
6+
<title>AzurePipelines.TestLogger</title>
77
<authors>Dave Glick</authors>
88
<owners>Dave Glick</owners>
9-
<projectUrl>https://github.com/daveaglick/PipelinesTestLogger</projectUrl>
9+
<projectUrl>https://github.com/daveaglick/AzurePipelines.TestLogger</projectUrl>
1010
<description>Azure Pipelines logger extension for the Visual Studio Test Platform.</description>
11-
<licenseUrl>https://github.com/daveaglick/PipelinesTestLogger/blob/master/LICENSE</licenseUrl>
11+
<licenseUrl>https://github.com/daveaglick/AzurePipelines.TestLogger/blob/master/LICENSE</licenseUrl>
1212
<contentFiles>
1313
<files include="**/*" buildAction="None" copyToOutput="true" flatten="false" />
1414
</contentFiles>

src/PipelinesTestLogger/PipelinesTestLogger.cs renamed to src/AzurePipelines.TestLogger/AzurePipelinesTestLogger.cs

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -6,39 +6,39 @@
66
using System.Globalization;
77
using System.IO;
88
using System.Text;
9-
using PipelinesTestLogger.Json;
9+
using AzurePipelines.TestLogger.Json;
1010

11-
namespace PipelinesTestLogger
11+
namespace AzurePipelines.TestLogger
1212
{
13-
[FriendlyName(PipelinesTestLogger.FriendlyName)]
14-
[ExtensionUri(PipelinesTestLogger.ExtensionUri)]
15-
public class PipelinesTestLogger : ITestLogger
13+
[FriendlyName(AzurePipelinesTestLogger.FriendlyName)]
14+
[ExtensionUri(AzurePipelinesTestLogger.ExtensionUri)]
15+
public class AzurePipelinesTestLogger : ITestLogger
1616
{
1717
/// <summary>
1818
/// Uri used to uniquely identify the logger.
1919
/// </summary>
20-
public const string ExtensionUri = "logger://Microsoft/TestPlatform/PiplinesTestLogger/v1";
20+
public const string ExtensionUri = "logger://Microsoft/TestPlatform/AzurePiplinesTestLogger/v1";
2121

2222
/// <summary>
2323
/// Alternate user friendly string to uniquely identify the logger.
2424
/// </summary>
25-
public const string FriendlyName = "PipelinesTestLogger";
25+
public const string FriendlyName = "AzurePipelines";
2626

2727
private LoggerQueue _queue;
2828

2929
public void Initialize(TestLoggerEvents events, string testRunDirectory)
30-
{
31-
if(!GetRequiredVariable("SYSTEM_ACCESSTOKEN", out string accessToken)
32-
|| !GetRequiredVariable("SYSTEM_TEAMFOUNDATIONCOLLECTIONURI", out string collectionUri)
33-
|| !GetRequiredVariable("SYSTEM_TEAMPROJECT", out string teamProject)
34-
|| !GetRequiredVariable("BUILD_BUILDID", out string buildId)
35-
|| !GetRequiredVariable("AGENT_NAME", out string agentName)
36-
|| !GetRequiredVariable("AGENT_JOBNAME", out string jobName))
37-
{
38-
return;
39-
}
40-
41-
ApiClient apiClient = new ApiClient(accessToken, collectionUri, teamProject);
30+
{
31+
if(!GetRequiredVariable("SYSTEM_ACCESSTOKEN", out string accessToken)
32+
|| !GetRequiredVariable("SYSTEM_TEAMFOUNDATIONCOLLECTIONURI", out string collectionUri)
33+
|| !GetRequiredVariable("SYSTEM_TEAMPROJECT", out string teamProject)
34+
|| !GetRequiredVariable("BUILD_BUILDID", out string buildId)
35+
|| !GetRequiredVariable("AGENT_NAME", out string agentName)
36+
|| !GetRequiredVariable("AGENT_JOBNAME", out string jobName))
37+
{
38+
return;
39+
}
40+
41+
ApiClient apiClient = new ApiClient(accessToken, collectionUri, teamProject);
4242
_queue = new LoggerQueue(apiClient, buildId, agentName, jobName);
4343

4444
// Register for the events.
@@ -47,15 +47,15 @@ public void Initialize(TestLoggerEvents events, string testRunDirectory)
4747
events.TestRunComplete += TestRunCompleteHandler;
4848
}
4949

50-
private bool GetRequiredVariable(string name, out string value)
51-
{
52-
value = Environment.GetEnvironmentVariable(name);
53-
if(string.IsNullOrEmpty(value))
50+
private bool GetRequiredVariable(string name, out string value)
51+
{
52+
value = Environment.GetEnvironmentVariable(name);
53+
if(string.IsNullOrEmpty(value))
5454
{
55-
Console.WriteLine($"PipelinesTestLogger: Not an Azure Pipelines test run, environment variable { name } not set.");
56-
return false;
57-
}
58-
return true;
55+
Console.WriteLine($"AzurePipelines.TestLogger: Not an Azure Pipelines test run, environment variable { name } not set.");
56+
return false;
57+
}
58+
return true;
5959
}
6060

6161
private void TestMessageHandler(object sender, TestRunMessageEventArgs e)
@@ -67,14 +67,14 @@ private void TestResultHandler(object sender, TestResultEventArgs e)
6767
{
6868
string filename = string.IsNullOrEmpty(e.Result.TestCase.Source) ? string.Empty : Path.GetFileName(e.Result.TestCase.Source);
6969

70-
Dictionary<string, object> testResult = new Dictionary<string, object>()
71-
{
72-
{ "testCaseTitle", e.Result.TestCase.DisplayName },
73-
{ "automatedTestName", e.Result.TestCase.FullyQualifiedName },
74-
{ "outcome", e.Result.Outcome.ToString() },
75-
{ "state", "Completed" },
76-
{ "automatedTestType", "UnitTest" },
77-
{ "automatedTestTypeId", "13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" }, // This is used in the sample response and also appears in web searches
70+
Dictionary<string, object> testResult = new Dictionary<string, object>()
71+
{
72+
{ "testCaseTitle", e.Result.TestCase.DisplayName },
73+
{ "automatedTestName", e.Result.TestCase.FullyQualifiedName },
74+
{ "outcome", e.Result.Outcome.ToString() },
75+
{ "state", "Completed" },
76+
{ "automatedTestType", "UnitTest" },
77+
{ "automatedTestTypeId", "13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" }, // This is used in the sample response and also appears in web searches
7878
};
7979

8080
if (!string.IsNullOrEmpty(filename))

src/PipelinesTestLogger/Json/JsonArray.cs renamed to src/AzurePipelines.TestLogger/Json/JsonArray.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using System;
22

3-
namespace PipelinesTestLogger.Json
3+
namespace AzurePipelines.TestLogger.Json
44
{
55
internal class JsonArray : JsonValue
66
{

0 commit comments

Comments
 (0)