Skip to content

Commit

Permalink
refactor: unify pattern
Browse files Browse the repository at this point in the history
  • Loading branch information
Kikobeats committed May 17, 2023
1 parent 525ac90 commit 1656f3f
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 43 deletions.
16 changes: 8 additions & 8 deletions packages/browserless/test/index.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
'use strict'

const { createBrowser, getBrowserContext, getBrowser } = require('@browserless/test/util')
const http = require('http')
const { request, createServer } = require('http')

const test = require('ava')

Expand All @@ -10,11 +10,11 @@ require('@browserless/test')(getBrowser())
test('pass specific options to a context', async t => {
const proxiedRequestUrls = []

const proxy = http
.createServer((req, res) => {
const serverUrl = (() => {
const server = createServer((req, res) => {
proxiedRequestUrls.push(req.url)

const proxyRequest = http.request(
const proxyRequest = request(
req.url,
{
method: req.method,
Expand All @@ -27,12 +27,12 @@ test('pass specific options to a context', async t => {
)

req.pipe(proxyRequest, { end: true })
})
.listen()
}).listen()

const proxyServer = `http://[::]:${proxy.address().port}`
return `http://[::]:${server.address().port}`
})()

const browserless = await getBrowserContext(t, { proxyServer })
const browserless = await getBrowserContext(t, { proxyServer: serverUrl })
const page = await browserless.page()
t.teardown(() => page.close())

Expand Down
30 changes: 16 additions & 14 deletions packages/goto/test/unit/headers/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,22 @@ const test = require('ava')

const browser = createBrowser({ evasions: false })

const server = createServer((req, res) => {
if (req.headers.cookie) {
const cookies = req.headers.cookie.split(';').map(cookie => cookie.trim())
res.setHeader('set-cookie', cookies)
}
res.setHeader('content-type', 'application/json')
res.end(
JSON.stringify({
headers: req.headers
})
)
}).listen()

const serverUrl = `http://[::]:${server.address().port}`
const serverUrl = (() => {
const server = createServer((req, res) => {
if (req.headers.cookie) {
const cookies = req.headers.cookie.split(';').map(cookie => cookie.trim())
res.setHeader('set-cookie', cookies)
}
res.setHeader('content-type', 'application/json')
res.end(
JSON.stringify({
headers: req.headers
})
)
}).listen()

return `http://[::]:${server.address().port}`
})()

const createPing = browserless =>
browserless.evaluate(async (page, response) => {
Expand Down
30 changes: 10 additions & 20 deletions packages/test/index.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
'use strict'

const { imgDiff } = require('img-diff-js')
const { listen } = require('async-listen')
const existsFile = require('exists-file')
const { onExit } = require('signal-exit')
const { createServer } = require('http')
Expand Down Expand Up @@ -29,8 +28,8 @@ const imageComparison = async (t, expectedFilename, filename) => {
return looksSame(expectedFilename, actualFilename)
}

const getServerUrl = (() => {
const server = createServer(async (req, res) => {
const serverUrl = (() => {
const server = createServer((_, res) => {
res.setHeader('Content-Type', 'text/html')
return res.end(`<!DOCTYPE html>
<html lang="en">
Expand All @@ -43,40 +42,35 @@ const getServerUrl = (() => {
<p>hello world</p>
</body>
</html>`)
})
}).listen()

const promise = listen(server)
return () => promise
return `http://[::]:${server.address().port}`
})()

module.exports = (browser, teardown = browser.close) => {
onExit(teardown)

test('.html', async t => {
const url = await getServerUrl()
const browserless = await browser.createContext()
t.teardown(browserless.destroyContext)
const html = await browserless.html(url, { adblock: false, animations: true })
const html = await browserless.html(serverUrl, { adblock: false, animations: true })
t.snapshot(html)
})

test('.text', async t => {
const url = await getServerUrl()

const browserless = await browser.createContext()
t.teardown(browserless.destroyContext)
const text = await browserless.text(url)
const text = await browserless.text(serverUrl)

t.snapshot(text)
})

test('.screenshot (png)', async t => {
const url = await getServerUrl()
const filepath = temp.file({ extension: 'png' })

const browserless = await browser.createContext()
t.teardown(browserless.destroyContext)
await browserless.screenshot(url, { path: filepath })
await browserless.screenshot(serverUrl, { path: filepath })

const { diffCount } = await imageComparison(t, filepath, 'example.png')

Expand All @@ -87,12 +81,11 @@ module.exports = (browser, teardown = browser.close) => {
})

test('.screenshot (jpeg)', async t => {
const url = await getServerUrl()
const filepath = temp.file({ extension: 'jpeg' })

const browserless = await browser.createContext()
t.teardown(browserless.destroyContext)
await browserless.screenshot(url, { type: 'jpeg', path: filepath })
await browserless.screenshot(serverUrl, { type: 'jpeg', path: filepath })

const { diffCount } = await imageComparison(t, filepath, 'example.jpeg')

Expand All @@ -103,12 +96,11 @@ module.exports = (browser, teardown = browser.close) => {
})

test.skip('.screenshot with device emulation', async t => {
const url = await getServerUrl()
const filepath = temp.file({ extension: 'png' })

const browserless = await browser.createContext()
t.teardown(browserless.destroyContext)
await browserless.screenshot(url, { device: 'iPhone 6', path: filepath })
await browserless.screenshot(serverUrl, { device: 'iPhone 6', path: filepath })

const { diffCount } = await imageComparison(t, filepath, 'iphone.png')

Expand All @@ -119,11 +111,9 @@ module.exports = (browser, teardown = browser.close) => {
})

test('.pdf', async t => {
const url = await getServerUrl()

const browserless = await browser.createContext()
t.teardown(browserless.destroyContext)
const buffer = await browserless.pdf(url)
const buffer = await browserless.pdf(serverUrl)

const data = await pdf(buffer)

Expand Down
1 change: 0 additions & 1 deletion packages/test/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@
"test"
],
"devDependencies": {
"async-listen": "latest",
"browserless": "latest",
"exists-file": "latest",
"fs-extra": "latest",
Expand Down

0 comments on commit 1656f3f

Please sign in to comment.