Fix heartbeat test

This commit is contained in:
Timothy Baldridge 2020-04-10 22:42:07 -06:00
parent 86b9406e08
commit f59fe643f1
2 changed files with 13 additions and 3 deletions

View File

@ -1,5 +1,6 @@
using System;
using System.Threading.Tasks;
using Wabbajack.BuildServer.Controllers;
using Wabbajack.Common;
using Xunit;
using Xunit.Abstractions;
@ -15,8 +16,8 @@ namespace Wabbajack.BuildServer.Test
[Fact]
public async Task CanGetHeartbeat()
{
var heartbeat = (await _client.GetStringAsync(MakeURL("heartbeat"))).FromJsonString<string>();
Assert.True(TimeSpan.Parse(heartbeat) > TimeSpan.Zero);
var heartbeat = (await _client.GetStringAsync(MakeURL("heartbeat"))).FromJsonString<Heartbeat.HeartbeatResult>();
Assert.True(heartbeat.Uptime > TimeSpan.Zero);
}
[Fact]

View File

@ -4,8 +4,10 @@ using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using Org.BouncyCastle.Asn1.Cms;
using Wabbajack.BuildServer.Model.Models;
using Wabbajack.BuildServer.Models.Jobs;
using Wabbajack.Common.Serialization.Json;
using Wabbajack.Common.StatusFeed;
namespace Wabbajack.BuildServer.Controllers
@ -39,13 +41,20 @@ namespace Wabbajack.BuildServer.Controllers
[HttpGet]
public async Task<IActionResult> GetHeartbeat()
{
return Ok(new
return Ok(new HeartbeatResult
{
Uptime = DateTime.Now - _startTime,
LastNexusUpdate = DateTime.Now - GetNexusUpdatesJob.LastNexusSync
});
}
[JsonName("HeartbeatResult")]
public class HeartbeatResult
{
public TimeSpan Uptime { get; set; }
public TimeSpan LastNexusUpdate { get; set; }
}
[HttpGet("only-authenticated")]
[Authorize]
public IActionResult OnlyAuthenticated()