Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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,
Esempio n. 5
0
        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,
Esempio n. 6
0
        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());
        }
Esempio n. 7
0
        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");
        }
Esempio n. 9
0
 public Inject(MD5DocumentHashProvider shouldGetObject)
 {
     // this should return null and not throw an exception
     var _shouldBeNull = shouldGetObject;
 }
 public Inject(MD5DocumentHashProvider shouldGetObject)
 {
     var _demo = shouldGetObject;
 }