当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript apollo-server-integration-testsuite.testApolloServer函数代码示例

本文整理汇总了TypeScript中apollo-server-integration-testsuite.testApolloServer函数的典型用法代码示例。如果您正苦于以下问题:TypeScript testApolloServer函数的具体用法?TypeScript testApolloServer怎么用?TypeScript testApolloServer使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了testApolloServer函数的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: describe

describe('apollo-server-koa', () => {
  let server;
  let httpServer;
  testApolloServer(
    async options => {
      server = new ApolloServer(options);
      const app = new Koa();
      server.applyMiddleware({ app });
      httpServer = await new Promise<http.Server>(resolve => {
        const s = app.listen({ port: 7777 }, () => resolve(s));
      });
      return createServerInfo(server, httpServer);
    },
    async () => {
      if (server) await server.stop();
      if (httpServer && httpServer.listening) await httpServer.close();
    },
  );
});
开发者ID:apollostack,项目名称:apollo-server,代码行数:19,代码来源:ApolloServer.test.ts

示例2: describe

describe('apollo-server-fastify', () => {
  let server: ApolloServer;
  let httpServer: http.Server;
  let app: FastifyInstance;

  testApolloServer(
    async options => {
      server = new ApolloServer(options);
      app = fastify();
      app.register(server.createHandler());
      await app.listen(port);
      return createServerInfo(server, app.server);
    },
    async () => {
      if (server) await server.stop();
      if (app) await new Promise(resolve => app.close(() => resolve()));
      if (httpServer && httpServer.listening) await httpServer.close();
    },
  );
});
开发者ID:apollostack,项目名称:apollo-server,代码行数:20,代码来源:ApolloServer.test.ts

示例3: import

  () => {
    let server: ApolloServer;

    let app: import('hapi').Server;
    let httpServer: http.Server;

    const { Server } = require('hapi');

    testApolloServer(
      async options => {
        server = new ApolloServer(options);
        app = new Server({ host: 'localhost', port });
        await server.applyMiddleware({ app });
        await app.start();
        const httpServer = app.listener;
        return createServerInfo(server, httpServer);
      },
      async () => {
        if (server) await server.stop();
        if (app) await app.stop();
        if (httpServer && httpServer.listening) await httpServer.close();
      },
    );

    //Non-integration tests
    const typeDefs = gql`
      type Query {
        hello: String
      }
    `;

    const resolvers = {
      Query: {
        hello: () => 'hi',
      },
    };

    afterEach(async () => {
      if (server) await server.stop();
      if (httpServer) await httpServer.close();
    });

    describe('constructor', () => {
      it('accepts typeDefs and resolvers', async () => {
        const app = new Server();
        const server = new ApolloServer({ typeDefs, resolvers });
        return server.applyMiddleware({ app });
      });
    });

    describe('applyMiddleware', () => {
      it('can be queried', async () => {
        server = new ApolloServer({
          typeDefs,
          resolvers,
        });
        app = new Server({ port });

        await server.applyMiddleware({ app });
        await app.start();

        httpServer = app.listener;
        const uri = app.info.uri + '/graphql';

        const apolloFetch = createApolloFetch({ uri });
        const result = await apolloFetch({ query: '{hello}' });

        expect(result.data).toEqual({ hello: 'hi' });
        expect(result.errors).toBeUndefined();
      });

      // XXX Unclear why this would be something somebody would want (vs enabling
      // introspection without graphql-playground, which seems reasonable, eg you
      // have your own graphql-playground setup with a custom link)
      it('can enable playground separately from introspection during production', async () => {
        const INTROSPECTION_QUERY = `
  {
    __schema {
      directives {
        name
      }
    }
  }
`;

        server = new ApolloServer({
          typeDefs,
          resolvers,
          introspection: false,
        });
        app = new Server({ port });

        await server.applyMiddleware({ app });
        await app.start();

        httpServer = app.listener;
        const uri = app.info.uri + '/graphql';
        const url = uri;

        const apolloFetch = createApolloFetch({ uri });
//.........这里部分代码省略.........
开发者ID:apollostack,项目名称:apollo-server,代码行数:101,代码来源:ApolloServer.test.ts


注:本文中的apollo-server-integration-testsuite.testApolloServer函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。