public bool Put(string id, HttpRequestMessage request)
 {
     var content = request.Content.ReadAsStringAsync().Result;
     var serializer = new JsonSerializer();
     serializer.Converters.Add(new DiffConverter());
     var editReq= serializer.Deserialize<DocumentEditRequest>(new JsonTextReader(new StringReader(content)));
     var command = new AddRevisionToDocumentCommand(editReq) { Session = DocSession };
     command.Execute();
     return true;
 }
        public void Ensure_When_Execute_An_AddRevisionToDocumentCommand_The_Document_Has_Revised_Contents()
        {
            var document = new Document("Test");
            Session.Store(document);

            var revisionDTO = new DocumentEditRequest
            {
                DocumentId = document.Id,
                ParentRevisionId = document.CurrentRevision.Id,
                RevisionId = Guid.NewGuid(),
                Patches = Patches.Make(document.Contents, "Test changed").ToArray()
            };

            var command = new AddRevisionToDocumentCommand(revisionDTO);

            ExecuteCommand(command);

            Assert.That(document.Contents, Is.EqualTo("Test changed"));
        }