public void IgnoreType_2() { // arrange IDocumentRewriter docRewriter = null; var mock = new Mock <IStitchingBuilder>(); mock.Setup(t => t.AddDocumentRewriter( It.IsAny <IDocumentRewriter>())) .Returns(new Func <IDocumentRewriter, IStitchingBuilder>(t => { docRewriter = t; return(mock.Object); })); NameString schemaName = "Foo"; NameString typeName = "Bar"; // act StitchingBuilderExtensions.IgnoreType( mock.Object, schemaName, typeName); // assert RemoveTypeRewriter rewriter = Assert.IsType <RemoveTypeRewriter>(docRewriter); Assert.Equal(schemaName, rewriter.SchemaName); Assert.Equal(typeName, rewriter.TypeName); }
public IStitchingBuilder AddDocumentRewriter(IDocumentRewriter rewriter) { if (rewriter == null) { throw new ArgumentNullException(nameof(rewriter)); } _docRewriters.Add(rewriter); return(this); }
/// <summary> /// Add a document rewriter in order to rewrite /// a remote schema document before it is being merged. /// </summary> /// <param name="builder"> /// The <see cref="IRequestExecutorBuilder"/>. /// </param> /// <param name="rewriter"> /// The document rewriter. /// </param> /// <returns> /// Returns the <see cref="IRequestExecutorBuilder"/>. /// </returns> /// <exception cref="ArgumentNullException"> /// <paramref name="builder"/> is <c>null</c>, or /// <paramref name="rewriter"/> is <c>null</c>. /// </exception> public static IRequestExecutorBuilder AddDocumentRewriter( this IRequestExecutorBuilder builder, IDocumentRewriter rewriter) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } if (rewriter == null) { throw new ArgumentNullException(nameof(rewriter)); } return(builder.ConfigureSchema( s => s.AddDocumentRewriter(rewriter))); }
public void AddDocumentRewriter() { // arrange IDocumentRewriter docRewriter = null; var mock = new Mock <IStitchingBuilder>(); mock.Setup(t => t.AddDocumentRewriter( It.IsAny <IDocumentRewriter>())) .Returns(new Func <IDocumentRewriter, IStitchingBuilder>(t => { docRewriter = t; return(mock.Object); })); // act StitchingBuilderExtensions .AddDocumentRewriter(mock.Object, (schema, doc) => doc); // assert Assert.IsType <DelegateDocumentRewriter>(docRewriter); }
public void IgnoreRootTypes_2_NameIsEmpty_ArgumentException() { // arrange IDocumentRewriter docRewriter = null; var mock = new Mock <IStitchingBuilder>(); mock.Setup(t => t.AddDocumentRewriter( It.IsAny <IDocumentRewriter>())) .Returns(new Func <IDocumentRewriter, IStitchingBuilder>(t => { docRewriter = t; return(mock.Object); })); // act Action action = () => StitchingBuilderExtensions .IgnoreRootTypes(mock.Object, null); // assert Assert.Equal("schemaName", Assert.Throws <ArgumentException>(action).ParamName); }
public void IgnoreRootTypes() { // arrange IDocumentRewriter docRewriter = null; var mock = new Mock <IStitchingBuilder>(); mock.Setup(t => t.AddDocumentRewriter( It.IsAny <IDocumentRewriter>())) .Returns(new Func <IDocumentRewriter, IStitchingBuilder>(t => { docRewriter = t; return(mock.Object); })); // act StitchingBuilderExtensions.IgnoreRootTypes(mock.Object); // assert RemoveRootTypeRewriter rewriter = Assert.IsType <RemoveRootTypeRewriter>(docRewriter); Assert.Null(rewriter.SchemaName); }
public void AddDocumentRewriter_DelegateIsNull_ArgumentNullException() { // arrange IDocumentRewriter docRewriter = null; var mock = new Mock <IStitchingBuilder>(); mock.Setup(t => t.AddDocumentRewriter( It.IsAny <IDocumentRewriter>())) .Returns(new Func <IDocumentRewriter, IStitchingBuilder>(t => { docRewriter = t; return(mock.Object); })); // act Action action = () => StitchingBuilderExtensions .AddDocumentRewriter(mock.Object, (RewriteDocumentDelegate)null); // assert Assert.Equal("rewrite", Assert.Throws <ArgumentNullException>(action).ParamName); }
public IStitchingBuilder AddDocumentRewriter( IDocumentRewriter rewriter) { throw new NotSupportedException(); }