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) {