protected void GetWorkingSignals()
{
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);
SignalsRecord signals = this.Repository.GetWorkingSignals(workerRecord.Id.Value, null, null);
Assert.IsNotNull(signals);
Assert.IsFalse(string.IsNullOrEmpty(signals.QueueNames));
Assert.AreEqual(WorkingSignal.None, signals.WorkingSignal);
WorkingRecord workingRecord = new WorkingRecord()
{
ApplicationName = workerRecord.ApplicationName,
Data = JsonConvert.SerializeObject(job),
JobName = job.Name,
JobType = job.GetType().FullName + ", " + job.GetType().Assembly.GetName().Name,
QueueName = "*",
QueuedOn = DateTime.UtcNow,
Signal = WorkingSignal.Cancel,
StartedOn = DateTime.UtcNow,
TryNumber = 1,
WorkerId = workerRecord.Id.Value
};
this.Repository.CreateWorking(workingRecord, null);
signals = this.Repository.GetWorkingSignals(workerRecord.Id.Value, workingRecord.Id.Value, null);
Assert.IsNotNull(signals);
Assert.AreEqual(WorkingSignal.Cancel, signals.WorkingSignal);
}
}