'use strict'; require('../../helper'); var BatchTestClient = require('../../support/batch-test-client'); var JobStatus = require('../../../batch/job_status'); describe('Batch API query timing', function () { before(function() { this.batchTestClient = new BatchTestClient(); }); after(function(done) { this.batchTestClient.drain(done); }); it('should report start and end time for each query with fallback queries' + 'and expose started_at and ended_at for all queries with fallback mechanism', function (done) { var expectedQuery = { query: [{ query: 'SELECT * FROM untitle_table_4 limit 1', onerror: 'SELECT * FROM untitle_table_4 limit 2', status: 'done', fallback_status: 'skipped' }, { query: 'SELECT * FROM untitle_table_4 limit 3', onerror: 'SELECT * FROM untitle_table_4 limit 4', status: 'done', fallback_status: 'skipped' }], onerror: 'SELECT * FROM untitle_table_4 limit 5' }; var payload = { "query": { "query": [ { "query": "SELECT * FROM untitle_table_4 limit 1", "onerror": "SELECT * FROM untitle_table_4 limit 2" }, { "query": "SELECT * FROM untitle_table_4 limit 3", "onerror": "SELECT * FROM untitle_table_4 limit 4" } ], "onerror": "SELECT * FROM untitle_table_4 limit 5" } }; this.batchTestClient.createJob(payload, function(err, jobResult) { if (err) { return done(err); } jobResult.getStatus(function (err) { if (err) { return done(err); } jobResult.validateExpectedResponse(expectedQuery); done(); }); }); }); it('should report start and end time for each query also for failing queries' + 'and expose started_at and ended_at for all queries with fallback mechanism (failed)', function (done) { var expectedQuery = { query: [{ query: 'SELECT * FROM untitle_table_4 limit 1', onerror: 'SELECT * FROM untitle_table_4 limit 2', status: 'done', fallback_status: 'skipped' }, { query: 'SELECT * FROM untitle_table_4 limit 3 failed', onerror: 'SELECT * FROM untitle_table_4 limit 4', status: 'failed', fallback_status: 'done' }], onerror: 'SELECT * FROM untitle_table_4 limit 5' }; var payload = { "query": { "query": [ { "query": "SELECT * FROM untitle_table_4 limit 1", "onerror": "SELECT * FROM untitle_table_4 limit 2" }, { "query": "SELECT * FROM untitle_table_4 limit 3 failed", "onerror": "SELECT * FROM untitle_table_4 limit 4" } ], "onerror": "SELECT * FROM untitle_table_4 limit 5" } }; this.batchTestClient.createJob(payload, function(err, jobResult) { if (err) { return done(err); } jobResult.getStatus(JobStatus.FAILED, function (err) { if (err) { return done(err); } jobResult.validateExpectedResponse(expectedQuery); done(); }); }); }); });