Skip to content

Commit

Permalink
tests: improve method of https test
Browse files Browse the repository at this point in the history
  • Loading branch information
dougwilson committed Oct 7, 2018
1 parent 34d8b8c commit 7240132
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 61 deletions.
27 changes: 15 additions & 12 deletions test/fixtures/server.crt
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
-----BEGIN CERTIFICATE-----
MIICDzCCAXgCCQDU0ITjRM5gZDANBgkqhkiG9w0BAQUFADBMMQswCQYDVQQGEwJV
UzEQMA4GA1UECBMHSW5kaWFuYTEUMBIGA1UEChMLbm9kZS1tb3JnYW4xFTATBgNV
BAMTDG1vcmdhbi5sb2NhbDAeFw0xNDA1MTgyMzUxNDBaFw0yNDA1MTUyMzUxNDBa
MEwxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdJbmRpYW5hMRQwEgYDVQQKEwtub2Rl
LW1vcmdhbjEVMBMGA1UEAxMMbW9yZ2FuLmxvY2FsMIGfMA0GCSqGSIb3DQEBAQUA
A4GNADCBiQKBgQDAraefjuiIuZVQhkM5eGDcLI2koGF+srPE1+JN35a7F5FfgtIU
A7VskRXYUMamcO89AD5UFh+193PH3ROUrd1sKGfJ1NHZXlP+AP8InbK1Rw7978pR
rUOC/RIjjZD21TDTPnGYcyA18lMuK2K72JtF3+Wu9grZW8K2ts9PwhljgwIDAQAB
MA0GCSqGSIb3DQEBBQUAA4GBABLevxa3jnRSWQo8kuT8QzkuW016lfT8g5m9loZe
Moyib50UeWi3RM1UHX9VjXqUuUkKr1D2gXdBaeegTNnXRGrP6mjkc6uEQqJXLWlc
snsusPR/YZjemWQFmyfXwUxFhSIhMAtY53viVoyQtDIC1lO5+OF5O1/ij7r8dYNk
/VZA
MIICwDCCAaigAwIBAgIJAJH0k+imlBVmMA0GCSqGSIb3DQEBCwUAMBQxEjAQBgNV
BAMTCWxvY2FsaG9zdDAgFw0xODExMDUwMTM5NThaGA8yMDY4MTAyMzAxMzk1OFow
FDESMBAGA1UEAxMJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEA3nXOaU7907qgMBLKd4ZuffDPZGN11BmdLCZ68myDVde4N8kzWH7d3ggF
puqcpGb0sSko7rpf1KHw1p02YEFLRyQigbMfUOSu72BR5aUpxVbG7C87qQ8YWE/8
3eiImDaDn5tMPnUTwfh0ITCWaW3/4u3PmQB2oJQo7tF5kOMqbY8tDPeO3lX9cx84
O8BvCchgIPSFthasIRZXnrJicCH0boesA6XNKJbSfoD2hNmUVK8aFeySJ60SdAns
DNuRJEINy1eEuyHobXleaSZrlQUSPdmqYXkPkrtzHReX63LUnlmxdzn4IZVN79Tu
YlahulqoIEsaIaAxoGethhNZenytUQIDAQABoxMwETAPBgNVHREECDAGhwR/AAAB
MA0GCSqGSIb3DQEBCwUAA4IBAQAYLS/7SV+4v3s8KLfOEtCdGw4w7IkBFi3LKKns
RH74CbDZANJlI/Cc7YuZx2zP/0ux1t2VtVvvMexL4fkQsAsZtLHK5TZq6EzsAIYF
jRXXhkSCfFvxxgj52PxsMD/3tRYZQ8OWyE1f3XL7rwXmeQxOvOuSvafGTXazrSS3
fmwE53QTLv8Sepf8pTacOY1jQ7pfI4ND3/dOwuO4cc+ulELeCsQq17TEKpL1aXqN
5gGKe02u9Otq2E39+2FaI11IKUg3EUWKezFlHrxEr32pLPHMq/arVFUOApTgLekB
UPGac0c4lowHqCXXQBQusihQtnY0JKbzwWnW4UBk5apGSHWR
-----END CERTIFICATE-----
43 changes: 28 additions & 15 deletions test/fixtures/server.key
Original file line number Diff line number Diff line change
@@ -1,15 +1,28 @@
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQDAraefjuiIuZVQhkM5eGDcLI2koGF+srPE1+JN35a7F5FfgtIU
A7VskRXYUMamcO89AD5UFh+193PH3ROUrd1sKGfJ1NHZXlP+AP8InbK1Rw7978pR
rUOC/RIjjZD21TDTPnGYcyA18lMuK2K72JtF3+Wu9grZW8K2ts9PwhljgwIDAQAB
AoGAYMjaInQOql9OeZx3uC6XuQFIRSGq15G8a2xl6OgfNuunwmpcTGFwiJB4gKhS
oNip0+KDbImQdD9QkVyjsVOEnSb9u2jLqY1+4fWIedZrK/KjwVuJcHOh6CCHDNvA
vt44a4315MTOwvDqwxgKDCtBklgQ7/zqQRtRhjsKpzaFjwECQQD7L0d8Fv9oeSZB
FFyfzLQVwtEgV90bOvbaI7Ac0TzODVZKp2sgKxLepngC2ZDYomEE+QjW3gzDN+EA
R3jmb1YTAkEAxF8/iwEB9AweU0bP1YvndD1GglhrgqYZhipBpkT2kVDTkC2R1jI7
B99SCdNafPj5jxAr1LDD18p3Dc5uhTcq0QJBAOpX/tJnxlvbA3SeIZg47B6NRnxt
XOylw15bA1ivYZI/4Sz/KzO03AL7vmWyQ6/JNsjj6npEahXL0VBoXgRnBR8CQQCP
evzFxwWzWItr04iWAnQqNX9oS8y6GDz8D7IKF8eE4+bBKNqvA+Kn3N9neHtcZtqJ
UoqEDGf8Kt4UQ2nzghyRAkBkqSHdXmmfTFFdaCp5c/a1EzJXgN3WiB495aFK0hNe
xvv/47uCM0SJbngyuib2wHKrAhGYW0qkldKZuM0KFuhX
-----END RSA PRIVATE KEY-----
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDedc5pTv3TuqAw
Esp3hm598M9kY3XUGZ0sJnrybINV17g3yTNYft3eCAWm6pykZvSxKSjuul/UofDW
nTZgQUtHJCKBsx9Q5K7vYFHlpSnFVsbsLzupDxhYT/zd6IiYNoOfm0w+dRPB+HQh
MJZpbf/i7c+ZAHaglCju0XmQ4yptjy0M947eVf1zHzg7wG8JyGAg9IW2FqwhFlee
smJwIfRuh6wDpc0oltJ+gPaE2ZRUrxoV7JInrRJ0CewM25EkQg3LV4S7IehteV5p
JmuVBRI92apheQ+Su3MdF5frctSeWbF3OfghlU3v1O5iVqG6WqggSxohoDGgZ62G
E1l6fK1RAgMBAAECggEAHKHG/lDXZI/pnCZe/sFDqVv8JWyTtsfRLeSKAHes87h/
ElcID8TMY45ew9wAazyBE+g7R3afbOum5sh3Pi5JNQ/WjSDzz+KPDWo1QDxgwvBn
S/DMWfcCaCNrZVhPdF/X0wwW5RcGgvmqYLczNMCepaN8C7I+km5fUlWNsvM5+72r
UwagsYzb4H6FeR5UnXDVoHXhFw/rIgiTqicv6Dg4y177Jev9RPlT9F+RKBVZE1+u
vB+v66yoN1w2if+wBQICWnqKu0YK+gL31hiFjlbd2SlFcHDl3U41FDdhEk7im13B
1e400/Fu4MYEmWgGJj82Mm+FBs6jh+CbcjTj4G7trQKBgQD3jswnm9RU21YaNW8N
mfEXFS8j/cuzJe8Va8swrPh/8L/4L6pdfjrfpA0wXq/SuIiz+xZgszfVlSD1Rf+t
IcbW71OhahIRglvFRbqk8NYX6uzniWE4IpFBgt9o8HaI8dvfIJNUy3Pc2c6ZgzCc
ZBQbwic65K7VHYVlZ+NANKgN7wKBgQDmC+d9OkPSvOvt7miD5AlUepfHmxDYz9Kf
UezOqHsI4i8O0cr2PL+HPgOOEsjgB2IIZAcGSV/IqT0Ys4y1KLDU0KMgao//tPFp
4cN/SxgeaK6WLZP+OAvFi2UXpqUaeCCM/7KaaLoi/WoMqCLJcuJpO8MxsDikg/jp
rNoOANI4vwKBgQCiBOdAlRAmaVa02HvSHwpW3Rp5J8WFfjI3htD5Dnuk4GADgs6x
WcgWTjwDiDTyaKuvf4lpyGGme2+Slzl6ijyktwW5Ar7IjtSZC8XX5Xd5N9vMvXDP
WHBQu+KTv60Ue5Y3Ng621GEEDdjVR7Ms56Lxd+RM+xYhjKydbZyhjNTgKQKBgA9K
U0Sbjs5/CB90bTX2/jfDPjtiLyh6B8HXLCpAQI1Cm2Ycw6TCPOi8Ungq/3cEhpuQ
KndcgSVROmJd7MhNwBMlGvKYoqGYYUNsYhYf46aBxrjspp2LFB05OqrrxKWRvngg
trpUo6qXtWjJ9CX3oNzlv/+ZeupUa0L83jF4FID5AoGAE3Y42ixUqv86R8ZtK02z
FA86hT01M2WW7YJyePWQ0/x64Ym3seTzutDFCtEpkAbt+lu/YaCRTz8/NjF0KYzN
xJ4jjeiccbqslLuVMSfpY7LAm+udn+PsOpL5ezCzwgnFkZAVSKV+VDdENkQCtMaL
zGVrPC/Lt2tJiLSllgFace0=
-----END PRIVATE KEY-----
57 changes: 23 additions & 34 deletions test/morgan.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@
process.env.NO_DEPRECATION = 'morgan'

