From b1909a0851c14c8c583b8c9f5efdbb0d6ef3f82a Mon Sep 17 00:00:00 2001 From: Timothy Baldridge Date: Wed, 8 Apr 2020 16:28:50 -0600 Subject: [PATCH] Add Metrics test --- Wabbajack.BuildServer.Test/MetricsTests.cs | 34 +++++++++++++++++++ .../ModListValidationTests.cs | 1 + .../Models/JobQueue/JobResult.cs | 2 ++ .../Models/Sql/SqlService.cs | 5 ++- Wabbajack.Common/Metrics.cs | 2 +- 5 files changed, 40 insertions(+), 4 deletions(-) create mode 100644 Wabbajack.BuildServer.Test/MetricsTests.cs diff --git a/Wabbajack.BuildServer.Test/MetricsTests.cs b/Wabbajack.BuildServer.Test/MetricsTests.cs new file mode 100644 index 00000000..91fcc8d6 --- /dev/null +++ b/Wabbajack.BuildServer.Test/MetricsTests.cs @@ -0,0 +1,34 @@ +using System; +using System.Linq; +using System.Threading.Tasks; +using Dapper; +using Wabbajack.BuildServer.Model.Models; +using Wabbajack.Common; +using Wabbajack.Lib; +using Xunit; +using Xunit.Abstractions; + +namespace Wabbajack.BuildServer.Test +{ + public class MetricsTests : ABuildServerSystemTest + { + public MetricsTests(ITestOutputHelper output, SingletonAdaptor fixture) : base(output, fixture) + { + } + + [Fact] + public async Task CanSendMetrics() + { + var action = "action_" + Guid.NewGuid().ToString(); + var subject = "subject_" + Guid.NewGuid().ToString(); + await Metrics.Send(action, subject); + + var sql = Fixture.GetService(); + var conn = await sql.Open(); + var result = await conn.QueryFirstOrDefaultAsync("SELECT Subject FROM dbo.Metrics WHERE Action = @Action", + new {Action = action}); + + Assert.Equal(subject, result); + } + } +} diff --git a/Wabbajack.BuildServer.Test/ModListValidationTests.cs b/Wabbajack.BuildServer.Test/ModListValidationTests.cs index 54809320..4ea16eb0 100644 --- a/Wabbajack.BuildServer.Test/ModListValidationTests.cs +++ b/Wabbajack.BuildServer.Test/ModListValidationTests.cs @@ -39,6 +39,7 @@ namespace Wabbajack.BuildServer.Test [Fact] public async Task CanValidateModLists() { + await ClearJobQueue(); var modlists = await MakeModList(); Consts.ModlistMetadataURL = modlists.ToString(); Utils.Log("Updating modlists"); diff --git a/Wabbajack.BuildServer/Models/JobQueue/JobResult.cs b/Wabbajack.BuildServer/Models/JobQueue/JobResult.cs index 8f3ca2a6..01d92416 100644 --- a/Wabbajack.BuildServer/Models/JobQueue/JobResult.cs +++ b/Wabbajack.BuildServer/Models/JobQueue/JobResult.cs @@ -1,7 +1,9 @@ using System; +using Wabbajack.Common.Serialization.Json; namespace Wabbajack.BuildServer.Models.JobQueue { + [JsonName("JobResult")] public class JobResult { public JobResultType ResultType { get; set; } diff --git a/Wabbajack.BuildServer/Models/Sql/SqlService.cs b/Wabbajack.BuildServer/Models/Sql/SqlService.cs index 75c2be6e..8c66c92b 100644 --- a/Wabbajack.BuildServer/Models/Sql/SqlService.cs +++ b/Wabbajack.BuildServer/Models/Sql/SqlService.cs @@ -30,7 +30,7 @@ namespace Wabbajack.BuildServer.Model.Models } - private async Task Open() + public async Task Open() { var conn = new SqlConnection(_settings.SqlConnection); await conn.OpenAsync(); @@ -201,8 +201,7 @@ namespace Wabbajack.BuildServer.Model.Models new { job.Id, Success = job.Result.ResultType == JobResultType.Success, - ResultPayload = job.Result.ToJson() - + ResultContent = job.Result.ToJson() }); if (job.OnSuccess != null) diff --git a/Wabbajack.Common/Metrics.cs b/Wabbajack.Common/Metrics.cs index 7ee74d86..58eaa5f8 100644 --- a/Wabbajack.Common/Metrics.cs +++ b/Wabbajack.Common/Metrics.cs @@ -33,7 +33,7 @@ namespace Wabbajack.Common { client.DefaultRequestHeaders.Add(Consts.MetricsKeyHeader, Utils.FromEncryptedJson(Consts.MetricsKeyHeader)); - await client.GetAsync($"http://build.wabbajack.org/metrics/{action}/{value}"); + await client.GetAsync($"{Consts.WabbajackBuildServerUri}metrics/{action}/{value}"); } catch (Exception) {