Changeset 5137 for branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave.Tests/SlaveTest.cs
- Timestamp:
- 12/20/10 19:58:01 (14 years ago)
- Location:
- branches/HeuristicLab.Hive-3.4/sources
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Hive-3.4/sources
- Property svn:ignore
-
old new 1 *.suo 1 2 HeuristicLab.Hive-3.4.suo 2 3 TestResults 3 HeuristicLab.Hive 3.4.suo
-
- Property svn:ignore
-
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave.Tests/SlaveTest.cs
r5104 r5137 1 1 using System; 2 using System.Text;3 2 using System.Collections.Generic; 4 3 using System.Linq; 4 using HeuristicLab.Clients.Common; 5 using HeuristicLab.Services.Hive.Common; 6 using HeuristicLab.Services.Hive.Common.DataTransfer; 7 using HeuristicLab.Services.Hive.Common.ServiceContracts; 5 8 using Microsoft.VisualStudio.TestTools.UnitTesting; 6 using HeuristicLab.Clients.Hive.Salve;7 using HeuristicLab.Services.Hive.Common;8 using HeuristicLab.Services.Hive.Common.ServiceContracts;9 using HeuristicLab.Clients.Common;10 9 11 10 namespace HeuristicLab.Clients.Hive.Slave.Tests { … … 16 15 [ClassInitialize] 17 16 public static void MyClassInitialize(TestContext testContext) { 18 PluginLoader.pluginAssemblies.Any(); 17 PluginLoader.pluginAssemblies.Any(); 19 18 ServiceLocator.Instance = new MockServiceLocator(); 20 19 } 21 20 22 p ublic List<List<MessageContainer>> CreateMsgs() {21 private List<List<MessageContainer>> CreateMsgsForSingleJob() { 23 22 List<List<MessageContainer>> allMsgs = new List<List<MessageContainer>>(); 24 23 //get slave to fetch job … … 28 27 29 28 //do nothing 29 msg = new List<MessageContainer>(); 30 allMsgs.Add(msg); 31 msg = new List<MessageContainer>(); 32 allMsgs.Add(msg); 33 msg = new List<MessageContainer>(); 34 allMsgs.Add(msg); 30 35 msg = new List<MessageContainer>(); 31 36 allMsgs.Add(msg); … … 38 43 39 44 [TestMethod] 40 public void TestMethod1() { 41 using (Disposable<IHiveService> service = ServiceLocator.Instance.GetService()) { 42 ((MockHiveService)service.Obj).Messages = CreateMsgs(); 45 public void TestSingleJob() { 46 Job testJob = new Job { Id = Guid.NewGuid(), JobState = JobState.Waiting, DateCreated = DateTime.Now, CoresNeeded = 1, MemoryNeeded = 0 }; 47 List<Job> jobList = new List<Job>(); 48 jobList.Add(testJob); 49 MockJob job = new MockJob(400, false); 50 51 using (Disposable<IHiveService> service = ServiceLocator.Instance.GetService()) { 52 MockHiveService ms = (MockHiveService)service.Obj; 53 ((MockHiveService)service.Obj).Messages = CreateMsgsForSingleJob(); 54 ((MockHiveService)service.Obj).updateJobs(jobList, job); 55 56 57 HeuristicLab.Clients.Hive.Salve.Core core = new Salve.Core(); 58 core.Start(); 59 60 Assert.AreEqual<int>(1, ms.ResultJobs.Count); 61 Assert.AreEqual<Guid>(testJob.Id, ms.ResultJobs[0].Id); 43 62 } 44 45 HeuristicLab.Clients.Hive.Salve.Core core = new Salve.Core();46 core.Start();47 63 } 64 65 private List<List<MessageContainer>> CreateMsgsForShutdownSlaveWhileJobRunning() { 66 List<List<MessageContainer>> allMsgs = new List<List<MessageContainer>>(); 67 //get slave to fetch job 68 List<MessageContainer> msg = new List<MessageContainer>(); 69 msg.Add(new MessageContainer(MessageContainer.MessageType.AquireJob)); 70 allMsgs.Add(msg); 71 72 msg = new List<MessageContainer>(); 73 allMsgs.Add(msg); 74 75 msg = new List<MessageContainer>(); 76 msg.Add(new MessageContainer(MessageContainer.MessageType.ShutdownSlave)); 77 allMsgs.Add(msg); 78 return allMsgs; 79 } 80 81 [TestMethod] 82 public void TestShutdownSlaveWhileJobRunning() { 83 Job testJob = new Job { Id = Guid.NewGuid(), JobState = JobState.Waiting, DateCreated = DateTime.Now, CoresNeeded = 1, MemoryNeeded = 0 }; 84 List<Job> jobList = new List<Job>(); 85 jobList.Add(testJob); 86 MockJob job = new MockJob(10000, false); 87 88 using (Disposable<IHiveService> service = ServiceLocator.Instance.GetService()) { 89 MockHiveService ms = (MockHiveService)service.Obj; 90 ((MockHiveService)service.Obj).Messages = CreateMsgsForShutdownSlaveWhileJobRunning(); 91 ((MockHiveService)service.Obj).updateJobs(jobList, job); 92 93 94 HeuristicLab.Clients.Hive.Salve.Core core = new Salve.Core(); 95 core.Start(); 96 97 } 98 } 99 100 101 private List<List<MessageContainer>> CreateMsgsForTwoJobs() { 102 List<List<MessageContainer>> allMsgs = new List<List<MessageContainer>>(); 103 104 //get slave to fetch jobs 105 List<MessageContainer> msg = new List<MessageContainer>(); 106 msg.Add(new MessageContainer(MessageContainer.MessageType.AquireJob)); 107 allMsgs.Add(msg); 108 109 msg = new List<MessageContainer>(); 110 allMsgs.Add(msg); 111 112 msg = new List<MessageContainer>(); 113 msg.Add(new MessageContainer(MessageContainer.MessageType.AquireJob)); 114 allMsgs.Add(msg); 115 116 117 msg = new List<MessageContainer>(); 118 allMsgs.Add(msg); 119 msg = new List<MessageContainer>(); 120 allMsgs.Add(msg); 121 msg = new List<MessageContainer>(); 122 allMsgs.Add(msg); 123 msg = new List<MessageContainer>(); 124 allMsgs.Add(msg); 125 msg = new List<MessageContainer>(); 126 allMsgs.Add(msg); 127 msg = new List<MessageContainer>(); 128 allMsgs.Add(msg); 129 msg = new List<MessageContainer>(); 130 allMsgs.Add(msg); 131 msg = new List<MessageContainer>(); 132 allMsgs.Add(msg); 133 msg = new List<MessageContainer>(); 134 allMsgs.Add(msg); 135 136 msg = new List<MessageContainer>(); 137 msg.Add(new MessageContainer(MessageContainer.MessageType.ShutdownSlave)); 138 allMsgs.Add(msg); 139 return allMsgs; 140 } 141 142 [TestMethod] 143 public void TestTwoJobs() { 144 Job testJob1 = new Job { Id = Guid.NewGuid(), JobState = JobState.Waiting, DateCreated = DateTime.Now, CoresNeeded = 1, MemoryNeeded = 0 }; 145 Job testJob2 = new Job { Id = Guid.NewGuid(), JobState = JobState.Waiting, DateCreated = DateTime.Now, CoresNeeded = 1, MemoryNeeded = 0 }; 146 List<Job> jobList = new List<Job>(); 147 jobList.Add(testJob1); 148 jobList.Add(testJob2); 149 MockJob job = new MockJob(2000, false); 150 151 using (Disposable<IHiveService> service = ServiceLocator.Instance.GetService()) { 152 MockHiveService ms = (MockHiveService)service.Obj; 153 ((MockHiveService)service.Obj).Messages = CreateMsgsForTwoJobs(); 154 ((MockHiveService)service.Obj).updateJobs(jobList, job); 155 156 157 HeuristicLab.Clients.Hive.Salve.Core core = new Salve.Core(); 158 core.Start(); 159 Assert.AreEqual<int>(2, ms.ResultJobs.Count); 160 161 } 162 } 163 164 165 166 167 168 169 170 171 48 172 } 49 173 }
Note: See TracChangeset
for help on using the changeset viewer.