public Task Write_Query_To_Storage()
        {
            SnapshotFullName snapshotName = Snapshot.FullName();
            var queryId = Guid.NewGuid().ToString("N");

            return(TryTest(async() =>
            {
                // arrange
                var storage = new RedisQueryStorage(_database);
                var query = new QuerySourceText("{ foo }");

                // act
                await storage.WriteQueryAsync(queryId, query);

                // assert
                var buffer = (byte[])await _database.StringGetAsync(queryId);
                Utf8GraphQLParser.Parse(buffer).Print().MatchSnapshot(snapshotName);
            },
                           () => _database.KeyDeleteAsync(queryId)));
        }
示例#2
0
        public void QuerySourceText_WriteTo()
        {
            // arrange
            DocumentNode document = Utf8GraphQLParser.Parse("{ a }");
            var          query    = new QuerySourceText("{ a }");

            byte[] buffer;

            // act
            using (var stream = new MemoryStream())
            {
                query.WriteTo(stream);
                buffer = stream.ToArray();
            }

            // assert
            QuerySyntaxSerializer.Serialize(
                Utf8GraphQLParser.Parse(buffer))
            .ToString().MatchSnapshot();
        }
        public async Task Write_Query_To_Storage()
        {
            string path = null;

            try
            {
                // arrange
                path = IOPath.Combine(
                    IOPath.GetTempPath(),
                    "d_" + Guid.NewGuid().ToString("N"));
                Directory.CreateDirectory(path);

                var storage = new FileSystemQueryStorage(
                    new DefaultQueryFileMap(path));

                var query   = new QuerySourceText("{ foo }");
                var queryId = "1234";

                // act
                await storage.WriteQueryAsync(queryId, query);

                // assert
                Assert.True(File.Exists(IOPath.Combine(path, "1234.graphql")));
                QuerySyntaxSerializer.Serialize(
                    Utf8GraphQLParser.Parse(
                        await File.ReadAllBytesAsync(IOPath.Combine(path, "1234.graphql"))))
                .MatchSnapshot();
            }
            finally
            {
                if (path != null)
                {
                    Directory.Delete(path, true);
                }
            }
        }