597 lines
21 KiB
C#
597 lines
21 KiB
C#
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);
|
|
}
|
|
} |