Completed
Push — dev ( d30456...4fd03f )
by Fike
33s
created

test/suites/integration/setup.js   A

Complexity

Total Complexity 8
Complexity/F 1.14

Size

Lines of Code 54
Function Count 7

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 0
c 1
b 0
f 0
nc 1
dl 0
loc 54
rs 10
wmc 8
mnd 1
bc 8
fnc 7
bpm 1.1428
cpm 1.1428
noi 0
1
/* global allure */
2
/* eslint-env mocha */
3
4
var Yaml = require('js-yaml')
5
var Sinon = require('sinon')
6
var Slf4j = require('../../../lib/logger').slf4j.Slf4j
7
8
var requests = []
9
10
// noinspection JSUnusedGlobalSymbols
11
global.Net = {
12
  HttpRequestOptions: function () {
13
    this.headers = {}
14
    this.postData = null
15
    this.method = 'GET'
16
  },
17
  httpRequestAsync: Sinon.spy(function (url, options) {
18
    requests.push({request: {url: url, options: options}})
19
  })
20
}
21
22
global.transportFactory = function () {
23
  var responses = Array.prototype.slice.call(arguments, 0)
24
  var index = 0
25
  return Sinon.spy(function (url, options) {
26
    var request = {
27
      url: url,
28
      options: options
29
    }
30
    var response = responses[index++ % responses.length]
31
    requests.push({request: request, response: response})
32
    return Promise.resolve(response)
33
  })
34
}
35
36
global.basicFactory = function () {
37
  var responses = Array.prototype.slice.call(arguments, 0)
38
  var index = 0
39
  return {
40
    execute: Sinon.spy(function (request) {
41
      var response = responses[index++ % responses.length]
42
      requests.push({request: request, response: response})
43
      return Promise.resolve(response)
44
    })
45
  }
46
}
47
48
global.transport = global.transportFactory
49
50
afterEach(function () {
51
  for (var i = 0; i < requests.length; i++) {
52
    allure.createAttachment('request-%d.json'.replace('%d', i.toString()),
53
      Yaml.dump(requests[i]), 'application/x-yaml')
54
  }
55
  requests = []
56
  Slf4j.reset()
57
})
58