This repository has been archived by the owner on Feb 19, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
base.spec.js
74 lines (62 loc) · 2.46 KB
/
base.spec.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
"use strict";
/*eslint-disable max-statements, no-invalid-this */
/**
* Base server unit test initialization / global before/after's.
*
* This file has should be included in any test run, filtered or not.
*/
// Set test environment
process.env.NODE_ENV = process.env.NODE_ENV || "test-func";
// ----------------------------------------------------------------------------
// Selenium (Webdriverio/Rowdy) initialization
// ----------------------------------------------------------------------------
// **Note** Can stash adapter, but not `adapter.client` because it is a lazy
// getter that relies on the global `before|beforeEach` setup.
var rowdy = require("rowdy");
var adapter = global.adapter;
var isSauceLabs = rowdy.config.setting.isSauceLabs;
var ELEM_WAIT = isSauceLabs ? 5000 : 500; // Global wait.
adapter.before();
before(function (done) {
adapter.client
// Set timeout for waiting on elements.
.timeoutsImplicitWait(ELEM_WAIT)
.call(done);
});
adapter.beforeEach();
adapter.afterEach();
adapter.after();
// ----------------------------------------------------------------------------
// Globals and dev. server initialization.
// ----------------------------------------------------------------------------
var APP_PORT = process.env.TEST_FUNC_PORT || 3030;
var APP_HOST = process.env.TEST_FUNC_HOST || "127.0.0.1";
var httpServer = require("http-server");
var enableDestroy = require("server-destroy");
var server;
var realServer;
// ----------------------------------------------------------------------------
// Globals
// ----------------------------------------------------------------------------
before(function () {
// Export global base server URL for tests to hit.
global.TEST_FUNC_BASE_URL = process.env.TEST_FUNC_BASE_URL ||
"http://" + APP_HOST + ":" + APP_PORT + "/";
});
// ----------------------------------------------------------------------------
// App server
// ----------------------------------------------------------------------------
before(function (done) {
if (process.env.TEST_PARALLEL === "true") { return done(); }
server = httpServer.createServer();
server.listen(APP_PORT, APP_HOST, done);
// `http-server` doesn't pass enough of the underlying server, so we capture it.
realServer = server.server;
// Wrap the server with a "REALLY REALLY KILL IT!" `destroy` method.
enableDestroy(realServer);
});
after(function (done) {
if (!realServer) { return done(); }
// Take that server!
realServer.destroy(done);
});