public void AddGroupTest() { var op = OperationProcessor.Instance; var groupExpectation = new AutoResetEvent(false); var firstOperationExpectation = new AutoResetEvent(false); var secondOperationExpectation = new AutoResetEvent(false); OperationGroup group = new OperationGroup(); group.AddOperation(typeof(FirstOperation), null, (Parameters result) => { if (result.ContainsKey("1")) { firstOperationExpectation.Set(); } }, null); group.AddOperation(typeof(SecondOperation), null, (Parameters result) => { if (result.ContainsKey("2")) { secondOperationExpectation.Set(); } }, null); op.PerformGroup(group, null, (Parameters results) => { if (results.ContainsKey("1") && results.ContainsKey("2")) { groupExpectation.Set(); } }); Assert.True(firstOperationExpectation.WaitOne(TimeSpan.FromSeconds(10))); Assert.True(secondOperationExpectation.WaitOne(TimeSpan.FromSeconds(10))); Assert.True(groupExpectation.WaitOne(TimeSpan.FromSeconds(10))); }
public void GroupCredentials3CheckTest() { var op = OperationProcessor.Instance; var groupExpectation = new AutoResetEvent(false); var firstOperationExpectation = new AutoResetEvent(false); var userOperationExpectation = new AutoResetEvent(false); op.PerformOperation(typeof(LoadUserOperation), null, (Parameters result) => { userOperationExpectation.Set(); }); OperationGroup group = new OperationGroup(); group.Credentials.Add("RUN_OPERATION"); group.AddOperation(typeof(FirstOperation), null, (Parameters result) => { if (result.ContainsKey("1")) { firstOperationExpectation.Set(); } }, null); op.PerformGroup(group, null, (Parameters results) => { if (results.ContainsKey("1")) { groupExpectation.Set(); } }); Assert.True(userOperationExpectation.WaitOne(TimeSpan.FromSeconds(10))); Assert.True(firstOperationExpectation.WaitOne(TimeSpan.FromSeconds(10))); Assert.True(groupExpectation.WaitOne(TimeSpan.FromSeconds(10))); }
public void GroupCredentials2CheckErrorTest() { var op = OperationProcessor.Instance; var groupExpectation = new AutoResetEvent(false); var userOperationExpectation = new AutoResetEvent(false); op.PerformOperation(typeof(LoadUserOperation), null, (Parameters result) => { userOperationExpectation.Set(); }); OperationGroup group = new OperationGroup(); group.Credentials.Add("EXCLUSIVE_RIGHTS"); group.AddOperation(typeof(FirstOperation)); op.PerformGroup(group, null, null, (Exception e) => { if (e.GetType().Equals(typeof(UnauthorizedAccessException))) { groupExpectation.Set(); } }); Assert.True(userOperationExpectation.WaitOne(TimeSpan.FromSeconds(10))); Assert.True(groupExpectation.WaitOne(TimeSpan.FromSeconds(10))); }
public void ResolveDependenciesInOperationsTest() { var op = OperationProcessor.Instance; var groupExpectation = new AutoResetEvent(false); OperationGroup group = new OperationGroup(); group.AddOperation(typeof(DependenciesOptionalOperation)); group.AddOperation(typeof(DependenciesRequiredOperation)); op.PerformGroup(group, null, (Parameters results) => { if (results.ContainsKey("Count")) { var value = results ["Count"]; if (value.Equals("2")) { groupExpectation.Set(); } } }); Assert.True(groupExpectation.WaitOne(TimeSpan.FromSeconds(10))); }
public void ResolveDependenciesInOperationsErrorTest() { var op = OperationProcessor.Instance; op.Initialize(); var groupExpectation = new AutoResetEvent(false); OperationGroup group = new OperationGroup(); group.AddOperation(typeof(DependenciesRequiredOperation)); op.PerformGroup(group, null, null, (Exception e) => { if (e != null) { groupExpectation.Set(); } }); Assert.True(groupExpectation.WaitOne(TimeSpan.FromSeconds(10))); }