- Timestamp:
- 06/21/11 16:51:03 (13 years ago)
- Location:
- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Tests
- Files:
-
- 1 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Tests/DaoTests.cs
r6452 r6463 235 235 perm.GrantedByUserId = he.OwnerUserId; 236 236 perm.GrantedUserId = Guid.NewGuid(); 237 perm.Permission = Permission. Write;237 perm.Permission = Permission.Full; 238 238 dao.AddHiveExperimentPermission(perm); 239 239 -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Tests/HeuristicLab.Services.Hive-3.4.Tests.csproj
r6369 r6463 72 72 <ItemGroup> 73 73 <Compile Include="Mocks\MockAuthenticationManager.cs" /> 74 <Compile Include="Mocks\MockUserManager.cs" /> 74 75 <Compile Include="ServiceTests.cs" /> 75 76 <Compile Include="Mocks\MockAuthorizationManager.cs" /> … … 108 109 <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" /> 109 110 <Reference Include="System" /> 111 <Reference Include="System.Configuration" /> 110 112 <Reference Include="System.Data" /> 111 113 <Reference Include="System.Data.DataSetExtensions" /> -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Tests/Mocks/MockAuthorizationManager.cs
r6457 r6463 24 24 namespace HeuristicLab.Services.Hive.Tests.Mocks { 25 25 public class MockAuthorizationManager : IAuthorizationManager { 26 public static Guid MockUserId1 = new Guid("6C7911A1-46EA-4E51-97DF-5582653AAFCE"); 27 public static Guid MockUserId2 = new Guid("897660EB-C90F-4054-988C-D39D530A0A02"); 28 public static Guid MockUserId3 = new Guid("9F7B4EA8-A38D-4BC2-802F-E148AC7A6A87"); 29 30 private Guid userId = MockUserId1; 31 32 public Guid UserId { 33 get { return userId; } 26 public void Authorize(Guid userId) { 27 // ok. 34 28 } 35 29 36 public void Authorize Jobs(params Guid[] jobId) {37 // o .k.30 public void AuthorizeForJob(Guid jobId, Common.DataTransfer.Permission requiredPermission) { 31 // ok. 38 32 } 39 33 40 public void Authorize(Guid userId) { 41 // o.k. 42 } 43 44 internal void SetUserId(Guid id) { 45 this.userId = id; 34 public void AuthorizeForExperiment(Guid experimentId, Common.DataTransfer.Permission requiredPermission) { 35 // ok. 46 36 } 47 37 } -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Tests/Mocks/MockServiceLocator.cs
r6457 r6463 20 20 #endregion 21 21 22 using System; 22 23 using HeuristicLab.Services.Hive.DataAccess; 23 24 using HeuristicLab.Services.Hive.Tests.Mocks; 24 using System;25 25 26 26 namespace HeuristicLab.Services.Hive.Tests { … … 36 36 } 37 37 38 private MockAuthorizationManager mockAuthorizationManager = new MockAuthorizationManager();38 //private MockAuthorizationManager mockAuthorizationManager = new MockAuthorizationManager(); 39 39 public IAuthorizationManager AuthorizationManager { 40 get { return mockAuthorizationManager; }40 get { return defaultServiceLocator.AuthorizationManager; } 41 41 } 42 42 … … 51 51 get { return defaultServiceLocator.TransactionManager; } 52 52 } 53 53 private MockUserManager mockUserManager = new MockUserManager(); 54 public IUserManager UserManager { 55 get { return mockUserManager; } 56 } 54 57 public HeartbeatManager HeartbeatManager { 55 58 get { return defaultServiceLocator.HeartbeatManager; } … … 57 60 58 61 #region Special mocking methods 59 public void SetCurrentUser (Guid id) {60 mock AuthorizationManager.SetUserId(id);62 public void SetCurrentUserId(Guid userId) { 63 mockUserManager.SetUserId(userId); 61 64 } 62 63 65 #endregion 64 66 } -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Tests/ServiceTests.cs
r6457 r6463 303 303 public void TestHiveExperimentPermissions() { 304 304 var service = GetLocalService(); 305 mockServiceLocator.SetCurrentUser (MockAuthorizationManager.MockUserId1);305 mockServiceLocator.SetCurrentUserId(MockUserManager.MockUserId1); 306 306 307 307 // create hive experiment … … 311 311 var e1loaded = service.GetHiveExperiment(e1.Id); 312 312 Assert.AreEqual(Permission.Full, e1loaded.Permission); 313 313 var allExp = service.GetHiveExperiments(); 314 Assert.AreEqual(1, allExp.Count(x => x.Id == e1.Id)); 315 314 316 // change to user2 315 mockServiceLocator.SetCurrentUser(MockAuthorizationManager.MockUserId2); 316 e1loaded = service.GetHiveExperiment(e1.Id); 317 Assert.AreEqual(null, e1loaded); // no access 317 mockServiceLocator.SetCurrentUserId(MockUserManager.MockUserId2); 318 try { 319 e1loaded = service.GetHiveExperiment(e1.Id); 320 Assert.Fail("Access should not be possible"); 321 } catch { /* ok, cool */ } 322 allExp = service.GetHiveExperiments(); 323 Assert.AreEqual(0, allExp.Count(x => x.Id == e1.Id)); 318 324 319 325 // user2 should not be able to grant permissions 320 326 try { 321 service.GrantPermission(e1.Id, Mock AuthorizationManager.MockUserId2, Permission.ReadOnly);327 service.GrantPermission(e1.Id, MockUserManager.MockUserId2, Permission.Read); 322 328 Assert.Fail("Should not be possible to grant permission due to missing permission for User2"); 323 329 } … … 325 331 326 332 // switch back to user1 (owner) and grant user2 permissions 327 mockServiceLocator.SetCurrentUser (MockAuthorizationManager.MockUserId1);328 service.GrantPermission(e1.Id, Mock AuthorizationManager.MockUserId2, Permission.ReadOnly);333 mockServiceLocator.SetCurrentUserId(MockUserManager.MockUserId1); 334 service.GrantPermission(e1.Id, MockUserManager.MockUserId2, Permission.Read); 329 335 330 336 // back to user2 331 mockServiceLocator.SetCurrentUser (MockAuthorizationManager.MockUserId2);337 mockServiceLocator.SetCurrentUserId(MockUserManager.MockUserId2); 332 338 e1loaded = service.GetHiveExperiment(e1.Id); 333 Assert.AreEqual(Permission.ReadOnly, e1loaded.Permission); 339 Assert.AreEqual(Permission.Read, e1loaded.Permission); 340 allExp = service.GetHiveExperiments(); 341 Assert.AreEqual(1, allExp.Count(x => x.Id == e1.Id)); 334 342 335 343 // user2 should still not be able to grant permissions 336 344 try { 337 service.GrantPermission(e1.Id, Mock AuthorizationManager.MockUserId2, Permission.ReadOnly);345 service.GrantPermission(e1.Id, MockUserManager.MockUserId2, Permission.Read); 338 346 Assert.Fail("Should not be possible to grant permission due to missing permission for User2"); 339 347 } … … 341 349 342 350 // back to user1 343 mockServiceLocator.SetCurrentUser (MockAuthorizationManager.MockUserId1);344 service.GrantPermission(e1.Id, Mock AuthorizationManager.MockUserId2, Permission.Full);351 mockServiceLocator.SetCurrentUserId(MockUserManager.MockUserId1); 352 service.GrantPermission(e1.Id, MockUserManager.MockUserId2, Permission.Full); 345 353 346 354 // back to user2 347 mockServiceLocator.SetCurrentUser (MockAuthorizationManager.MockUserId2);355 mockServiceLocator.SetCurrentUserId(MockUserManager.MockUserId2); 348 356 e1loaded = service.GetHiveExperiment(e1.Id); 349 357 Assert.AreEqual(Permission.Full, e1loaded.Permission); 350 358 allExp = service.GetHiveExperiments(); 359 Assert.AreEqual(1, allExp.Count(x => x.Id == e1.Id)); 360 351 361 // grant rights to user3, now this should be possible due to full permissions 352 service.GrantPermission(e1.Id, Mock AuthorizationManager.MockUserId3, Permission.ReadOnly);362 service.GrantPermission(e1.Id, MockUserManager.MockUserId3, Permission.Read); 353 363 354 364 // back to user1 and revoke rights for user2 355 mockServiceLocator.SetCurrentUser (MockAuthorizationManager.MockUserId1);356 service.RevokePermission(e1.Id, Mock AuthorizationManager.MockUserId2);365 mockServiceLocator.SetCurrentUserId(MockUserManager.MockUserId1); 366 service.RevokePermission(e1.Id, MockUserManager.MockUserId2); 357 367 358 368 // back to user2 359 mockServiceLocator.SetCurrentUser(MockAuthorizationManager.MockUserId2); 360 e1loaded = service.GetHiveExperiment(e1.Id); 361 Assert.AreEqual(null, e1loaded); // no access 362 369 mockServiceLocator.SetCurrentUserId(MockUserManager.MockUserId2); 370 try { 371 e1loaded = service.GetHiveExperiment(e1.Id); 372 Assert.Fail("Access should not be possible"); 373 } 374 catch { /* ok, cool */ } 375 allExp = service.GetHiveExperiments(); 376 Assert.AreEqual(0, allExp.Count(x => x.Id == e1.Id)); 377 378 // back to user1 379 mockServiceLocator.SetCurrentUserId(MockUserManager.MockUserId1); 363 380 service.DeleteHiveExperiment(e1.Id); 364 381 }
Note: See TracChangeset
for help on using the changeset viewer.