Exemplo n.º 1
0
test('can request multiple urls', function t(assert) {
    var router = HttpHashRouter();
    var server = http.createServer(defaultHandler(router));
    server.listen(0);

    router.set('/foo', function foo(req, res) {
        res.end('foo');
    });
    router.set('/bar', function bar(req, res) {
        res.end('bar');
    });

    makeRequest(server, {
        url: '/foo'
    }, function onResp(err, resp) {
        assert.ifError(err);

        assert.equal(resp.statusCode, 200);
        assert.equal(resp.body, 'foo');

        makeRequest(server, {
            url: '/bar'
        }, function onResp(err, resp) {
            assert.ifError(err);

            assert.equal(resp.statusCode, 200);
            assert.equal(resp.body, 'bar');

            server.close();
            assert.end();
        });
    });
});
Exemplo n.º 2
0
    }, function onResp(err, resp) {
        assert.ifError(err);

        assert.equal(resp.statusCode, 200);
        assert.equal(resp.body, 'get');

        makeRequest(server, {
            url: '/foo',
            method: 'POST'
        }, function onResp(err, resp) {
            assert.ifError(err);

            assert.equal(resp.statusCode, 200);
            assert.equal(resp.body, 'post');

            makeRequest(server, {
                url: '/foo',
                method: 'PUT'
            }, function onResp(err, resp) {
                assert.ifError(err);

                assert.equal(resp.statusCode, 405);
                assert.equal(resp.body,
                    '405 Method Not Allowed');

                server.close();
                assert.end();
            });
        });
    });
Exemplo n.º 3
0
test('supports methods', function t(assert) {
    var router = HttpHashRouter();
    var server = http.createServer(defaultHandler(router));
    server.listen(0);

    router.set('/foo', {
        GET: function onFoo(req, res) {
            res.end('get');
        },
        POST: function onPost(req, res) {
            res.end('post');
        }
    });

    makeRequest(server, {
        url: '/foo',
        method: 'GET'
    }, function onResp(err, resp) {
        assert.ifError(err);

        assert.equal(resp.statusCode, 200);
        assert.equal(resp.body, 'get');

        makeRequest(server, {
            url: '/foo',
            method: 'POST'
        }, function onResp(err, resp) {
            assert.ifError(err);

            assert.equal(resp.statusCode, 200);
            assert.equal(resp.body, 'post');

            makeRequest(server, {
                url: '/foo',
                method: 'PUT'
            }, function onResp(err, resp) {
                assert.ifError(err);

                assert.equal(resp.statusCode, 405);
                assert.equal(resp.body,
                    '405 Method Not Allowed');

                server.close();
                assert.end();
            });
        });
    });
});
Exemplo n.º 4
0
test('returns a 404 error', function t(assert) {
    var router = HttpHashRouter();
    var server = http.createServer(defaultHandler(router));
    server.listen(0);

    makeRequest(server, {
        url: '/'
    }, function onResp(err, resp) {
        assert.ifError(err);

        assert.equal(resp.statusCode, 404);
        assert.equal(resp.body, 'Resource Not Found');

        server.close();
        assert.end();
    });
});
Exemplo n.º 5
0
    }, function onResp(err, resp) {
        assert.ifError(err);

        assert.equal(resp.statusCode, 200);
        assert.equal(resp.body, 'foo');

        makeRequest(server, {
            url: '/bar'
        }, function onResp(err, resp) {
            assert.ifError(err);

            assert.equal(resp.statusCode, 200);
            assert.equal(resp.body, 'bar');

            server.close();
            assert.end();
        });
    });
Exemplo n.º 6
0
test('supports splats', function t(assert) {
    var router = HttpHashRouter();
    var server = http.createServer(defaultHandler(router));
    server.listen(0);

    router.set('/*', function onFoo(req, res, opts) {
        res.end(JSON.stringify(opts.splat));
    });

    makeRequest(server, {
        url: '/bar'
    }, function onResp(err, resp) {
        assert.ifError(err);

        assert.equal(resp.statusCode, 200);
        assert.equal(resp.body, '"bar"');

        server.close();
        assert.end();
    });
});