public void AddSchema() { // arrange StitchingBuilder stitchingBuilder = StitchingBuilder.New(); DocumentNode schema_a = Parser.Default.Parse( "type A { b: String }"); DocumentNode schema_b = Parser.Default.Parse( "type B { c: String }"); // act stitchingBuilder.AddSchema("a", s => schema_a) .AddSchema("b", s => schema_b); // assert var services = new ServiceCollection(); stitchingBuilder.Populate(services); DocumentNode schema = services.BuildServiceProvider() .GetRequiredService <StitchingBuilder.StitchingFactory>() .MergedSchema; SchemaSyntaxSerializer.Serialize(schema).MatchSnapshot(); }
public void AddSchema_LoadSchemaIsNull_ArgumentNullException() { // arrange StitchingBuilder stitchingBuilder = StitchingBuilder.New(); NameString schemName = "abc"; // act Action action = () => stitchingBuilder.AddSchema( schemName, (LoadSchemaDocument)null); // assert Assert.Equal("loadSchema", Assert.Throws <ArgumentNullException>(action).ParamName); }
public void AddSchema_SchemaNameIsEmpty_ArgumentNullException() { // arrange StitchingBuilder stitchingBuilder = StitchingBuilder.New(); NameString schemName = "abc"; // act Action action = () => stitchingBuilder.AddSchema( null, sp => new DocumentNode(new List <IDefinitionNode>())); // assert Assert.Equal("name", Assert.Throws <ArgumentException>(action).ParamName); }
public void AddSchema_SchemaAlreadyRegistered_2_ArgumentNullException() { // arrange StitchingBuilder stitchingBuilder = StitchingBuilder.New(); NameString schemName = "abc"; stitchingBuilder.AddQueryExecutor( schemName, sp => default(IQueryExecutor)); // act Action action = () => stitchingBuilder.AddSchema( schemName, sp => new DocumentNode(new List <IDefinitionNode>())); // assert Assert.Equal("name", Assert.Throws <ArgumentException>(action).ParamName); }