public void SharedLock_Save_CheckedOutAnother_Unlocked_MetaOnly() { ExpectError(typeof(InvalidContentActionException), () => { var context = OperationContext.Create().Checkout("User1").SaveMetadata(42); }); }
public void SharedLock_Save_CheckedOutForMe_Unlocked_Upload() { var newContent = "Dolor sit amet..."; var context = OperationContext.Create().Checkout().UpdateFileContent(newContent); Assert.AreEqual(newContent, RepositoryTools.GetStreamString(context.LoadTestFile().Binary.GetStream())); }
public void Getting_an_unavailable_output_type_from_the_context_returns_null(IOperation op) { var sut = OperationContext.Create(op); var result = sut.GetOutput <object>(); Assert.Null(result); }
public void SharedLock_Save_CheckedOutForMe_Locked_MetaOnly() { var lockValue = "LCK_" + Guid.NewGuid(); var context = OperationContext.Create().Lock(lockValue).Checkout().SaveMetadata(42); Assert.AreEqual(42, context.LoadTestFile().Index); }
public void Input_data_is_not_provided_when_no_output_is_available(IOperation op, FakeInputOperation <object> inputOperation) { var sut = OperationContext.Create(op); sut.ProvideInputs(inputOperation); Assert.False(inputOperation.InputWasProvided); }
private void ExecuteCompensatingOperation() { BehaviorWasApplied("Executing compensating operation"); var context = OperationContext.Create(InnerOperation.GetInnermostOperation()); context.ProvideInputs(_operation); _operation.Execute(); }
public void Registering_output_handlers_calls_registration_methods_on_nested_decorated_output_operation(FakeOutputOperation <object> decoratedOperation) { var sut = OperationContext.Create(new FakeOperation()); var operation = new FakeOperationBehavior().AttachTo(new FakeOperationBehavior().AttachTo(decoratedOperation)); sut.RegisterOutputHandlers(operation); Assert.NotNull(decoratedOperation.OnReceiveOutput); }
public void Registering_output_handlers_calls_registration_methods_on_output_operation(IOperation op) { var sut = OperationContext.Create(op); var operation = new FakeOutputOperation <object>(); sut.RegisterOutputHandlers(operation); Assert.NotNull(operation.OnReceiveOutput); }
public void SharedLock_Delete_Locked_File() { var lockValue = "LCK_" + Guid.NewGuid(); ExpectError(typeof(LockedNodeException), () => { var context = OperationContext.Create().Lock(lockValue).Delete(); }); }
public void Providing_inputs_does_not_set_input_when_input_is_missing(IOperation op) { var sut = OperationContext.Create(op); var inputOperation = new TestInputOperation(); sut.ProvideInputs(inputOperation); Assert.Null(inputOperation.Input); }
public void SharedLock_Save_CheckedOutForMe_LockedSame_PutFile() { var newContent = "Dolor sit amet..."; var lockValue = "LCK_" + Guid.NewGuid(); var context = OperationContext.Create().Lock(lockValue).Checkout().WopiSave(lockValue, newContent); Assert.AreEqual(newContent, RepositoryTools.GetStreamString(context.LoadTestFile().Binary.GetStream())); }
public void SharedLock_Save_CheckedOutForMe_Locked_Upload() { var newContent = "Dolor sit amet..."; var lockValue = "LCK_" + Guid.NewGuid(); ExpectError(typeof(LockedNodeException), () => { var context = OperationContext.Create().Lock(lockValue).Checkout().UpdateFileContent(newContent); }); }
public void SharedLock_Save_CheckedOutForMe_Unlocked_PutFile() { var newContent = "Dolor sit amet..."; var lockValue = "LCK_" + Guid.NewGuid(); var context = OperationContext.Create().Checkout().WopiSave(lockValue, newContent); // expected result: file was not changed Assert.AreEqual(OperationContext.OriginalFileContent, RepositoryTools.GetStreamString(context.LoadTestFile().Binary.GetStream())); }
public void Adding_output_values_to_a_decorated_operation_updates_the_context_data(IOperation op, object output) { var sut = OperationContext.Create(op); var outputOperation = new TestOutputOperation { Output = output }; sut.AddOutput(outputOperation, op); Assert.Equal(output, sut.GetOutput <object>()); }
public void Adding_output_values_does_not_update_the_context_data_when_not_supplied(IOperation op) { var sut = OperationContext.Create(op); var outputOperation = new FakeOperationBehavior().AttachTo(new TestOutputOperation { Output = null }); sut.AddOutput(outputOperation, op); Assert.Null(sut.GetOutput <object>()); }
public void Providing_inputs_sets_input_properties_on_base_operation(IOperation op, object input) { var sut = OperationContext.Create(op); sut.AddData(input); var inputOperation = new TestInputOperationConcrete(); sut.ProvideInputs(inputOperation); Assert.Equal(input, inputOperation.Input); }
public void SharedLock_Move_Locked_File() { var lockValue = "LCK_" + Guid.NewGuid(); ExpectError(typeof(LockedNodeException), () => { var context = OperationContext.Create(); var target = context.CreateFolder(); context.Lock(lockValue).Move(target); }); }
public void Providing_inputs_to_a_decorated_operation_sets_input_properties(IOperation op, object input) { var sut = OperationContext.Create(op); sut.AddData(input); var innerOperation = new TestInputOperation(); var inputOperation = new FakeOperationBehavior().AttachTo(innerOperation); sut.ProvideInputs(inputOperation); Assert.Equal(input, innerOperation.Input); }
public void You_cannot_get_output_of_a_specialized_type_directly_from_the_context(IOperation op, string output) { var sut = OperationContext.Create(op); var outputOperation = new FakeOutputOperation <string> { OutputValue = output }; sut.RegisterOutputHandlers(outputOperation); outputOperation.Execute(); var result = sut.GetOutput <object>(allowSpecializedClasses: false); Assert.Null(result); }
public void You_can_get_output_directly_from_the_context(IOperation op, object output) { var sut = OperationContext.Create(op); var outputOperation = new FakeOutputOperation <object> { OutputValue = output }; sut.RegisterOutputHandlers(outputOperation); outputOperation.Execute(); var result = sut.GetOutput <object>(); Assert.Equal(outputOperation.OutputValue, result); }
public void You_can_get_output_of_a_specialized_type_directly_from_the_context_if_you_ask_for_it_explicitly(IOperation op, string output) { var sut = OperationContext.Create(op); var outputOperation = new FakeOutputOperation <string> { OutputValue = output }; sut.RegisterOutputHandlers(outputOperation); outputOperation.Execute(); var result = sut.GetOutput <object>(allowSpecializedClasses: true); Assert.Equal(outputOperation.OutputValue, result); }
public void Data_flows_from_output_to_input_operations(IOperation op, object output) { var sut = OperationContext.Create(op); var outputOperation = new FakeOutputOperation <object> { OutputValue = output }; var inputOperation = new FakeInputOperation <object>(); sut.RegisterOutputHandlers(outputOperation); outputOperation.Execute(); sut.ProvideInputs(inputOperation); Assert.Equal(outputOperation.OutputValue, inputOperation.ProvidedInput); }
public void Data_flows_from_output_to_nested_decorated_input_operations(IOperation op, object output, FakeInputOperation <object> inputOperation) { var sut = OperationContext.Create(op); var outputOperation = new FakeOutputOperation <object> { OutputValue = output }; var decoratedInputOperation = new FakeOperationBehavior().AttachTo(new FakeOperationBehavior().AttachTo(inputOperation)); sut.RegisterOutputHandlers(outputOperation); outputOperation.Execute(); sut.ProvideInputs(decoratedInputOperation); Assert.Equal(outputOperation.OutputValue, inputOperation.ProvidedInput); }
public void Inputs_can_be_piped_to_child_operations(object input) { var innerInputOperation = new TestInputOperation(); var inputOperation = new TestPipedInputOperation(innerInputOperation) { Input = input }; var op = new FakeOperation(inputOperation); var sut = OperationContext.Create(op); sut.AddData(input); op.Execute(); Assert.Same(input, innerInputOperation.Input); }
public void The_most_recently_outputted_instance_of_a_data_type_is_available_as_input(IOperation op, object output) { var sut = OperationContext.Create(op); var outputOperation1 = new FakeOutputOperation <object> { OutputValue = output }; var outputOperation2 = new FakeOutputOperation <object> { OutputValue = output }; var inputOperation = new FakeInputOperation <object>(); sut.RegisterOutputHandlers(outputOperation1); sut.RegisterOutputHandlers(outputOperation2); outputOperation1.Execute(); outputOperation2.Execute(); sut.ProvideInputs(inputOperation); Assert.Equal(outputOperation2.OutputValue, inputOperation.ProvidedInput); }
public void Data_flows_from_the_most_recent_output_to_the_following_input_operation(IOperation op, object output) { var sut = OperationContext.Create(op); var outputOperation1 = new FakeOutputOperation <object> { OutputValue = output }; var outputOperation2 = new FakeOutputOperation <object> { OutputValue = output }; var inputOperation1 = new FakeInputOperation <object>(); var inputOperation2 = new FakeInputOperation <object>(); sut.RegisterOutputHandlers(outputOperation1); sut.RegisterOutputHandlers(outputOperation2); outputOperation1.Execute(); sut.ProvideInputs(inputOperation1); outputOperation2.Execute(); sut.ProvideInputs(inputOperation2); Assert.Equal(outputOperation1.OutputValue, inputOperation1.ProvidedInput); Assert.Equal(outputOperation2.OutputValue, inputOperation2.ProvidedInput); }
public void Creating_an_operation_context_returns_new_instance(IOperation op) { var result = OperationContext.Create(op); Assert.NotNull(result); }
public void SharedLock_Save_CheckedOutForMe_Unlocked_MetaOnly() { var context = OperationContext.Create().Checkout().SaveMetadata(42); Assert.AreEqual(42, context.LoadTestFile().Index); }