using System; using Microsoft.AspNetCore.Mvc; using Moq; using NUnit.Framework; using LCU.Api.Internal.ArchiverApi.Controllers; using LCU.Api.Internal.ArchiverApi.Services; using LCU.Library.Internal.ArchiverApiModel.Models; namespace LCU.Api.Internal.ArchiverApiTest; public class QueueArchiverControllerTest { private QueueArchiverController _queueArchiverController; private Mock _mockQueueArchiverService; [SetUp] public void Setup() { _mockQueueArchiverService = new Mock(); _queueArchiverController = new QueueArchiverController(_mockQueueArchiverService.Object); } [Test] public void QueueArchiver_OK() { var archiveRequest = new ArchiveRequest(); _mockQueueArchiverService.Setup(x => x.QueueArchiver(archiveRequest)); var result = _queueArchiverController.QueueArchiver(archiveRequest); Assert.NotNull(result); var okResult = result as OkResult; Assert.NotNull(okResult); Assert.AreEqual(200, okResult.StatusCode); } [Test] public void QueueArchiver_Exception() { _mockQueueArchiverService.Setup(x => x.QueueArchiver(It.IsAny())) .Throws(new Exception("Oh nooo.")); var archiveRequest = new ArchiveRequest(); var results = _queueArchiverController.QueueArchiver(archiveRequest); Assert.NotNull(results); var badRes = results as StatusCodeResult; Assert.NotNull(badRes); Assert.AreEqual(500, badRes.StatusCode); } }