public async Task Get_ActivePersistedQuery_AddQuery() { // arrange TestServer server = CreateStarWarsServer(); DocumentNode document = Utf8GraphQLParser.Parse("{ __typename }"); var hashProvider = new MD5DocumentHashProvider(); string hash = hashProvider.ComputeHash( Encoding.UTF8.GetBytes(document.ToString(false))); // act ClientQueryResult resultA = await server.GetStoreActivePersistedQueryAsync( document.ToString(false), "md5Hash", hash); ClientQueryResult resultB = await server.GetActivePersistedQueryAsync("md5Hash", hash); // assert new[] { resultA, resultB }.MatchSnapshot(); }
public async Task Get_ActivePersistedQuery_AddQuery_Unformatted() { // arrange TestServer server = CreateStarWarsServer(); var query = "{__typename}"; var hashProvider = new MD5DocumentHashProvider(); var hash = hashProvider.ComputeHash(Encoding.UTF8.GetBytes(query)); // act ClientQueryResult resultA = await server.GetStoreActivePersistedQueryAsync( query, "md5Hash", hash); ClientQueryResult resultB = await server.GetActivePersistedQueryAsync("md5Hash", hash); // assert new[] { resultA, resultB }.MatchSnapshot(); }
public async Task DocumentExists_SkipParsing_DocumentIsUnchanged() { // arrange var cache = new Caching.DefaultDocumentCache(); var hashProvider = new MD5DocumentHashProvider(); var middleware = new DocumentParserMiddleware( context => default,
public async Task RetrieveItemFromCache_DocumentFoundOnCache() { // arrange var cache = new Caching.DefaultDocumentCache(); var hashProvider = new MD5DocumentHashProvider(); var middleware = new DocumentCacheMiddleware( context => default,
public async Task DocumentIsValidated_SkipValidation() { // arrange var cache = new Caching.DefaultDocumentCache(); var hashProvider = new MD5DocumentHashProvider(); var validator = new Mock <IDocumentValidator>(); validator.Setup(t => t.Validate(It.IsAny <ISchema>(), It.IsAny <DocumentNode>())) .Returns(DocumentValidatorResult.Ok); var middleware = new DocumentValidationMiddleware( context => default,
private static IReadOnlyQueryRequest CreateRequest( MD5DocumentHashProvider md5, ResourceHelper resources, string resourceName) { var query = resources.GetResourceString(resourceName); var hash = md5.ComputeHash(Encoding.UTF8.GetBytes(query).AsSpan()); DocumentNode document = Utf8GraphQLParser.Parse(query); return(QueryRequestBuilder.New() .SetQuery(document) .SetQueryHash(hash) .SetQueryId(hash) .Create()); }
public DefaultExecutionPipelineBenchmark() { var md5 = new MD5DocumentHashProvider(); var resources = new ResourceHelper(); var services = new ServiceCollection() .AddStarWarsRepositories() .BuildServiceProvider(); _executor = SchemaBuilder.New() .AddServices(services) .AddStarWarsTypes() .Create() .MakeExecutable(); _getHeroRequest = CreateRequest(md5, resources, "GetHeroQuery.graphql"); _getHeroWithFriendsRequest = CreateRequest(md5, resources, "GetHeroWithFriendsQuery.graphql"); _getTwoHerosWithFriendsRequest = CreateRequest(md5, resources, "GetTwoHerosWithFriendsQuery.graphql"); _largeQuery = CreateRequest(md5, resources, "LargeQuery.graphql"); _introspectionRequest = CreateRequest(md5, resources, "IntrospectionQuery.graphql"); }
public DefaultExecutionPipelineBenchmark() { var md5 = new MD5DocumentHashProvider(); var resources = new ResourceHelper(); var services = new ServiceCollection() .AddStarWarsRepositories() .AddGraphQL() .AddStarWarsTypes() .Services .BuildServiceProvider(); _executor = services .GetRequiredService <IRequestExecutorResolver>() .GetRequestExecutorAsync() .Result; _getHeroRequest = CreateRequest(md5, resources, "GetHeroQuery.graphql"); _getHeroWithFriendsRequest = CreateRequest(md5, resources, "GetHeroWithFriendsQuery.graphql"); _getTwoHerosWithFriendsRequest = CreateRequest(md5, resources, "GetTwoHerosWithFriendsQuery.graphql"); _largeQuery = CreateRequest(md5, resources, "LargeQuery.graphql"); _introspectionRequest = CreateRequest(md5, resources, "IntrospectionQuery.graphql"); }
public Inject(MD5DocumentHashProvider shouldGetObject) { // this should return null and not throw an exception var _shouldBeNull = shouldGetObject; }
public Inject(MD5DocumentHashProvider shouldGetObject) { var _demo = shouldGetObject; }