protected void GetHistoryDetails()
{
if (this.Repository != null)
{
IJob job = new TestJob() { Id = Guid.NewGuid() };
WorkerRecord workerRecord = new WorkerRecord()
{
ApplicationName = BlueCollarSection.Section.ApplicationName,
MachineAddress = Machine.Address,
MachineName = Machine.Name,
Name = "Test Worker",
QueueNames = "*",
Signal = WorkerSignal.Stop,
Status = WorkerStatus.Working,
Startup = WorkerStartupType.Automatic,
UpdatedOn = DateTime.UtcNow
};
this.Repository.CreateWorker(workerRecord, null);
HistoryRecord historyRecord = new HistoryRecord()
{
ApplicationName = workerRecord.ApplicationName,
Data = JobSerializer.Serialize(job),
Exception = new ExceptionXElement(new Exception()).ToString(),
FinishedOn = DateTime.UtcNow,
JobName = job.Name,
JobType = JobSerializer.GetTypeName(job.GetType()),
QueuedOn = DateTime.UtcNow,
StartedOn = DateTime.UtcNow,
Status = HistoryStatus.Succeeded,
TryNumber = 1,
WorkerId = workerRecord.Id.Value
};
this.Repository.CreateHistory(historyRecord, null);
HistoryDetailsRecord historyDetailsRecord = this.Repository.GetHistoryDetails(historyRecord.Id.Value, null);
Assert.IsNotNull(historyDetailsRecord);
Assert.AreEqual(historyDetailsRecord.Id, historyRecord.Id);
Assert.IsFalse(string.IsNullOrEmpty(historyDetailsRecord.Data));
Assert.IsFalse(string.IsNullOrEmpty(historyDetailsRecord.Exception));
Assert.IsFalse(string.IsNullOrEmpty(historyDetailsRecord.WorkerMachineAddress) && string.IsNullOrEmpty(historyDetailsRecord.WorkerMachineName));
Assert.IsFalse(string.IsNullOrEmpty(historyDetailsRecord.WorkerName));
}
}