Ignore duplicate schema resource registrations

Closes gh-230
This commit is contained in:
rstoyanchev
2022-02-10 12:50:31 +00:00
parent 30f86d74f2
commit 16f4390d22
2 changed files with 10 additions and 1 deletions

View File

@@ -21,8 +21,10 @@ import java.io.InputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.function.BiFunction;
import java.util.function.Consumer;
@@ -57,7 +59,7 @@ import org.springframework.util.Assert;
*/
class DefaultGraphQlSourceBuilder implements GraphQlSource.Builder {
private final List<Resource> schemaResources = new ArrayList<>();
private final Set<Resource> schemaResources = new LinkedHashSet<>();
private final List<RuntimeWiringConfigurer> runtimeWiringConfigurers = new ArrayList<>();

View File

@@ -26,6 +26,7 @@ import graphql.schema.idl.RuntimeWiring;
import graphql.schema.idl.WiringFactory;
import org.junit.jupiter.api.Test;
import org.springframework.graphql.BookSource;
import org.springframework.graphql.GraphQlSetup;
import static org.assertj.core.api.Assertions.assertThat;
@@ -38,6 +39,12 @@ import static org.mockito.Mockito.mock;
*/
public class DefaultGraphQlSourceBuilderTests {
@Test // gh-230
void duplicateResourcesAreIgnored() {
// This should not fail with schema errors
GraphQlSetup.schemaResource(BookSource.schema, BookSource.schema).toGraphQlSource();
}
@Test
void wiringFactoryList() {