Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
09/08/11 10:38:36 (13 years ago)
Author:
ascheibe
Message:

#1233

  • moved DTO's to Services.Hive project
  • removed Services.Hive.Common project
  • some cleanups
  • added DTO's for enums
Location:
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Tests
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Tests/DaoTests.cs

    r6463 r6717  
    2424using System.Linq;
    2525using System.Threading;
    26 using HeuristicLab.Services.Hive.Common.DataTransfer;
    27 using HeuristicLab.Services.Hive.Common.ServiceContracts;
    28 using HeuristicLab.Services.Hive.DataAccess;
    2926using Microsoft.VisualStudio.TestTools.UnitTesting;
    30 using DT = HeuristicLab.Services.Hive.Common.DataTransfer;
     27using DT = HeuristicLab.Services.Hive.DataTransfer;
    3128
    3229namespace HeuristicLab.Services.Hive.Tests {
     
    3936    }
    4037
    41     private IHiveService GetLocalService() {
    42       return new HiveService();
     38    private HeuristicLab.Services.Hive.ServiceContracts.IHiveService GetLocalService() {
     39      return new HeuristicLab.Services.Hive.HiveService();
    4340    }
    4441
     
    5552
    5653      DT.Job job1 = new DT.Job();
    57       job1.State = JobState.Offline;
    58       job1.StateLog.Add(new DT.StateLog { State = JobState.Offline, DateTime = DateTime.Now });
    59       job1.Command = Command.Pause;
     54      job1.State = DT.JobState.Offline;
     55      job1.StateLog.Add(new DT.StateLog { State = DT.JobState.Offline, DateTime = DateTime.Now });
     56      job1.Command = DT.Command.Pause;
    6057      job1.HiveExperimentId = he.Id;
    6158      job1.IsPrivileged = true;
     
    110107
    111108      // test jobstates
    112       job1.StateLog.Add(new DT.StateLog { State = JobState.Transferring, DateTime = DateTime.Now }); Thread.Sleep(10);
    113       job1.StateLog.Add(new DT.StateLog { State = JobState.Calculating, DateTime = DateTime.Now }); Thread.Sleep(10);
    114       job1.StateLog.Add(new DT.StateLog { State = JobState.Transferring, DateTime = DateTime.Now }); Thread.Sleep(10);
    115       job1.StateLog.Add(new DT.StateLog { State = JobState.Finished, DateTime = DateTime.Now }); Thread.Sleep(10);
     109      job1.StateLog.Add(new DT.StateLog { State = DT.JobState.Transferring, DateTime = DateTime.Now }); Thread.Sleep(10);
     110      job1.StateLog.Add(new DT.StateLog { State = DT.JobState.Calculating, DateTime = DateTime.Now }); Thread.Sleep(10);
     111      job1.StateLog.Add(new DT.StateLog { State = DT.JobState.Transferring, DateTime = DateTime.Now }); Thread.Sleep(10);
     112      job1.StateLog.Add(new DT.StateLog { State = DT.JobState.Finished, DateTime = DateTime.Now }); Thread.Sleep(10);
    116113      dao.UpdateJob(job1);
    117114
     
    226223
    227224      DT.Job job = new DT.Job();
    228       job.State = JobState.Offline;
    229       job.StateLog.Add(new DT.StateLog { State = JobState.Offline, DateTime = DateTime.Now });
     225      job.State = DT.JobState.Offline;
     226      job.StateLog.Add(new DT.StateLog { State = DT.JobState.Offline, DateTime = DateTime.Now });
    230227      job.HiveExperimentId = he.Id;
    231228      job.Id = dao.AddJob(job);
     
    235232      perm.GrantedByUserId = he.OwnerUserId;
    236233      perm.GrantedUserId = Guid.NewGuid();
    237       perm.Permission = Permission.Full;
     234      perm.Permission = DT.Permission.Full;
    238235      dao.AddHiveExperimentPermission(perm);
    239236
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Tests/HeuristicLab.Services.Hive.Tests-3.3.csproj

    r6701 r6717  
    114114    <Reference Include="System.Data.Linq" />
    115115    <Reference Include="System.Drawing" />
     116    <Reference Include="System.Runtime.Serialization" />
    116117    <Reference Include="System.ServiceModel" />
    117118    <Reference Include="System.Transactions" />
     
    135136      <Name>HeuristicLab.Hive-3.3</Name>
    136137    </ProjectReference>
    137     <ProjectReference Include="..\HeuristicLab.Services.Hive.Common\3.3\HeuristicLab.Services.Hive.Common-3.3.csproj">
    138       <Project>{14424A16-48D4-445E-80BF-DDF617548BBB}</Project>
    139       <Name>HeuristicLab.Services.Hive.Common-3.3</Name>
    140     </ProjectReference>
    141138    <ProjectReference Include="..\HeuristicLab.Services.Hive.DataAccess\3.3\HeuristicLab.Services.Hive.DataAccess-3.3.csproj">
    142139      <Project>{EC2C8109-6E1E-4C88-9A2B-908CFF2EF4AC}</Project>
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Tests/Mocks/MockAuthorizationManager.cs

    r6463 r6717  
    2828    }
    2929
    30     public void AuthorizeForJob(Guid jobId, Common.DataTransfer.Permission requiredPermission) {
     30    public void AuthorizeForJob(Guid jobId, DataTransfer.Permission requiredPermission) {
    3131      // ok.
    3232    }
    3333
    34     public void AuthorizeForExperiment(Guid experimentId, Common.DataTransfer.Permission requiredPermission) {
     34    public void AuthorizeForExperiment(Guid experimentId, DataTransfer.Permission requiredPermission) {
    3535      // ok.
    3636    }
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Tests/ServiceTests.cs

    r6698 r6717  
    2323using System.Collections.Generic;
    2424using System.Linq;
    25 using HeuristicLab.Services.Hive.Common;
    26 using HeuristicLab.Services.Hive.Common.DataTransfer;
    27 using HeuristicLab.Services.Hive.Common.ServiceContracts;
     25using HeuristicLab.Clients.Hive;
    2826using HeuristicLab.Services.Hive.Tests.Mocks;
    2927using Microsoft.VisualStudio.TestTools.UnitTesting;
    30 using DT = HeuristicLab.Services.Hive.Common.DataTransfer;
     28using DT = HeuristicLab.Services.Hive.DataTransfer;
    3129
    3230namespace HeuristicLab.Services.Hive.Tests {
     
    4240    }
    4341
    44     private IHiveService GetLocalService() {
    45       return new HiveService();
     42    private HeuristicLab.Services.Hive.ServiceContracts.IHiveService GetLocalService() {
     43      return new HeuristicLab.Services.Hive.HiveService();
    4644    }
    4745
     
    5553      // create job
    5654      DT.Job job = new DT.Job() { CoresNeeded = 1, MemoryNeeded = 0, Priority = 0 };
    57       job.State = JobState.Offline;
    58       job.StateLog.Add(new StateLog { State = JobState.Offline, DateTime = DateTime.Now });
     55      job.State = DT.JobState.Offline;
     56      job.StateLog.Add(new DT.StateLog { State = DT.JobState.Offline, DateTime = DateTime.Now });
    5957
    6058      DT.JobData jobData = new DT.JobData() {
     
    8078      pluginData1.Data = new byte[] { 0, 1, 2, 3, 4, 5 };
    8179
    82       plugin1.Id = service.AddPlugin(plugin1, new List<PluginData> { pluginData1 });
     80      plugin1.Id = service.AddPlugin(plugin1, new List<DT.PluginData> { pluginData1 });
    8381      pluginData1.PluginId = plugin1.Id;
    8482
     
    8785
    8886      // create slave
    89       DT.Slave slave = new Slave();
     87      DT.Slave slave = new DT.Slave();
    9088      slave.Id = Guid.NewGuid();
    9189      slave.Name = "TestSlave";
     
    9492      slave.CpuSpeed = 2800;
    9593      slave.OperatingSystem = "Windows 3.11";
    96       slave.CpuArchitecture = CpuArchitecture.x64;
     94      slave.CpuArchitecture = DT.CpuArchitecture.x64;
    9795
    9896      // add slave
     
    112110      Assert.AreEqual(job.MemoryNeeded, jobLoaded.MemoryNeeded);
    113111      Assert.AreEqual(job.Priority, jobLoaded.Priority);
    114       Assert.AreEqual(JobState.Waiting, jobLoaded.State);
     112      Assert.AreEqual(DT.JobState.Waiting, jobLoaded.State);
    115113      Assert.IsTrue(job.PluginsNeededIds.SequenceEqual(jobLoaded.PluginsNeededIds));
    116114      Assert.AreEqual(job.HiveExperimentId, jobLoaded.HiveExperimentId);
     
    127125
    128126      // test assigned ressources
    129       var actions = service.Heartbeat(new Heartbeat() { SlaveId = slave.Id, AssignJob = true, FreeCores = 4, FreeMemory = 1024, JobProgress = new Dictionary<Guid, TimeSpan>() });
     127      var actions = service.Heartbeat(new DT.Heartbeat() { SlaveId = slave.Id, AssignJob = true, FreeCores = 4, FreeMemory = 1024, JobProgress = new Dictionary<Guid, TimeSpan>() });
    130128      Assert.AreEqual(1, actions.Count);
    131129      Assert.AreEqual(MessageContainer.MessageType.CalculateJob, actions[0].Message);
     
    136134
    137135      // slave is responsible for updating state to 'Calculating'
    138       service.UpdateJobState(jobLoaded.Id, JobState.Calculating, slave.Id, null, null);
     136      service.UpdateJobState(jobLoaded.Id, DT.JobState.Calculating, slave.Id, null, null);
    139137
    140138      // send progress
    141139      var progress = new Dictionary<Guid, TimeSpan>();
    142140      progress.Add(job.Id, new TimeSpan(1, 5, 10, 20, 30));
    143       actions = service.Heartbeat(new Heartbeat() { SlaveId = slave.Id, AssignJob = true, FreeCores = 3, FreeMemory = 1024, JobProgress = progress });
     141      actions = service.Heartbeat(new DT.Heartbeat() { SlaveId = slave.Id, AssignJob = true, FreeCores = 3, FreeMemory = 1024, JobProgress = progress });
    144142      Assert.AreEqual(0, actions.Count);
    145143
     
    155153
    156154      // set it to finished
    157       service.UpdateJobState(jobLoaded.Id, JobState.Finished, slave.Id, null, null);
     155      service.UpdateJobState(jobLoaded.Id, DT.JobState.Finished, slave.Id, null, null);
    158156
    159157      // test if the job is returned for the resource (it should not be)
     
    162160
    163161      // set job waiting again
    164       service.UpdateJobState(job.Id, JobState.Waiting, null, null, string.Empty);
     162      service.UpdateJobState(job.Id, DT.JobState.Waiting, null, null, string.Empty);
    165163
    166164      // get job again
    167       actions = service.Heartbeat(new Heartbeat() { SlaveId = slave.Id, AssignJob = true, FreeCores = 4, FreeMemory = 1024, JobProgress = new Dictionary<Guid, TimeSpan>() });
     165      actions = service.Heartbeat(new DT.Heartbeat() { SlaveId = slave.Id, AssignJob = true, FreeCores = 4, FreeMemory = 1024, JobProgress = new Dictionary<Guid, TimeSpan>() });
    168166      Assert.AreEqual(1, actions.Count);
    169167      Assert.AreEqual(MessageContainer.MessageType.CalculateJob, actions[0].Message);
     
    171169
    172170      // create downtime which should make slave unavailable for calculation
    173       Guid downtimeId = service.AddDowntime(new Downtime { ResourceId = slave.Id, StartDate = DateTime.Now - TimeSpan.FromMinutes(1), EndDate = DateTime.Now + TimeSpan.FromMinutes(1), Recurring = false });
     171      Guid downtimeId = service.AddDowntime(new DT.Downtime { ResourceId = slave.Id, StartDate = DateTime.Now - TimeSpan.FromMinutes(1), EndDate = DateTime.Now + TimeSpan.FromMinutes(1), Recurring = false });
    174172
    175173      progress.Clear();
    176174      progress.Add(job.Id, new TimeSpan(1, 5, 10, 20, 30));
    177       actions = service.Heartbeat(new Heartbeat() { SlaveId = slave.Id, AssignJob = true, FreeCores = 4, FreeMemory = 1024, JobProgress = new Dictionary<Guid, TimeSpan>() });
     175      actions = service.Heartbeat(new DT.Heartbeat() { SlaveId = slave.Id, AssignJob = true, FreeCores = 4, FreeMemory = 1024, JobProgress = new Dictionary<Guid, TimeSpan>() });
    178176      Assert.AreEqual(1, actions.Count);
    179177      Assert.AreEqual(MessageContainer.MessageType.PauseAll, actions[0].Message);
     
    189187
    190188      // send another heartbeat with the deleted job; the server should command the abortion of the job
    191       actions = service.Heartbeat(new Heartbeat() { SlaveId = slave.Id, AssignJob = true, FreeCores = 3, FreeMemory = 1024, JobProgress = progress });
     189      actions = service.Heartbeat(new DT.Heartbeat() { SlaveId = slave.Id, AssignJob = true, FreeCores = 3, FreeMemory = 1024, JobProgress = progress });
    192190      Assert.AreEqual(1, actions.Count);
    193191      Assert.AreEqual(MessageContainer.MessageType.AbortJob, actions[0].Message);
     
    213211        FinishWhenChildJobsFinished = true
    214212      };
    215       parentJob.State = JobState.Offline;
    216       parentJob.StateLog.Add(new StateLog { State = JobState.Offline, DateTime = DateTime.Now });
     213      parentJob.State = DT.JobState.Offline;
     214      parentJob.StateLog.Add(new DT.StateLog { State = DT.JobState.Offline, DateTime = DateTime.Now });
    217215
    218216      DT.JobData parentJobData = new DT.JobData() { Data = new byte[0] };
     
    224222        Priority = 0
    225223      };
    226       childJob.State = JobState.Offline;
    227       childJob.StateLog.Add(new StateLog { State = JobState.Offline, DateTime = DateTime.Now });
     224      childJob.State = DT.JobState.Offline;
     225      childJob.StateLog.Add(new DT.StateLog { State = DT.JobState.Offline, DateTime = DateTime.Now });
    228226
    229227      DT.JobData childJobData = new DT.JobData() { Data = new byte[1000] };
    230228
    231229      // create slave
    232       DT.Slave slave = new Slave();
     230      DT.Slave slave = new DT.Slave();
    233231      slave.Id = Guid.NewGuid();
    234232      slave.Name = "TestSlave";
     
    237235      slave.CpuSpeed = 2800;
    238236      slave.OperatingSystem = "Windows 3.11";
    239       slave.CpuArchitecture = CpuArchitecture.x64;
     237      slave.CpuArchitecture = DT.CpuArchitecture.x64;
    240238
    241239      // add slave
     
    258256      Assert.AreEqual(childJob.ParentJobId, childJobLoaded.ParentJobId);
    259257      Assert.AreEqual(childJob.HiveExperimentId, childJobLoaded.HiveExperimentId);
    260       Assert.AreEqual(JobState.Waiting, childJobLoaded.State);
     258      Assert.AreEqual(DT.JobState.Waiting, childJobLoaded.State);
    261259      Assert.AreEqual(false, childJobLoaded.FinishWhenChildJobsFinished);
    262260      Assert.AreEqual(false, childJobLoaded.IsParentJob);
     
    270268
    271269      // test heartbeat
    272       var actions = service.Heartbeat(new Heartbeat() { SlaveId = slave.Id, AssignJob = true, FreeCores = 4, FreeMemory = 1024, JobProgress = new Dictionary<Guid, TimeSpan>() });
     270      var actions = service.Heartbeat(new DT.Heartbeat() { SlaveId = slave.Id, AssignJob = true, FreeCores = 4, FreeMemory = 1024, JobProgress = new Dictionary<Guid, TimeSpan>() });
    273271      Assert.AreEqual(1, actions.Count); // only the child job should be assigned
    274272      Assert.AreEqual(MessageContainer.MessageType.CalculateJob, actions[0].Message);
     
    282280
    283281      // set child job to finished
    284       childJobLoaded = service.UpdateJobState(childJobLoaded.Id, JobState.Finished, slave.Id, null, null);
     282      childJobLoaded = service.UpdateJobState(childJobLoaded.Id, DT.JobState.Finished, slave.Id, null, null);
    285283
    286284      // lifecycle - let it process one server-heartbeat; this should set the parent job to finished
     
    308306      DT.HiveExperiment e1 = new DT.HiveExperiment() { Name = "TestExperiment", Description = "" };
    309307      e1.Id = service.AddHiveExperiment(e1);
    310      
     308
    311309      var e1loaded = service.GetHiveExperiment(e1.Id);
    312310      Assert.AreEqual(Permission.Full, e1loaded.Permission);
    313311      var allExp = service.GetHiveExperiments();
    314312      Assert.AreEqual(1, allExp.Count(x => x.Id == e1.Id));
    315      
     313
    316314      // change to user2
    317315      mockServiceLocator.SetCurrentUserId(MockUserManager.MockUserId2);
     
    319317        e1loaded = service.GetHiveExperiment(e1.Id);
    320318        Assert.Fail("Access should not be possible");
    321       } catch { /* ok, cool */ }
     319      }
     320      catch { /* ok, cool */ }
    322321      allExp = service.GetHiveExperiments();
    323322      Assert.AreEqual(0, allExp.Count(x => x.Id == e1.Id));
     
    325324      // user2 should not be able to grant permissions
    326325      try {
    327         service.GrantPermission(e1.Id, MockUserManager.MockUserId2, Permission.Read);
     326        service.GrantPermission(e1.Id, MockUserManager.MockUserId2, DT.Permission.Read);
    328327        Assert.Fail("Should not be possible to grant permission due to missing permission for User2");
    329328      }
     
    332331      // switch back to user1 (owner) and grant user2 permissions
    333332      mockServiceLocator.SetCurrentUserId(MockUserManager.MockUserId1);
    334       service.GrantPermission(e1.Id, MockUserManager.MockUserId2, Permission.Read);
     333      service.GrantPermission(e1.Id, MockUserManager.MockUserId2, DT.Permission.Read);
    335334
    336335      // back to user2
     
    343342      // user2 should still not be able to grant permissions
    344343      try {
    345         service.GrantPermission(e1.Id, MockUserManager.MockUserId2, Permission.Read);
     344        service.GrantPermission(e1.Id, MockUserManager.MockUserId2, DT.Permission.Read);
    346345        Assert.Fail("Should not be possible to grant permission due to missing permission for User2");
    347346      }
     
    350349      // back to user1
    351350      mockServiceLocator.SetCurrentUserId(MockUserManager.MockUserId1);
    352       service.GrantPermission(e1.Id, MockUserManager.MockUserId2, Permission.Full);
     351      service.GrantPermission(e1.Id, MockUserManager.MockUserId2, DT.Permission.Full);
    353352
    354353      // back to user2
     
    358357      allExp = service.GetHiveExperiments();
    359358      Assert.AreEqual(1, allExp.Count(x => x.Id == e1.Id));
    360      
     359
    361360      // grant rights to user3, now this should be possible due to full permissions
    362       service.GrantPermission(e1.Id, MockUserManager.MockUserId3, Permission.Read);
     361      service.GrantPermission(e1.Id, MockUserManager.MockUserId3, DT.Permission.Read);
    363362
    364363      // back to user1 and revoke rights for user2
Note: See TracChangeset for help on using the changeset viewer.