UNPKG

6.04 kBJavaScriptView Raw
1var request = require('supertest');
2var connect = require('../index');
3require('mocha');
4
5var portCounter = 35000;
6describe('gulp-connect', function () {
7 describe('Simple', function() {
8 var req;
9 var port;
10 after(function() {
11 connect.serverClose();
12 })
13 it('Explicit /test.txt', function (done) {
14 var port = portCounter++;
15 connect.server({
16 port: port
17 }, function() {
18 request('http://localhost:' + port)
19 .get('/fixtures/simplest/test.txt')
20 .expect(/Hello world/)
21 .expect(200)
22 .end(function (err, res) {
23 done(err);
24 });
25 });
26 })
27 it('Implicit /index.html', function (done) {
28 var port = portCounter++;
29 connect.server({
30 port: port
31 }, function() {
32 request('http://localhost:' + port)
33 .get('/fixtures/simplest/')
34 .expect(/index page/)
35 .expect(200)
36 .end(function (err, res) {
37 done(err);
38 });
39 });
40 })
41 })
42})
43describe('Self Start / Stop', function() {
44 after(function() {
45 connect.serverClose();
46 })
47 it('Root string', function (done) {
48 var port = portCounter++;
49 connect.server({
50 port: port,
51 root: __dirname + "/fixtures"
52 });
53 request('http://localhost:' + port)
54 .get('/multiple/app/index.html')
55 .expect(/app test/)
56 .end(function (err, res) {
57 connect.serverClose();
58 if (err) return done(err);
59 done()
60 });
61 })
62 it('Root array', function (done) {
63 var port = portCounter++;
64 connect.server({
65 port: port,
66 root: [__dirname + "/fixtures/multiple/app", __dirname + "/fixtures/multiple/dist"]
67 });
68 request('http://localhost:' + port)
69 .get('/index.html')
70 .expect(/app test/)
71 .expect(200)
72 .end(function (err) {
73 if (err) return done(err);
74 });
75 request('http://localhost:' + port)
76 .get('/dist.html')
77 .expect(/dist test/)
78 .expect(200)
79 .end(function (err) {
80 connect.serverClose();
81 if (err) return done(err);
82 done()
83 });
84 })
85 it('Port test', function (done) {
86 connect.server({
87 root: __dirname + "/fixtures/multiple/app",
88 port: 3333
89 });
90 request('http://localhost:3333')
91 .get('/index.html')
92 .expect(/app test/)
93 .end(function (err) {
94 connect.serverClose();
95 if (err) return done(err);
96 done()
97 });
98 })
99 it('Https test', function (done) {
100 //suppress invalid self-signed ssl certificate error
101 process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"
102 var port = portCounter++;
103 connect.server({
104 port: port,
105 root: __dirname + "/fixtures/multiple/app",
106 https: true
107 });
108 request('https://localhost:' + port)
109 .get('/index.html')
110 .expect(/app test/)
111 .end(function (err) {
112 connect.serverClose();
113 if (err) return done(err);
114 done()
115 });
116 })
117 it('Livereload test', function (done) {
118 var port = portCounter++;
119 connect.server({
120 port: port,
121 livereload: true
122 }, function() {
123 request('http://localhost:35729')
124 .get('/')
125 .expect('Content-Type', /json/)
126 .end(function (err) {
127 if (err) return done(err);
128 request('http://localhost:35729')
129 .get('/livereload.js')
130 .expect(200)
131 .end(function (err) {
132 connect.serverClose();
133 if (err) return done(err);
134 done();
135 });
136 });
137 });
138 })
139 it('Livereload https test', function (done) {
140 var port = portCounter++;
141 connect.server({
142 port: port,
143 livereload: true,
144 https: true
145 }, function() {
146 request('https://localhost:35729')
147 .get('/')
148 .expect('Content-Type', /json/)
149 .end(function (err) {
150 if (err) return done(err);
151 request('https://localhost:35729')
152 .get('/livereload.js')
153 .expect(200)
154 .end(function (err) {
155 connect.serverClose();
156 if (err) return done(err);
157 done();
158 });
159 });
160 });
161 })
162 it('Livereload port', function (done) {
163 var port = portCounter++;
164 var liveReloadPort = portCounter++;
165 connect.server({
166 port: port,
167 livereload: {
168 port: liveReloadPort
169 }
170 },
171 function() {
172 request('http://localhost:' + liveReloadPort)
173 .get('/')
174 .expect('Content-Type', /json/)
175 .end(function (err) {
176 connect.serverClose();
177 if (err) return done(err);
178 done();
179 });
180 });
181 })
182 it('livereload closes', function (done) {
183 this.timeout(10000);
184 var port = portCounter++;
185 var liveReloadPort = portCounter++;
186 connect.server({
187 port: port,
188 livereload: {
189 port: liveReloadPort
190 }
191 },
192 function() {
193 request('http://localhost:' + liveReloadPort)
194 .get('/')
195 .expect('Content-Type', /json/)
196 .expect(200)
197 .end(function (err) {
198 if (err) return done(err);
199 connect.serverClose();
200 setTimeout(function() {
201 request('http://localhost:' + liveReloadPort)
202 .get('/')
203 .end(function (err) {
204 if (err) return done();
205 done(new Error("Live reload is still running."));
206 })}, 100);
207 })
208 });
209 })
210 it('Fallback test', function (done) {
211 var port = portCounter++;
212 connect.server({
213 port: port,
214 fallback: __dirname + '/fixtures/simplest/index.html'
215 }, function() {
216 request('http://localhost:' + port)
217 .get('/not/existing/path')
218 .expect(/index page/)
219 .expect('Content-Type', new RegExp('text/html; charset=UTF-8'))
220 .expect(200)
221 .end(function (err, res) {
222 connect.serverClose();
223 if (err) return done(err);
224 done()
225 });
226 });
227 })
228})