Ошибка тайм-аута Zapier на тесте

В большинстве случаев я получаю сообщение об ошибке тайм-аута, но не всегда zapier test добавлю ли я --debug или нет, вот мой код:

require('should');

const zapier = require('zapier-platform-core');

// Use this to make test calls into your app:
const App = require('../index');
const appTester = zapier.createAppTester(App);

describe('Zapier - ON24 CLI Auth App', () => {

  it('should have Access Tokens pass the authentication from ON24 APIs', (done) => {

    const bundle = {
        authData:{
        accessTokenKey: 'abc', 
        accessTokenSecret: 'def',
        client_id: '123'
        }
    };

    appTester(App.authentication.test, bundle)
      .then((response) => {        

        response.status.should.eql(200);        
        done();
      })
      .catch(done);
  });
});

Ошибка:

Ошибка: превышено время ожидания 2000 мс. Для асинхронных тестов и хуков убедитесь, что вызывается "done()"; если возвращаете обещание, убедитесь, что оно разрешается

Пробовал добавлять this.timeout(5000); выше const bundle но это говорит о том, что timeout это не функция.

Обновление - тестовый модуль:

const testAuth = (z, bundle) => {

    return z.request({
              url: `https://wccqa.on24.com/wcc/api/v2/client/${bundle.authData.client_id}/languages`

            }).then((response) => {

                if(response.status === 401){
                    throw new Error('The API Keys provided are invalid');
                }
                return response;
            });
};

module.exports = {

    type: 'custom',
    fields: [
        {
            key: 'accessTokenKey', label: 'Access Token Key', required: true, type: 'string'
        },
        {
            key: 'accessTokenSecret', label: 'Access Token Secret', required: true, type: 'string'
        },
                                {
            key: 'client_id', label: 'Client Id', required: true, type: 'string'
        }
    ],
    test: testAuth,
    connectionLabel: 'testAuth connectionLabel'
};

1 ответ

Решение

Я много страдал от этой ошибки. Ошибка происходит из-за тестовой структуры, которая обычно не ждет дальше 2 seconds, Что бы вы ни делали в тестах, тайм-аут возникает, если не обрабатывается с помощью чего-то вроде следующего. В package.json вашего приложения, пожалуйста, добавьте тайм-аут во время выполнения mocha (15 seconds) в этом примере. Пожалуйста, не стесняйтесь устанавливать большее время ожидания во время тестирования.

"scripts": { "test": "node node_modules/mocha/bin/mocha --recursive --timeout 15000" },

Как сказали другие респонденты, добавьте z.console.log(msg) в вашем коде много изначально, чтобы увидеть, что происходит с вашими запросами.

У меня сработало выполнение тестов с дополнительным параметром

zapier test -t 15000

Версия CLI - 10.0.1

Другие вопросы по тегам