Skip to content

Commit c209473

Browse files
committed
Better names
1 parent 95a8781 commit c209473

2 files changed

Lines changed: 19 additions & 11 deletions

File tree

src/AzurePipelines.TestLogger/AzurePipelinesTestLogger.cs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public void Initialize(TestLoggerEvents events, string testRunDirectory)
4141
ApiClient apiClient = new ApiClient(accessToken, collectionUri, teamProject);
4242
_queue = new LoggerQueue(apiClient, buildId, agentName, jobName);
4343

44-
// Register for the events.
44+
// Register for the events
4545
events.TestRunMessage += TestMessageHandler;
4646
events.TestResult += TestResultHandler;
4747
events.TestRunComplete += TestRunCompleteHandler;
@@ -65,21 +65,25 @@ private void TestMessageHandler(object sender, TestRunMessageEventArgs e)
6565

6666
private void TestResultHandler(object sender, TestResultEventArgs e)
6767
{
68-
string filename = string.IsNullOrEmpty(e.Result.TestCase.Source) ? string.Empty : Path.GetFileName(e.Result.TestCase.Source);
69-
7068
Dictionary<string, object> testResult = new Dictionary<string, object>()
7169
{
72-
{ "testCaseTitle", e.Result.TestCase.DisplayName },
70+
{ "testCaseTitle", e.Result.TestCase.FullyQualifiedName },
7371
{ "automatedTestName", e.Result.TestCase.FullyQualifiedName },
7472
{ "outcome", e.Result.Outcome.ToString() },
7573
{ "state", "Completed" },
7674
{ "automatedTestType", "UnitTest" },
7775
{ "automatedTestTypeId", "13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" }, // This is used in the sample response and also appears in web searches
7876
};
7977

78+
string filename = string.IsNullOrEmpty(e.Result.TestCase.Source) ? string.Empty : Path.GetFileName(e.Result.TestCase.Source);
8079
if (!string.IsNullOrEmpty(filename))
8180
{
8281
testResult.Add("automatedTestStorage", filename);
82+
83+
if(string.IsNullOrEmpty(_queue.Filename))
84+
{
85+
_queue.Filename = filename;
86+
}
8387
}
8488

8589
if (e.Result.Outcome == TestOutcome.Passed || e.Result.Outcome == TestOutcome.Failed)
@@ -121,9 +125,6 @@ private void TestResultHandler(object sender, TestResultEventArgs e)
121125
_queue.Enqueue(testResult.ToJson());
122126
}
123127

124-
private void TestRunCompleteHandler(object sender, TestRunCompleteEventArgs e)
125-
{
126-
_queue.Flush();
127-
}
128+
private void TestRunCompleteHandler(object sender, TestRunCompleteEventArgs e) => _queue.Flush();
128129
}
129130
}

src/AzurePipelines.TestLogger/LoggerQueue.cs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@ namespace AzurePipelines.TestLogger
99
internal class LoggerQueue
1010
{
1111
private readonly ApiClient _apiClient;
12-
private readonly string _runName;
1312
private readonly string _buildId;
13+
private readonly string _agentName;
14+
private readonly string _jobName;
1415

1516
private readonly AsyncProducerConsumerCollection<string> _queue = new AsyncProducerConsumerCollection<string>();
1617
private readonly Task _consumeTask;
@@ -24,10 +25,15 @@ public LoggerQueue(ApiClient apiClient, string buildId, string agentName, string
2425
{
2526
_apiClient = apiClient;
2627
_buildId = buildId;
27-
_runName = $"{ jobName } on { agentName } at {DateTime.UtcNow.ToString("o")}";
28+
_agentName = agentName;
29+
_jobName = jobName;
30+
2831
_consumeTask = ConsumeItemsAsync(_consumeTaskCancellationSource.Token);
2932
}
3033

34+
// This gets set once the first test result comes in
35+
public string Filename { get; set; }
36+
3137
public void Enqueue(string json)
3238
{
3339
_queue.Add(json);
@@ -102,9 +108,10 @@ private async Task PostResultsAsync(ICollection<string> jsonEntities, Cancellati
102108

103109
private async Task<int> CreateTestRun(CancellationToken cancellationToken)
104110
{
111+
string runName = $"{( string.IsNullOrEmpty(Filename) ? "Unknown Test File" : Filename)} (OS: { System.Runtime.InteropServices.RuntimeInformation.OSDescription }, Job: { _jobName }, Agent: { _agentName }) at {DateTime.UtcNow.ToString("o")}";
105112
Dictionary<string, object> request = new Dictionary<string, object>
106113
{
107-
{ "name", _runName },
114+
{ "name", runName },
108115
{ "build", new Dictionary<string, object> { { "id", _buildId } } },
109116
{ "isAutomated", true }
110117
};

0 commit comments

Comments
 (0)