Updating
This commit is contained in:
+597
@@ -0,0 +1,597 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
using LCU.Api.Internal.ArchiverApi.Services;
|
||||
using LCU.Library.Internal.ArchiverApiModel.Models;
|
||||
using LCU.Library.Internal.ArchiverApiModel.Entities;
|
||||
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.ApplicationHistories;
|
||||
namespace LCU.Api.Internal.ArchiverApiTest;
|
||||
|
||||
public class ReportServiceTest
|
||||
{
|
||||
private ReportService _reportService;
|
||||
private Mock<ICoreApiWrapperService> _mockCoreApiWrapperService;
|
||||
private Mock<IApplicationMappingService> _mockApplicationMappingService;
|
||||
private Mock<IRegexMappingService> _mockRegexMappingService;
|
||||
|
||||
[SetUp]
|
||||
public void Setup()
|
||||
{
|
||||
_mockCoreApiWrapperService = new Mock<ICoreApiWrapperService>();
|
||||
_mockApplicationMappingService = new Mock<IApplicationMappingService>();
|
||||
_mockRegexMappingService = new Mock<IRegexMappingService>();
|
||||
_reportService = new ReportService(_mockCoreApiWrapperService.Object, _mockApplicationMappingService.Object, _mockRegexMappingService.Object);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void GetReportsToArchive_OK()
|
||||
{
|
||||
var testReports = new List<Report>()
|
||||
{
|
||||
new Report()
|
||||
{
|
||||
ReportName = "Test",
|
||||
QueueNumber = "1234",
|
||||
StopDateTime = Convert.ToDateTime("1/1/2021")
|
||||
}
|
||||
};
|
||||
var archiveRequest = new ArchiveRequest();
|
||||
var applicationHistories = new List<ApplicationHistory>()
|
||||
{
|
||||
new ApplicationHistory()
|
||||
{
|
||||
ApplicationName = "Test",
|
||||
ApplicationNumber = 1,
|
||||
QueueNumber = 1234,
|
||||
StopDateTime = Convert.ToDateTime("1/1/2021")
|
||||
}
|
||||
};
|
||||
_mockCoreApiWrapperService.Setup(x => x.GetApplicationHistories(archiveRequest)).ReturnsAsync(applicationHistories);
|
||||
|
||||
var result = _reportService.GetReportsToArchiveAsync(archiveRequest).Result;
|
||||
|
||||
Assert.NotNull(result);
|
||||
Assert.AreEqual("Test", result.FirstOrDefault().ReportName);
|
||||
Assert.AreEqual("1234", result.FirstOrDefault().QueueNumber);
|
||||
Assert.AreEqual(Convert.ToDateTime("1/1/2021"), result.FirstOrDefault().StopDateTime);
|
||||
Assert.AreEqual("Test", result.FirstOrDefault().DisplayReportName);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void GetReportsToArchive_DispalyReportName_FromApplicationMapping()
|
||||
{
|
||||
var testApplicationMapping1 = new ApplicationMapping()
|
||||
{
|
||||
Identifier = "1",
|
||||
DesignatedName = "Test_NEW_1",
|
||||
ParameterMappings = new List<ParameterMapping>()
|
||||
{
|
||||
new ParameterMapping()
|
||||
{
|
||||
ParameterCode = "TestingCode",
|
||||
ParameterValue = "TestingParameterValue"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var testApplicationMapping2 = new ApplicationMapping()
|
||||
{
|
||||
Identifier = "1",
|
||||
DesignatedName = "Test_NEW",
|
||||
ParameterMappings = new List<ParameterMapping>()
|
||||
{
|
||||
new ParameterMapping()
|
||||
{
|
||||
ParameterCode = "TestingCode2",
|
||||
ParameterValue = "TestingParameterValue2"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var applicationMappings = new List<ApplicationMapping>()
|
||||
{
|
||||
testApplicationMapping1,
|
||||
testApplicationMapping2
|
||||
};
|
||||
|
||||
var testReports = new List<Report>()
|
||||
{
|
||||
new Report()
|
||||
{
|
||||
ReportName = "Test",
|
||||
QueueNumber = "1234",
|
||||
StopDateTime = Convert.ToDateTime("1/1/2021")
|
||||
}
|
||||
};
|
||||
var archiveRequest = new ArchiveRequest();
|
||||
var applicationHistories = new List<ApplicationHistory>()
|
||||
{
|
||||
new ApplicationHistory()
|
||||
{
|
||||
ApplicationName = "Test",
|
||||
ApplicationNumber = 1,
|
||||
QueueNumber = 1234,
|
||||
StopDateTime = Convert.ToDateTime("1/1/2021"),
|
||||
QueueApplicationParameters = new List<QueueApplicationParameter>()
|
||||
{
|
||||
new QueueApplicationParameter()
|
||||
{
|
||||
QueueNumber = 1234,
|
||||
ApplicationNumber = 1,
|
||||
ParameterCode = "TestingCode",
|
||||
ParameterValue = "TestingParameterValue"
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
_mockCoreApiWrapperService.Setup(x => x.GetApplicationHistories(archiveRequest)).ReturnsAsync(applicationHistories);
|
||||
_mockApplicationMappingService.Setup(x => x.GetAsync()).ReturnsAsync(applicationMappings);
|
||||
|
||||
var result = _reportService.GetReportsToArchiveAsync(archiveRequest).Result;
|
||||
|
||||
Assert.NotNull(result);
|
||||
Assert.AreEqual("Test", result.FirstOrDefault().ReportName);
|
||||
Assert.AreEqual("1234", result.FirstOrDefault().QueueNumber);
|
||||
Assert.AreEqual(Convert.ToDateTime("1/1/2021"), result.FirstOrDefault().StopDateTime);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void GetReportsToArchive_Exception()
|
||||
{
|
||||
var archiveRequest = new ArchiveRequest();
|
||||
_mockCoreApiWrapperService.Setup(x => x.GetApplicationHistories(archiveRequest)).Throws(new Exception("Error"));
|
||||
Assert.ThrowsAsync<Exception>(() => _reportService.GetReportsToArchiveAsync(archiveRequest));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DeteriminApplicationMapping_Return_CorrectApplicationMapping1()
|
||||
{
|
||||
var testApplicationMapping1 = new ApplicationMapping()
|
||||
{
|
||||
Identifier = "1",
|
||||
DesignatedName = "Test_NEW",
|
||||
ParameterMappings = new List<ParameterMapping>()
|
||||
{
|
||||
new ParameterMapping()
|
||||
{
|
||||
ParameterCode = "TestingCode",
|
||||
ParameterValue = "TestingParameterValue"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var testApplicationMapping2 = new ApplicationMapping()
|
||||
{
|
||||
Identifier = "1",
|
||||
DesignatedName = "Test_NEW",
|
||||
ParameterMappings = new List<ParameterMapping>()
|
||||
{
|
||||
new ParameterMapping()
|
||||
{
|
||||
ParameterCode = "TestingCode2",
|
||||
ParameterValue = "TestingParameterValue2"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
List<ApplicationMapping> applicationMappings = new List<ApplicationMapping>()
|
||||
{
|
||||
testApplicationMapping1,
|
||||
testApplicationMapping2
|
||||
};
|
||||
|
||||
ApplicationHistory applicationHistory = new ApplicationHistory()
|
||||
{
|
||||
ApplicationName = "Test",
|
||||
ApplicationNumber = 1,
|
||||
QueueNumber = 1234,
|
||||
StopDateTime = Convert.ToDateTime("1/1/2021"),
|
||||
QueueApplicationParameters = new List<QueueApplicationParameter>()
|
||||
{
|
||||
new QueueApplicationParameter()
|
||||
{
|
||||
QueueNumber = 1234,
|
||||
ApplicationNumber = 1,
|
||||
ParameterCode = "TestingCode",
|
||||
ParameterValue = "TestingParameterValue"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var result = _reportService.DeteriminApplicationMapping(applicationMappings, applicationHistory);
|
||||
|
||||
Assert.NotNull(result);
|
||||
Assert.AreEqual(testApplicationMapping1, result);
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public void DeteriminApplicationMapping_Return_testApplicationMapping1_MatchBothParameters()
|
||||
{
|
||||
var testApplicationMapping1 = new ApplicationMapping()
|
||||
{
|
||||
Identifier = "1",
|
||||
DesignatedName = "Test_NEW",
|
||||
ParameterMappings = new List<ParameterMapping>()
|
||||
{
|
||||
new ParameterMapping()
|
||||
{
|
||||
ParameterCode = "TestingCode",
|
||||
ParameterValue = "TestingParameterValue"
|
||||
},
|
||||
new ParameterMapping()
|
||||
{
|
||||
ParameterCode = "TestingCode2",
|
||||
ParameterValue = "TestingParameterValue2"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var testApplicationMapping2 = new ApplicationMapping()
|
||||
{
|
||||
Identifier = "1",
|
||||
DesignatedName = "Test_NEW",
|
||||
ParameterMappings = new List<ParameterMapping>()
|
||||
{
|
||||
new ParameterMapping()
|
||||
{
|
||||
ParameterCode = "TestingCode2",
|
||||
ParameterValue = "TestingParameterValue2"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
List<ApplicationMapping> applicationMappings = new List<ApplicationMapping>()
|
||||
{
|
||||
testApplicationMapping1,
|
||||
testApplicationMapping2
|
||||
};
|
||||
|
||||
ApplicationHistory applicationHistory = new ApplicationHistory()
|
||||
{
|
||||
ApplicationName = "Test",
|
||||
ApplicationNumber = 1,
|
||||
QueueNumber = 1234,
|
||||
StopDateTime = Convert.ToDateTime("1/1/2021"),
|
||||
QueueApplicationParameters = new List<QueueApplicationParameter>()
|
||||
{
|
||||
new QueueApplicationParameter()
|
||||
{
|
||||
QueueNumber = 1234,
|
||||
ApplicationNumber = 1,
|
||||
ParameterCode = "TestingCode",
|
||||
ParameterValue = "TestingParameterValue"
|
||||
},
|
||||
new QueueApplicationParameter()
|
||||
{
|
||||
QueueNumber = 1234,
|
||||
ApplicationNumber = 1,
|
||||
ParameterCode = "TestingCode2",
|
||||
ParameterValue = "TestingParameterValue2"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var result = _reportService.DeteriminApplicationMapping(applicationMappings, applicationHistory);
|
||||
|
||||
Assert.NotNull(result);
|
||||
Assert.AreEqual(testApplicationMapping1, result);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DeteriminApplicationMapping_Return_Null_ParameterCodeNoMatch()
|
||||
{
|
||||
var testApplicationMapping1 = new ApplicationMapping()
|
||||
{
|
||||
Identifier = "1",
|
||||
DesignatedName = "Test_NEW",
|
||||
ParameterMappings = new List<ParameterMapping>()
|
||||
{
|
||||
new ParameterMapping()
|
||||
{
|
||||
ParameterCode = "TestingCode",
|
||||
ParameterValue = "TestingParameterValue"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var testApplicationMapping2 = new ApplicationMapping()
|
||||
{
|
||||
Identifier = "1",
|
||||
DesignatedName = "Test_NEW",
|
||||
ParameterMappings = new List<ParameterMapping>()
|
||||
{
|
||||
new ParameterMapping()
|
||||
{
|
||||
ParameterCode = "TestingCode2",
|
||||
ParameterValue = "TestingParameterValue2"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
List<ApplicationMapping> applicationMappings = new List<ApplicationMapping>()
|
||||
{
|
||||
testApplicationMapping1,
|
||||
testApplicationMapping2
|
||||
};
|
||||
|
||||
ApplicationHistory applicationHistory = new ApplicationHistory()
|
||||
{
|
||||
ApplicationName = "Test",
|
||||
ApplicationNumber = 1,
|
||||
QueueNumber = 1234,
|
||||
StopDateTime = Convert.ToDateTime("1/1/2021"),
|
||||
QueueApplicationParameters = new List<QueueApplicationParameter>()
|
||||
{
|
||||
new QueueApplicationParameter()
|
||||
{
|
||||
QueueNumber = 1234,
|
||||
ApplicationNumber = 1,
|
||||
ParameterCode = "TestingCode_NOPE",
|
||||
ParameterValue = "TestingParameterValue"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var result = _reportService.DeteriminApplicationMapping(applicationMappings, applicationHistory);
|
||||
|
||||
Assert.Null(result);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DeteriminApplicationMapping_Return_Null_ParameterValueNoMatch()
|
||||
{
|
||||
var testApplicationMapping1 = new ApplicationMapping()
|
||||
{
|
||||
Identifier = "1",
|
||||
DesignatedName = "Test_NEW",
|
||||
ParameterMappings = new List<ParameterMapping>()
|
||||
{
|
||||
new ParameterMapping()
|
||||
{
|
||||
ParameterCode = "TestingCode",
|
||||
ParameterValue = "TestingParameterValue"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var testApplicationMapping2 = new ApplicationMapping()
|
||||
{
|
||||
Identifier = "1",
|
||||
DesignatedName = "Test_NEW",
|
||||
ParameterMappings = new List<ParameterMapping>()
|
||||
{
|
||||
new ParameterMapping()
|
||||
{
|
||||
ParameterCode = "TestingCode2",
|
||||
ParameterValue = "TestingParameterValue2"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
List<ApplicationMapping> applicationMappings = new List<ApplicationMapping>()
|
||||
{
|
||||
testApplicationMapping1,
|
||||
testApplicationMapping2
|
||||
};
|
||||
|
||||
ApplicationHistory applicationHistory = new ApplicationHistory()
|
||||
{
|
||||
ApplicationName = "Test",
|
||||
ApplicationNumber = 1,
|
||||
QueueNumber = 1234,
|
||||
StopDateTime = Convert.ToDateTime("1/1/2021"),
|
||||
QueueApplicationParameters = new List<QueueApplicationParameter>()
|
||||
{
|
||||
new QueueApplicationParameter()
|
||||
{
|
||||
QueueNumber = 1234,
|
||||
ApplicationNumber = 1,
|
||||
ParameterCode = "TestingCode",
|
||||
ParameterValue = "TestingParameterValue_NOPE"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var result = _reportService.DeteriminApplicationMapping(applicationMappings, applicationHistory);
|
||||
|
||||
Assert.Null(result);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DeteriminApplicationMapping_Return_Null_DoesNotMatchBothParameters()
|
||||
{
|
||||
var testApplicationMapping1 = new ApplicationMapping()
|
||||
{
|
||||
Identifier = "1",
|
||||
DesignatedName = "Test_NEW",
|
||||
ParameterMappings = new List<ParameterMapping>()
|
||||
{
|
||||
new ParameterMapping()
|
||||
{
|
||||
ParameterCode = "TestingCode",
|
||||
ParameterValue = "TestingParameterValue"
|
||||
},
|
||||
new ParameterMapping()
|
||||
{
|
||||
ParameterCode = "TestingCode2",
|
||||
ParameterValue = "TestingParameterValue2"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var testApplicationMapping2 = new ApplicationMapping()
|
||||
{
|
||||
Identifier = "1",
|
||||
DesignatedName = "Test_NEW",
|
||||
ParameterMappings = new List<ParameterMapping>()
|
||||
{
|
||||
new ParameterMapping()
|
||||
{
|
||||
ParameterCode = "TestingCode2",
|
||||
ParameterValue = "TestingParameterValue2"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
List<ApplicationMapping> applicationMappings = new List<ApplicationMapping>()
|
||||
{
|
||||
testApplicationMapping1,
|
||||
testApplicationMapping2
|
||||
};
|
||||
|
||||
ApplicationHistory applicationHistory = new ApplicationHistory()
|
||||
{
|
||||
ApplicationName = "Test",
|
||||
ApplicationNumber = 1,
|
||||
QueueNumber = 1234,
|
||||
StopDateTime = Convert.ToDateTime("1/1/2021"),
|
||||
QueueApplicationParameters = new List<QueueApplicationParameter>()
|
||||
{
|
||||
new QueueApplicationParameter()
|
||||
{
|
||||
QueueNumber = 1234,
|
||||
ApplicationNumber = 1,
|
||||
ParameterCode = "TestingCode",
|
||||
ParameterValue = "TestingParameterValue"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var result = _reportService.DeteriminApplicationMapping(applicationMappings, applicationHistory);
|
||||
|
||||
Assert.Null(result);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DeteriminApplicationMapping_Return_SingleWithParameters_CorrectApplicationMapping1()
|
||||
{
|
||||
var testApplicationMapping1 = new ApplicationMapping()
|
||||
{
|
||||
Identifier = "1",
|
||||
DesignatedName = "Test_NEW",
|
||||
ParameterMappings = new List<ParameterMapping>()
|
||||
{
|
||||
new ParameterMapping()
|
||||
{
|
||||
ParameterCode = "TestingCode",
|
||||
ParameterValue = "TestingParameterValue"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
List<ApplicationMapping> applicationMappings = new List<ApplicationMapping>()
|
||||
{
|
||||
testApplicationMapping1
|
||||
};
|
||||
|
||||
ApplicationHistory applicationHistory = new ApplicationHistory()
|
||||
{
|
||||
ApplicationName = "Test",
|
||||
ApplicationNumber = 1,
|
||||
QueueNumber = 1234,
|
||||
StopDateTime = Convert.ToDateTime("1/1/2021"),
|
||||
QueueApplicationParameters = new List<QueueApplicationParameter>()
|
||||
{
|
||||
new QueueApplicationParameter()
|
||||
{
|
||||
QueueNumber = 1234,
|
||||
ApplicationNumber = 1,
|
||||
ParameterCode = "TestingCode",
|
||||
ParameterValue = "TestingParameterValue"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var result = _reportService.DeteriminApplicationMapping(applicationMappings, applicationHistory);
|
||||
|
||||
Assert.NotNull(result);
|
||||
Assert.AreEqual(testApplicationMapping1, result);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DeteriminApplicationMapping_Return_SingleWithParameters_NoMatch_Null()
|
||||
{
|
||||
var testApplicationMapping1 = new ApplicationMapping()
|
||||
{
|
||||
Identifier = "1",
|
||||
DesignatedName = "Test_NEW",
|
||||
ParameterMappings = new List<ParameterMapping>()
|
||||
{
|
||||
new ParameterMapping()
|
||||
{
|
||||
ParameterCode = "TestingCode_NoMatch",
|
||||
ParameterValue = "TestingParameterValue"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
List<ApplicationMapping> applicationMappings = new List<ApplicationMapping>()
|
||||
{
|
||||
testApplicationMapping1
|
||||
};
|
||||
|
||||
ApplicationHistory applicationHistory = new ApplicationHistory()
|
||||
{
|
||||
ApplicationName = "Test",
|
||||
ApplicationNumber = 1,
|
||||
QueueNumber = 1234,
|
||||
StopDateTime = Convert.ToDateTime("1/1/2021"),
|
||||
QueueApplicationParameters = new List<QueueApplicationParameter>()
|
||||
{
|
||||
new QueueApplicationParameter()
|
||||
{
|
||||
QueueNumber = 1234,
|
||||
ApplicationNumber = 1,
|
||||
ParameterCode = "TestingCode",
|
||||
ParameterValue = "TestingParameterValue"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var result = _reportService.DeteriminApplicationMapping(applicationMappings, applicationHistory);
|
||||
|
||||
Assert.Null(result);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DeteriminApplicationMapping_Return_SingleWithOutParameters_CorrectApplicationMapping1()
|
||||
{
|
||||
var testApplicationMapping1 = new ApplicationMapping()
|
||||
{
|
||||
Identifier = "1",
|
||||
DesignatedName = "Test_NEW",
|
||||
ApplicationOverrideName = "Test-File"
|
||||
};
|
||||
|
||||
List<ApplicationMapping> applicationMappings = new List<ApplicationMapping>()
|
||||
{
|
||||
testApplicationMapping1
|
||||
};
|
||||
|
||||
ApplicationHistory applicationHistory = new ApplicationHistory()
|
||||
{
|
||||
ApplicationName = "Test",
|
||||
ApplicationNumber = 1,
|
||||
QueueNumber = 1234,
|
||||
StopDateTime = Convert.ToDateTime("1/1/2021"),
|
||||
QueueApplicationParameters = new List<QueueApplicationParameter>()
|
||||
{
|
||||
new QueueApplicationParameter()
|
||||
{
|
||||
QueueNumber = 1234,
|
||||
ApplicationNumber = 1,
|
||||
ParameterCode = "TestingCode",
|
||||
ParameterValue = "TestingParameterValue"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var result = _reportService.DeteriminApplicationMapping(applicationMappings, applicationHistory);
|
||||
|
||||
Assert.NotNull(result);
|
||||
Assert.AreEqual(testApplicationMapping1, result);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user