Skip to content

Commit 129d239

Browse files
committed
add tests
1 parent d5eaddb commit 129d239

File tree

4 files changed

+64
-31
lines changed

4 files changed

+64
-31
lines changed

src/main/java/graphql/annotations/processor/GraphQLAnnotations.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,6 @@ public GraphQLDirective directive(Class<?> object) throws GraphQLAnnotationsExce
158158
}
159159
}
160160

161-
//todo: add tests
162161
public GraphQLDirective directiveViaAnnotation(Class<?> annotationClass) {
163162
if (!annotationClass.isAnnotationPresent(GraphQLDirectiveDefinition.class) || !annotationClass.isAnnotationPresent(Retention.class)){
164163
throw new GraphQLAnnotationsException(String.format("The supplied class %s is not annotated with a GraphQLDirectiveDefinition and/or Retention annotation", annotationClass.getSimpleName()), null);
@@ -176,7 +175,6 @@ public GraphQLDirective directiveViaAnnotation(Class<?> annotationClass) {
176175
}
177176
}
178177

179-
//todo: add tests
180178
public Set<GraphQLDirective> directives(Class<?> directivesDeclarationClass) {
181179
Method[] methods = directivesDeclarationClass.getMethods();
182180
Set<GraphQLDirective> directiveSet = new HashSet<>();

src/test/java/graphql/annotations/GraphQLDirectivesViaAnnotationDefinitionTest.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,6 @@ public void setUp() {
4141
GraphQLObjectType object = this.graphQLAnnotations.object(Query.class);
4242
GraphQLCodeRegistry codeRegistry = graphQLAnnotations.getContainer().getCodeRegistryBuilder().build();
4343
this.schema = newSchema().query(object).codeRegistry(codeRegistry).build();
44-
45-
4644
}
4745

4846
/**

src/test/java/graphql/annotations/GraphQLDirectivesViaClassDefinitionTest.java

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -168,35 +168,8 @@ public static String nameWithInputObject(@GraphQLName("inputObject") InputObject
168168
}
169169

170170

171-
public static class QueryAlternative {
172-
@GraphQLName("suffix")
173-
@GraphQLDirectiveDefinition(wiring = SuffixWiring.class)
174-
@DirectiveLocations({Introspection.DirectiveLocation.FIELD_DEFINITION, Introspection.DirectiveLocation.ARGUMENT_DEFINITION})
175-
public static void suffixDirective(@GraphQLName("suffix") String suffix) {
176-
177-
}
178-
179-
@GraphQLField
180-
@GraphQLDirectives({
181-
@Directive(name = "suffix", argumentsValues = {"coolSuffix"})})
182-
public static String name() {
183-
return "yarin";
184-
}
185-
}
186171

187172

188-
@Test
189-
public void queryName_directivesInAlternativeWayCreation_wiringIsActivated() throws Exception {
190-
this.graphQLAnnotations.directives(QueryAlternative.class);
191-
GraphQLObjectType object = this.graphQLAnnotations.object(QueryAlternative.class);
192-
GraphQLCodeRegistry codeRegistry = graphQLAnnotations.getContainer().getCodeRegistryBuilder().build();
193-
194-
GraphQLSchema schema = newSchema().query(object).codeRegistry(codeRegistry).build();
195-
196-
ExecutionResult result = GraphQL.newGraphQL(schema).build().execute("query { name }");
197-
assertTrue(result.getErrors().isEmpty());
198-
assertEquals(((Map<String, String>) result.getData()).get("name").toString(), "yarincoolSuffix");
199-
}
200173

201174

202175
@Test
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
package graphql.annotations;
2+
3+
import graphql.ExecutionResult;
4+
import graphql.GraphQL;
5+
import graphql.annotations.annotationTypes.GraphQLField;
6+
import graphql.annotations.annotationTypes.GraphQLName;
7+
import graphql.annotations.annotationTypes.directives.activation.Directive;
8+
import graphql.annotations.annotationTypes.directives.activation.GraphQLDirectives;
9+
import graphql.annotations.annotationTypes.directives.definition.DirectiveLocations;
10+
import graphql.annotations.annotationTypes.directives.definition.GraphQLDirectiveDefinition;
11+
import graphql.annotations.processor.GraphQLAnnotations;
12+
import graphql.introspection.Introspection;
13+
import graphql.schema.GraphQLCodeRegistry;
14+
import graphql.schema.GraphQLObjectType;
15+
import graphql.schema.GraphQLSchema;
16+
import org.testng.annotations.BeforeMethod;
17+
import org.testng.annotations.Test;
18+
19+
import java.util.Map;
20+
21+
import static graphql.schema.GraphQLSchema.newSchema;
22+
import static org.testng.Assert.assertEquals;
23+
import static org.testng.Assert.assertTrue;
24+
25+
public class GraphQLDirectivesViaMethodDefinitionTest {
26+
private GraphQLAnnotations graphQLAnnotations;
27+
private GraphQLSchema schema;
28+
29+
public static class DirectivesContainer {
30+
@GraphQLName("suffix")
31+
@GraphQLDirectiveDefinition(wiring = GraphQLDirectivesViaClassDefinitionTest.SuffixWiring.class)
32+
@DirectiveLocations({Introspection.DirectiveLocation.FIELD_DEFINITION, Introspection.DirectiveLocation.ARGUMENT_DEFINITION})
33+
public static void suffixDirective(@GraphQLName("suffix") String suffix) {
34+
35+
}
36+
37+
@GraphQLField
38+
@GraphQLDirectives({
39+
@Directive(name = "suffix", argumentsValues = {"coolSuffix"})})
40+
public static String name() {
41+
return "yarin";
42+
}
43+
}
44+
45+
46+
@BeforeMethod
47+
public void setUp() {
48+
this.graphQLAnnotations = new GraphQLAnnotations();
49+
this.graphQLAnnotations.directives(DirectivesContainer.class);
50+
GraphQLObjectType object = this.graphQLAnnotations.object(DirectivesContainer.class);
51+
GraphQLCodeRegistry codeRegistry = graphQLAnnotations.getContainer().getCodeRegistryBuilder().build();
52+
this.schema = newSchema().query(object).codeRegistry(codeRegistry).build();
53+
54+
}
55+
56+
@Test
57+
public void queryName_directivesInAlternativeWayCreation_wiringIsActivated() throws Exception {
58+
// Act
59+
ExecutionResult result = GraphQL.newGraphQL(schema).build().execute("query { name }");
60+
// Assert
61+
assertTrue(result.getErrors().isEmpty());
62+
assertEquals(((Map<String, String>) result.getData()).get("name").toString(), "yarincoolSuffix");
63+
}
64+
}

0 commit comments

Comments
 (0)