Changeset 6725 for branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Tests/ServiceTests.cs
- Timestamp:
- 09/08/11 16:38:28 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Tests/ServiceTests.cs
r6723 r6725 51 51 DT.Job experiment = new DT.Job() { Name = "TestExperiment", Description = "" }; 52 52 53 // create job53 // create task 54 54 DT.Task job = new DT.Task() { CoresNeeded = 1, MemoryNeeded = 0, Priority = 0 }; 55 55 job.State = DT.TaskState.Offline; … … 100 100 experiment.Id = service.AddHiveExperiment(experiment); 101 101 102 // add job102 // add task 103 103 job.JobId = experiment.Id; 104 104 job.Id = service.AddJob(job, jobData, new List<Guid> { slave.Id }); 105 105 106 // test job106 // test task 107 107 DT.Task jobLoaded = service.GetJob(job.Id); 108 108 Assert.AreEqual(job.Id, jobLoaded.Id); … … 127 127 var actions = service.Heartbeat(new DT.Heartbeat() { SlaveId = slave.Id, AssignJob = true, FreeCores = 4, FreeMemory = 1024, JobProgress = new Dictionary<Guid, TimeSpan>() }); 128 128 Assert.AreEqual(1, actions.Count); 129 Assert.AreEqual(MessageContainer.MessageType.Calculate Job, actions[0].Message);129 Assert.AreEqual(MessageContainer.MessageType.CalculateTask, actions[0].Message); 130 130 Assert.AreEqual(job.Id, actions[0].TaskId); 131 131 … … 142 142 Assert.AreEqual(0, actions.Count); 143 143 144 // the jobshould be in state 'Calculating' now144 // the task should be in state 'Calculating' now 145 145 jobLoaded = service.GetJob(job.Id); 146 146 Assert.AreEqual(TaskState.Calculating, jobLoaded.State); 147 147 Assert.AreEqual(new TimeSpan(1, 5, 10, 20, 30), jobLoaded.ExecutionTime); 148 148 149 // test if the jobis returned for the resource149 // test if the task is returned for the resource 150 150 var jobsBySlave = service.GetJobsByResourceId(slave.Id); 151 151 Assert.AreEqual(1, jobsBySlave.Count()); … … 155 155 service.UpdateJobState(jobLoaded.Id, DT.TaskState.Finished, slave.Id, null, null); 156 156 157 // test if the jobis returned for the resource (it should not be)157 // test if the task is returned for the resource (it should not be) 158 158 var jobsBySlave2 = service.GetJobsByResourceId(slave.Id); 159 159 Assert.AreEqual(0, jobsBySlave2.Count()); 160 160 161 // set jobwaiting again161 // set task waiting again 162 162 service.UpdateJobState(job.Id, DT.TaskState.Waiting, null, null, string.Empty); 163 163 164 // get jobagain164 // get task again 165 165 actions = service.Heartbeat(new DT.Heartbeat() { SlaveId = slave.Id, AssignJob = true, FreeCores = 4, FreeMemory = 1024, JobProgress = new Dictionary<Guid, TimeSpan>() }); 166 166 Assert.AreEqual(1, actions.Count); 167 Assert.AreEqual(MessageContainer.MessageType.Calculate Job, actions[0].Message);167 Assert.AreEqual(MessageContainer.MessageType.CalculateTask, actions[0].Message); 168 168 Assert.AreEqual(job.Id, actions[0].TaskId); 169 169 … … 186 186 Assert.AreEqual(null, service.GetJobData(job.Id)); 187 187 188 // send another heartbeat with the deleted job; the server should command the abortion of the job188 // send another heartbeat with the deleted task; the server should command the abortion of the task 189 189 actions = service.Heartbeat(new DT.Heartbeat() { SlaveId = slave.Id, AssignJob = true, FreeCores = 3, FreeMemory = 1024, JobProgress = progress }); 190 190 Assert.AreEqual(1, actions.Count); 191 Assert.AreEqual(MessageContainer.MessageType.Abort Job, actions[0].Message);191 Assert.AreEqual(MessageContainer.MessageType.AbortTask, actions[0].Message); 192 192 Assert.AreEqual(job.Id, actions[0].TaskId); 193 193 … … 203 203 DT.Job experiment = new DT.Job() { Name = "TestExperiment", Description = "" }; 204 204 205 // create parent job205 // create parent task 206 206 DT.Task parentJob = new DT.Task() { 207 207 CoresNeeded = 1, 208 208 MemoryNeeded = 0, 209 209 Priority = 0, 210 IsParent Job= true,210 IsParentTask = true, 211 211 FinishWhenChildJobsFinished = true 212 212 }; … … 216 216 DT.TaskData parentJobData = new DT.TaskData() { Data = new byte[0] }; 217 217 218 // create child job218 // create child task 219 219 DT.Task childJob = new DT.Task() { 220 220 CoresNeeded = 1, … … 243 243 experiment.Id = service.AddHiveExperiment(experiment); 244 244 245 // add parent job245 // add parent task 246 246 parentJob.JobId = experiment.Id; 247 247 parentJob.Id = service.AddJob(parentJob, parentJobData, new List<Guid> { slave.Id }); 248 248 249 // add child job249 // add child task 250 250 childJob.JobId = experiment.Id; 251 251 childJob.Id = service.AddChildJob(parentJob.Id, childJob, childJobData); 252 252 childJob.ParentTaskId = parentJob.Id; 253 253 254 // test child job254 // test child task 255 255 var childJobLoaded = service.GetJob(childJob.Id); 256 256 Assert.AreEqual(childJob.ParentTaskId, childJobLoaded.ParentTaskId); … … 258 258 Assert.AreEqual(DT.TaskState.Waiting, childJobLoaded.State); 259 259 Assert.AreEqual(false, childJobLoaded.FinishWhenChildJobsFinished); 260 Assert.AreEqual(false, childJobLoaded.IsParent Job);261 262 // test parent job260 Assert.AreEqual(false, childJobLoaded.IsParentTask); 261 262 // test parent task 263 263 var parentJobLoaded = service.GetJob(parentJob.Id); 264 264 Assert.AreEqual(parentJob.JobId, parentJobLoaded.JobId); 265 265 Assert.AreEqual(TaskState.Waiting, parentJobLoaded.State); 266 266 Assert.AreEqual(true, parentJobLoaded.FinishWhenChildJobsFinished); 267 Assert.AreEqual(true, parentJobLoaded.IsParent Job);267 Assert.AreEqual(true, parentJobLoaded.IsParentTask); 268 268 269 269 // test heartbeat 270 270 var actions = service.Heartbeat(new DT.Heartbeat() { SlaveId = slave.Id, AssignJob = true, FreeCores = 4, FreeMemory = 1024, JobProgress = new Dictionary<Guid, TimeSpan>() }); 271 Assert.AreEqual(1, actions.Count); // only the child jobshould be assigned272 Assert.AreEqual(MessageContainer.MessageType.Calculate Job, actions[0].Message);271 Assert.AreEqual(1, actions.Count); // only the child task should be assigned 272 Assert.AreEqual(MessageContainer.MessageType.CalculateTask, actions[0].Message); 273 273 Assert.AreEqual(childJob.Id, actions[0].TaskId); 274 274 275 // lifecycle - let it process one server-heartbeat; the parent jobmust NOT be set to finished275 // lifecycle - let it process one server-heartbeat; the parent task must NOT be set to finished 276 276 service.TriggerEventManager(true); 277 277 … … 279 279 Assert.AreEqual(TaskState.Waiting, parentJobLoaded.State); 280 280 281 // set child jobto finished281 // set child task to finished 282 282 childJobLoaded = service.UpdateJobState(childJobLoaded.Id, DT.TaskState.Finished, slave.Id, null, null); 283 283 284 // lifecycle - let it process one server-heartbeat; this should set the parent jobto finished284 // lifecycle - let it process one server-heartbeat; this should set the parent task to finished 285 285 service.TriggerEventManager(true); 286 286 287 // test if parent jobis finished287 // test if parent task is finished 288 288 parentJobLoaded = service.GetJob(parentJob.Id); 289 289 Assert.AreEqual(TaskState.Finished, parentJobLoaded.State);
Note: See TracChangeset
for help on using the changeset viewer.