1 | var request = require('supertest');
|
2 | var connect = require('../index');
|
3 | require('mocha');
|
4 |
|
5 | var portCounter = 35000;
|
6 | describe('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 | })
|
43 | describe('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 |
|
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 | })
|