1 |
|
2 |
|
3 |
|
4 |
|
5 | "use strict";
|
6 |
|
7 | let create = require('../lib/create.js'),
|
8 | freeport = require('freeport'),
|
9 | async = require('async'),
|
10 | assert = require('assert'),
|
11 | apemanApp = require('apeman-app'),
|
12 | request = require('request');
|
13 |
|
14 | describe('create', () => {
|
15 |
|
16 | it('Create an app.', (done) => {
|
17 | let app = create({});
|
18 | assert.ok(app);
|
19 | freeport(function (err, port) {
|
20 | assert.ifError(err);
|
21 | apemanApp('testing-app', {
|
22 | configuration: {
|
23 | $apps: {
|
24 | 'testing-app': {
|
25 | '/': [
|
26 | app,
|
27 | function (req, res, next) {
|
28 | let format = req.format;
|
29 | res.end('format:' + format);
|
30 | }
|
31 | ]
|
32 | }
|
33 | }
|
34 | },
|
35 | port: port
|
36 | }, function (err, server) {
|
37 | let baseUrl = 'http://localhost:' + port;
|
38 | assert.ifError(err);
|
39 | async.series([
|
40 | function (callback) {
|
41 | request(baseUrl + '/foo.json', (err, res, body) => {
|
42 | assert.ifError(err);
|
43 | assert.equal(body, "format:json");
|
44 | callback(err);
|
45 |
|
46 | });
|
47 | },
|
48 | function (callback) {
|
49 | request(baseUrl + '/foo.xml', (err, res, body) => {
|
50 | assert.ifError(err);
|
51 | assert.equal(body, "format:xml");
|
52 | callback(err);
|
53 |
|
54 | });
|
55 | },
|
56 | function (callback) {
|
57 | request(baseUrl + '/foo', (err, res, body) => {
|
58 | assert.ifError(err);
|
59 | assert.equal(body, "format:json");
|
60 | callback(err);
|
61 |
|
62 | });
|
63 | }
|
64 | ], function (err) {
|
65 | assert.ifError(err);
|
66 | server.close();
|
67 | done();
|
68 | });
|
69 | });
|
70 | });
|
71 | });
|
72 | });
|
73 |
|