var assert = require('assert')
var fs = require('fs')
var http = require('http')
var https = require('https')
var join = require('path').join
var morgan = require('..')
var request = require('supertest')
Expand Down Expand Up @@ -407,14 +409,6 @@ describe('morgan()', function () {
})

it('should work on https server', function (done) {
var fs = require('fs')
var https = require('https')
var cert = fs.readFileSync(join(__dirname, 'fixtures/server.crt'), 'ascii')
var server = https.createServer({
key: fs.readFileSync(join(__dirname, 'fixtures/server.key'), 'ascii'),
cert: cert
})

var cb = after(2, function (err, res, line) {
if (err) return done(err)
assert.ok(res.text.length > 0)
Expand All @@ -425,31 +419,13 @@ describe('morgan()', function () {
var stream = createLineStream(function (line) {
cb(null, null, line)
})
var logger = morgan(':remote-addr', { stream: stream })

server.on('request', function (req, res) {
logger(req, res, function (err) {
if (err) {
res.statusCode = 500
res.end(err.stack)
} else {
delete req._remoteAddress
res.end(req.connection.remoteAddress)
}
})
})

var agent = new https.Agent({ ca: cert })
var createConnection = agent.createConnection
var server = createSecureServer(':remote-addr', { stream: stream })

agent.createConnection = function (options) {
options.servername = 'morgan.local'
return createConnection.call(this, options)
}

var req = request(server).get('/')
req.agent(agent)
req.expect(200, cb)
request(server)
.get('/')
.ca(server.cert)
.expect(200, cb)
})

it('should work when connection: close', function (done) {
Expand Down Expand Up @@ -1444,11 +1420,11 @@ function createLineStream (callback) {
return split().on('data', callback)
}

function createServer (format, opts, fn, fn1) {
function createRequestListener (format, opts, fn, fn1) {
var logger = morgan(format, opts)
var middle = fn || noopMiddleware

return http.createServer(function onRequest (req, res) {
return function onRequest (req, res) {
// prior alterations
if (fn1) {
fn1(req, res)
Expand All @@ -1466,7 +1442,20 @@ function createServer (format, opts, fn, fn1) {
res.end((req.connection && req.connection.remoteAddress) || '-')
})
})
})
}
}

function createSecureServer (format, opts, fn, fn1) {
var cert = fs.readFileSync(join(__dirname, 'fixtures', 'server.crt'), 'ascii')
var key = fs.readFileSync(join(__dirname, 'fixtures', 'server.key'), 'ascii')

return https.createServer({ cert: cert, key: key })
.on('request', createRequestListener(format, opts, fn, fn1))
}

function createServer (format, opts, fn, fn1) {
return http.createServer()
.on('request', createRequestListener(format, opts, fn, fn1))
}

function expandColorCharacters (str) {
Expand Down

0 comments on commit 7240132

Please sign in to comment.