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
*.log
@ -36,3 +39,4 @@ node_modules
*.swp
dist

View File

@ -3,14 +3,12 @@ language: node_js
matrix:
include:
- node_js: 4
env: CXX=g++-4.8
- node_js: 6
env:
- SAUCE=true
- CXX=g++-4.8
- node_js: "stable"
env:
env:
- CXX=g++-4.8
# Make sure we have new NPM.

View File

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

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",
"main": "src/index.js",
"scripts": {
"lint": "aegir-lint",
"test": "gulp test",
"test:node": "gulp test:node",
"test:browser": "gulp test:browser",
"build": "gulp build",
"release": "gulp release",
"release-minor": "gulp release --type minor",
"release-major": "gulp release --type major",
"coverage": "gulp coverage",
"coverage-publish": "aegir-coverage publish"
"lint": "aegir lint",
"test": "aegir test",
"test:node": "aegir test --target=node",
"test:browser": "aegir test --target=browser",
"build": "aegir build",
"release": "aegir release",
"release-minor": "aegir release --type minor",
"release-major": "aegir release --type major",
"coverage": "aegir coverage",
"coverage-publish": "aegir coverage --upload"
},
"browser": {
"pull-ws/server": false
@ -42,7 +42,7 @@
"pull-ws": "^3.2.9"
},
"devDependencies": {
"aegir": "^11.0.2",
"aegir": "github:ipfs/aegir",
"chai": "^4.1.1",
"dirty-chai": "^2.0.1",
"gulp": "^3.9.1",
@ -50,7 +50,8 @@
"multiaddr": "^3.0.1",
"pre-commit": "^1.2.2",
"pull-goodbye": "0.0.2",
"pull-stream": "^3.6.0"
"pull-stream": "^3.6.0",
"safe-buffer": "^5.1.1"
},
"contributors": [
"Chris Campbell <christopher.d.campbell@gmail.com>",

View File

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

View File

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