title: FakeXRMEasy: Using AddFakeMessageExecutor to override update request behaviour
body: <p>I am trying to create a test for a situation where an Update request throws an exception. Is this possible to do using FakeXRMEasy? I have tried using AddFakeMessageExecutor, but at the moment it is not working:</p>
  
  <p>My fake message executor class:</p>
  
  <pre><code>public class UpdateExecutor : IFakeMessageExecutor
  {
      public bool CanExecute(OrganizationRequest request)
      {
          return request is UpdateRequest;
      }
  
      public OrganizationResponse Execute(
          OrganizationRequest request,
          XrmFakedContext ctx)
      {
          throw new Exception();
      }
  
      public Type GetResponsibleRequestType()
      {
          return typeof(UpdateRequest);
      }
  }
  </code></pre>
  
  <p>Use in test:</p>
  
  <pre><code>fakeContext.Initialize(new Entity[] { agreement });
  fakeContext.AddFakeMessageExecutor&lt;UpdateRequest&gt;(new UpdateExecutor());
  
  fakeContext.ExecuteCodeActivity&lt;AgreementConfirmationWorkflow&gt;(fakeContext.GetDefaultWorkflowContext());
  </code></pre>
  
  <p>And in the workflow the update request is called:</p>
  
  <pre><code>var workflowContext = executionContext.GetExtension&lt;IWorkflowContext&gt;();
  var serviceFactory = executionContext.GetExtension&lt;IOrganizationServiceFactory&gt;();
  IOrganizationService service = serviceFactory.CreateOrganizationService(workflowContext.UserId);
  
  /// some code to retrieve entity and change attributes ///
  
  service.Update(entity);
  </code></pre>
  
  <p>I wanted this to throw an exception, but at the moment the update request is completing successfully. How can I make this work?</p>