Skip to content

Commit

Permalink
Merge pull request #970 from bodiam/migrate_to_datafaker
Browse files Browse the repository at this point in the history
Replace Javafaker with Datafaker
  • Loading branch information
berngp committed Apr 11, 2022
2 parents cf61076 + 4ed6e57 commit 07fe619
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 10 deletions.
4 changes: 1 addition & 3 deletions graphql-dgs-mocking/build.gradle.kts
Expand Up @@ -16,8 +16,6 @@

dependencies {
api("com.graphql-java:graphql-java")
implementation("com.github.javafaker:javafaker:1.+") {
exclude("org.yaml", "snakeyaml")
}
implementation("net.datafaker:datafaker:1.3.0")
implementation("org.slf4j:slf4j-api")
}
Expand Up @@ -16,16 +16,17 @@

package com.netflix.graphql.mocking

import com.github.javafaker.Faker
import graphql.schema.*
import graphql.util.TraversalControl
import graphql.util.TraverserContext
import net.datafaker.Faker
import org.slf4j.Logger
import org.slf4j.LoggerFactory

class MockGraphQLVisitor(private val mockConfig: Map<String, Any?>, private val mockFetchers: MutableMap<FieldCoordinates, DataFetcher<*>>) : GraphQLTypeVisitorStub() {
private val logger: Logger = LoggerFactory.getLogger(this.javaClass)
private val providedRoots: MutableList<String?> = mutableListOf()
private val faker = Faker()

override fun visitGraphQLFieldDefinition(node: GraphQLFieldDefinition?, context: TraverserContext<GraphQLSchemaElement>?): TraversalControl {
val pathForNode = getPathForNode(context?.parentNodes, node)
Expand All @@ -49,7 +50,7 @@ class MockGraphQLVisitor(private val mockConfig: Map<String, Any?>, private val
else -> return super.visitGraphQLFieldDefinition(node, context)
}

val mockedValues = (0..Faker().number().numberBetween(0, 10))
val mockedValues = (0..faker.number().numberBetween(0, 10))
.map { generateDataForScalar(wrappedType) }
.toList()
DataFetcher { mockedValues }
Expand All @@ -66,11 +67,11 @@ class MockGraphQLVisitor(private val mockConfig: Map<String, Any?>, private val

private fun generateDataForScalar(type: String): Any {
return when (type) {
"String" -> Faker().book().title()
"Boolean" -> Faker().bool().bool()
"Int" -> Faker().number().randomDigit()
"Float" -> Faker().number().randomDouble(2, 0, 100000)
"ID" -> Faker().number().digit()
"String" -> faker.book().title()
"Boolean" -> faker.bool().bool()
"Int" -> faker.number().randomDigit()
"Float" -> faker.number().randomDouble(2, 0, 100000)
"ID" -> faker.number().digit()
else -> Object()
}
}
Expand Down

0 comments on commit 07fe619

Please sign in to comment.