feat: new aegir

This commit is contained in:
David Dias 2017-10-20 11:25:14 +01:00 committed by GitHub
parent f120f84e51
commit 3d3cdf1c1e
8 changed files with 58 additions and 50 deletions

22
.aegir.js Normal file
View File

@ -0,0 +1,22 @@
const multiaddr = require('multiaddr')
const pull = require('pull-stream')
const WS = require('./src')
let listener
module.exports = {
hooks: {
browser: {
pre (callback) {
const ws = new WS()
const ma = multiaddr('/ip4/127.0.0.1/tcp/9090/ws')
listener = ws.createListener((conn) => pull(conn, conn))
listener.listen(ma, callback)
},
post (callback) {
listener.close(callback)
}
}
}
}

4
.gitignore vendored
View File

@ -1,3 +1,6 @@
package-lock.json
yarn.lock
# Logs # Logs
logs logs
*.log *.log
@ -36,3 +39,4 @@ node_modules
*.swp *.swp
dist dist

View File

@ -3,8 +3,6 @@ language: node_js
matrix: matrix:
include: include:
- node_js: 4
env: CXX=g++-4.8
- node_js: 6 - node_js: 6
env: env:
- SAUCE=true - SAUCE=true

View File

@ -5,8 +5,10 @@ machine:
dependencies: dependencies:
pre: pre:
- google-chrome --version - google-chrome --version
- wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - - curl -L -o google-chrome.deb https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
- sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' - sudo dpkg -i google-chrome.deb || true
- sudo apt-get update - sudo apt-get update
- sudo apt-get --only-upgrade install google-chrome-stable - sudo apt-get install -f
- sudo apt-get install --only-upgrade lsb-base
- sudo dpkg -i google-chrome.deb
- google-chrome --version - google-chrome --version

View File

@ -1,24 +0,0 @@
'use strict'
const gulp = require('gulp')
const multiaddr = require('multiaddr')
const pull = require('pull-stream')
const WS = require('./src')
let listener
gulp.task('test:browser:before', (done) => {
const ws = new WS()
const ma = multiaddr('/ip4/127.0.0.1/tcp/9090/ws')
listener = ws.createListener((conn) => {
pull(conn, conn)
})
listener.listen(ma, done)
})
gulp.task('test:browser:after', (done) => {
listener.close(done)
})
require('aegir/gulp')(gulp)

View File

@ -4,16 +4,16 @@
"description": "JavaScript implementation of the WebSockets module that libp2p uses and that implements the interface-transport spec", "description": "JavaScript implementation of the WebSockets module that libp2p uses and that implements the interface-transport spec",
"main": "src/index.js", "main": "src/index.js",
"scripts": { "scripts": {
"lint": "aegir-lint", "lint": "aegir lint",
"test": "gulp test", "test": "aegir test",
"test:node": "gulp test:node", "test:node": "aegir test --target=node",
"test:browser": "gulp test:browser", "test:browser": "aegir test --target=browser",
"build": "gulp build", "build": "aegir build",
"release": "gulp release", "release": "aegir release",
"release-minor": "gulp release --type minor", "release-minor": "aegir release --type minor",
"release-major": "gulp release --type major", "release-major": "aegir release --type major",
"coverage": "gulp coverage", "coverage": "aegir coverage",
"coverage-publish": "aegir-coverage publish" "coverage-publish": "aegir coverage --upload"
}, },
"browser": { "browser": {
"pull-ws/server": false "pull-ws/server": false
@ -42,7 +42,7 @@
"pull-ws": "^3.2.9" "pull-ws": "^3.2.9"
}, },
"devDependencies": { "devDependencies": {
"aegir": "^11.0.2", "aegir": "github:ipfs/aegir",
"chai": "^4.1.1", "chai": "^4.1.1",
"dirty-chai": "^2.0.1", "dirty-chai": "^2.0.1",
"gulp": "^3.9.1", "gulp": "^3.9.1",
@ -50,7 +50,8 @@
"multiaddr": "^3.0.1", "multiaddr": "^3.0.1",
"pre-commit": "^1.2.2", "pre-commit": "^1.2.2",
"pull-goodbye": "0.0.2", "pull-goodbye": "0.0.2",
"pull-stream": "^3.6.0" "pull-stream": "^3.6.0",
"safe-buffer": "^5.1.1"
}, },
"contributors": [ "contributors": [
"Chris Campbell <christopher.d.campbell@gmail.com>", "Chris Campbell <christopher.d.campbell@gmail.com>",

View File

@ -24,12 +24,14 @@ class WebSockets {
log('dialing %s', url) log('dialing %s', url)
const socket = connect(url, { const socket = connect(url, {
binary: true, binary: true,
onConnect: (err) => callback(err) onConnect: (err) => {
callback(err)
}
}) })
const conn = new Connection(socket) const conn = new Connection(socket)
conn.getObservedAddrs = (callback) => callback(null, [ma]) conn.getObservedAddrs = (cb) => cb(null, [ma])
conn.close = (callback) => socket.close(callback) conn.close = (cb) => socket.close(cb)
return conn return conn
} }

View File

@ -20,7 +20,10 @@ describe('libp2p-websockets', () => {
beforeEach((done) => { beforeEach((done) => {
ws = new WS() ws = new WS()
expect(ws).to.exist() expect(ws).to.exist()
conn = ws.dial(ma, done) conn = ws.dial(ma, (err, res) => {
expect(err).to.not.exist()
done()
})
}) })
it('echo', (done) => { it('echo', (done) => {
@ -30,7 +33,7 @@ describe('libp2p-websockets', () => {
source: pull.values([message]), source: pull.values([message]),
sink: pull.collect((err, results) => { sink: pull.collect((err, results) => {
expect(err).to.not.exist() expect(err).to.not.exist()
expect(results).to.be.eql([message]) expect(results).to.eql([message])
done() done()
}) })
}) })
@ -40,13 +43,13 @@ describe('libp2p-websockets', () => {
describe('stress', () => { describe('stress', () => {
it('one big write', (done) => { it('one big write', (done) => {
const rawMessage = new Buffer(1000000).fill('a') const rawMessage = Buffer.allocUnsafe(1000000).fill('a')
const s = goodbye({ const s = goodbye({
source: pull.values([rawMessage]), source: pull.values([rawMessage]),
sink: pull.collect((err, results) => { sink: pull.collect((err, results) => {
expect(err).to.not.exist() expect(err).to.not.exist()
expect(results).to.be.eql([rawMessage]) expect(results).to.eql([rawMessage])
done() done()
}) })
}) })
@ -58,7 +61,7 @@ describe('libp2p-websockets', () => {
source: pull( source: pull(
pull.infinite(), pull.infinite(),
pull.take(1000), pull.take(1000),
pull.map((val) => Buffer(val.toString())) pull.map((val) => Buffer.from(val.toString()))
), ),
sink: pull.collect((err, result) => { sink: pull.collect((err, result) => {
expect(err).to.not.exist() expect(err).to.not.exist()