public void IgnoreField() { // arrange ITypeRewriter typeRewriter = null; var mock = new Mock <IStitchingBuilder>(); mock.Setup(t => t.AddTypeRewriter( It.IsAny <ITypeRewriter>())) .Returns(new Func <ITypeRewriter, IStitchingBuilder>(t => { typeRewriter = t; return(mock.Object); })); NameString schemaName = "Foo"; var fieldReference = new FieldReference("A", "a"); // act StitchingBuilderExtensions.IgnoreField( mock.Object, schemaName, fieldReference); // assert RemoveFieldRewriter rewriter = Assert.IsType <RemoveFieldRewriter>(typeRewriter); Assert.Equal(schemaName, rewriter.SchemaName); Assert.Equal(fieldReference.TypeName, rewriter.Field.TypeName); Assert.Equal(fieldReference.FieldName, rewriter.Field.FieldName); }
public IStitchingBuilder AddTypeRewriter(ITypeRewriter rewriter) { if (rewriter == null) { throw new ArgumentNullException(nameof(rewriter)); } _typeRewriters.Add(rewriter); return(this); }
/// <summary> /// Add a type definition rewriter in order to rewrite a /// type definition on a remote schema document before /// it is being merged. /// </summary> /// <param name="builder"> /// The <see cref="IRequestExecutorBuilder"/>. /// </param> /// <param name="rewriter"> /// The type definition 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 AddTypeRewriter( this IRequestExecutorBuilder builder, ITypeRewriter rewriter) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } if (rewriter == null) { throw new ArgumentNullException(nameof(rewriter)); } return(builder.ConfigureSchema( s => s.AddTypeRewriter(rewriter))); }
public void AddTypeRewriter() { // arrange ITypeRewriter typeRewriter = null; var mock = new Mock <IStitchingBuilder>(); mock.Setup(t => t.AddTypeRewriter(It.IsAny <ITypeRewriter>())) .Returns(new Func <ITypeRewriter, IStitchingBuilder>(t => { typeRewriter = t; return(mock.Object); })); // act StitchingBuilderExtensions .AddTypeRewriter(mock.Object, (schema, type) => type); // assert Assert.IsType <DelegateTypeRewriter>(typeRewriter); }
public void AddTypeRewriter_DelegateIsNull_ArgumentNullException() { // arrange ITypeRewriter typeRewriter = null; var mock = new Mock <IStitchingBuilder>(); mock.Setup(t => t.AddTypeRewriter(It.IsAny <ITypeRewriter>())) .Returns(new Func <ITypeRewriter, IStitchingBuilder>(t => { typeRewriter = t; return(mock.Object); })); // act Action action = () => StitchingBuilderExtensions .AddTypeRewriter(mock.Object, (RewriteTypeDefinitionDelegate)null); // assert Assert.Equal("rewrite", Assert.Throws <ArgumentNullException>(action).ParamName); }
public IStitchingBuilder AddTypeRewriter( ITypeRewriter rewriter) { throw new NotSupportedException(); }