1 const assert
= require('assert');
2 const http
= require('http');
3 const server
= require('../lib/prometheus-server');
4 const PrometheusConfig
= require('../lib/configuration/prometheusconfig').PrometheusConfig
;
6 describe('prometheus-server', () => {
8 let inst
= server
.init(new PrometheusConfig({
16 inst
.once('listening', () => done());
19 function checkReq(options
, done
) {
20 const req
= http
.request({
21 method
: options
.method
,
26 assert
.strictEqual(res
.statusCode
, options
.expectedStatusCode
);
27 assert
.strictEqual(res
.headers
['content-type'], options
.expectedContentType
);
28 res
.on('data', () => {});
29 res
.on('end', () => done());
35 it('rejects a non-GET request', done
=> {
39 expectedStatusCode
: 400,
40 expectedContentType
: 'text/plain'
44 it('rejects a request for the wrong path', done
=> {
48 expectedStatusCode
: 400,
49 expectedContentType
: 'text/plain'
53 it('accepts a request for the configured path', done
=> {
57 expectedStatusCode
: 200,
58 expectedContentType
: 'text/plain; version=0.0.4; charset=utf-8'