diff --git a/pdd/README.md b/pdd/README.md deleted file mode 100644 index 6388e7cc8d..0000000000 --- a/pdd/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# PDD Test Stories Implementation - -> Implementation of the Compliance tests from https://github.com/libp2p/interop diff --git a/pdd/package.json b/pdd/package.json deleted file mode 100644 index 52b1166942..0000000000 --- a/pdd/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "pdd-impl", - "version": "0.0.0", - "description": "PDD Test Stories implementation", - "repository": { - "type": "git", - "url": " " - }, - "keywords": [ - "PDD", - "libp2p" - ], - "author": "David Dias ", - "license": "MIT", - "dependencies": { - "libp2p": "file:./..", - "libp2p-interop": "github:libp2p/interop#master", - "tape": "^4.8.0" - } -} diff --git a/pdd/pdd-the-ipfs-bundle--story-1--peer-a.js b/pdd/pdd-the-ipfs-bundle--story-1--peer-a.js deleted file mode 100644 index e49c061228..0000000000 --- a/pdd/pdd-the-ipfs-bundle--story-1--peer-a.js +++ /dev/null @@ -1,104 +0,0 @@ -'use strict' - -const test = require('tape') -const libp2p = require('libp2p') -const TCP = require('libp2p-tcp') -const WebSockets = require('libp2p-websockets') -const SECIO = require('libp2p-secio') -const Multiplex = require('libp2p-multiplex') -const Railing = require('libp2p-railing') -const MulticastDNS = require('libp2p-mdns') -const KadDHT = require('libp2p-kad-dht') -const PeerInfo = require('peer-info') -const pull = require('pull-stream') -const waterfall = require('async/waterfall') -const series = require('async/series') -const PeerA = require('libp2p-interop/peer-a.json') -const PeerB = require('libp2p-interop/peer-b.json') - -class IPFSBundle extends libp2p { - constructor (peerInfo, options) { - options = Object.assign({ bootstrap: [] }, options) - - const modules = { - transport: [ - new TCP(), - new WebSockets() - ], - connection: { - muxer: [ - Multiplex - ], - crypto: [ - SECIO - ] - }, - discovery: [ - new MulticastDNS(peerInfo, 'ipfs.local'), - new Railing(options.bootstrap) - ], - DHT: KadDHT - } - - super(modules, peerInfo, undefined, options) - } -} - -test('story 1 - peerA', (t) => { - t.plan(10) - let node - - waterfall([ - (cb) => PeerInfo.create(PeerA, cb), - (peerInfo, cb) => { - peerInfo.multiaddrs.add('/ip4/127.0.0.1/tcp/10000') - node = new IPFSBundle(peerInfo) - node.start(cb) - } - ], (err) => { - t.ifErr(err, 'created Node successfully') - t.ok(node.isStarted(), 'PeerA is Running') - - const peerBAddr = `/ip4/127.0.0.1/tcp/10001/p2p/${PeerB.id}` - - node.handle('/time/1.0.0', (protocol, conn) => { - pull( - pull.values([Date.now().toString()]), - conn, - pull.onEnd((err) => { - t.ifErr(err) - t.pass('Sent time successfully') - }) - ) - }) - - series([ - (cb) => setTimeout(cb, 5 * 1000), // time to run both scripts - (cb) => node.ping(peerBAddr, (err, p) => { - t.ifErr(err, 'initiated Ping to PeerB') - p.once('error', (err) => t.ifErr(err, 'Ping should not fail')) - p.once('ping', (time) => { - t.pass('ping PeerB successfully') - p.stop() - cb() - }) - }), - (cb) => node.dial(peerBAddr, '/echo/1.0.0', (err, conn) => { - t.ifErr(err, 'dial successful') - - const data = Buffer.from('Hey') - - pull( - pull.values([data]), - conn, - pull.collect((err, values) => { - t.ifErr(err, 'Received echo back') - t.deepEqual(values[0], data) - cb() - }) - ) - }), - (cb) => setTimeout(cb, 2 * 1000) // time to both finish - ], () => node.stop((err) => t.ifErr(err, 'PeerA has stopped'))) - }) -}) diff --git a/pdd/pdd-the-ipfs-bundle--story-1--peer-b.js b/pdd/pdd-the-ipfs-bundle--story-1--peer-b.js deleted file mode 100644 index e55fa6555f..0000000000 --- a/pdd/pdd-the-ipfs-bundle--story-1--peer-b.js +++ /dev/null @@ -1,98 +0,0 @@ -'use strict' - -const test = require('tape') -const libp2p = require('libp2p') -const TCP = require('libp2p-tcp') -const WebSockets = require('libp2p-websockets') -const SECIO = require('libp2p-secio') -const Multiplex = require('libp2p-multiplex') -const Railing = require('libp2p-railing') -const MulticastDNS = require('libp2p-mdns') -const KadDHT = require('libp2p-kad-dht') -const PeerInfo = require('peer-info') -const pull = require('pull-stream') -const waterfall = require('async/waterfall') -const series = require('async/series') -const PeerA = require('libp2p-interop/peer-a.json') -const PeerB = require('libp2p-interop/peer-b.json') - -class IPFSBundle extends libp2p { - constructor (peerInfo, options) { - options = Object.assign({ bootstrap: [] }, options) - - const modules = { - transport: [ - new TCP(), - new WebSockets() - ], - connection: { - muxer: [ - Multiplex - ], - crypto: [ - SECIO - ] - }, - discovery: [ - new MulticastDNS(peerInfo, 'ipfs.local'), - new Railing(options.bootstrap) - ], - DHT: KadDHT - } - - super(modules, peerInfo, undefined, options) - } -} - -test('story 1 - peerA', (t) => { - t.plan(8) - let node - - waterfall([ - (cb) => PeerInfo.create(PeerB, cb), - (peerInfo, cb) => { - peerInfo.multiaddrs.add('/ip4/127.0.0.1/tcp/10001') - node = new IPFSBundle(peerInfo) - node.start(cb) - } - ], (err) => { - t.ifErr(err, 'created Node successfully') - t.ok(node.isStarted(), 'PeerB is Running') - - const peerAAddr = `/ip4/127.0.0.1/tcp/10000/p2p/${PeerA.id}` - - node.handle('/echo/1.0.0', (protocol, conn) => { - pull( - conn, - conn, - pull.onEnd((err) => t.ifErr(err, 'echo was successful')) - ) - }) - - series([ - (cb) => setTimeout(cb, 5 * 1000), // time to run both scripts - (cb) => node.ping(peerAAddr, (err, p) => { - t.ifErr(err, 'initiated Ping to PeerA') - p.once('error', (err) => t.ifErr(err, 'Ping should not fail')) - p.once('ping', (time) => { - t.pass('ping PeerA successfully') - p.stop() - cb() - }) - }), - (cb) => node.dial(peerAAddr, '/time/1.0.0', (err, conn) => { - t.ifErr(err, 'dial successful') - - pull( - pull.values([]), - conn, - pull.collect((err, values) => { - t.ifErr(err, 'Received time') - cb() - }) - ) - }), - (cb) => setTimeout(cb, 2 * 1000) // time to both finish - ], () => node.stop((err) => t.ifErr(err, 'PeerB has stopped'))) - }) -}) diff --git a/pdd/pdd-the-ipfs-bundle--story-2--peer-a.js b/pdd/pdd-the-ipfs-bundle--story-2--peer-a.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/pdd/pdd-the-ipfs-bundle--story-2--peer-b.js b/pdd/pdd-the-ipfs-bundle--story-2--peer-b.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/pdd/pdd-the-ipfs-bundle--story-3--peer-a.js b/pdd/pdd-the-ipfs-bundle--story-3--peer-a.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/pdd/pdd-the-ipfs-bundle--story-3--peer-b.js b/pdd/pdd-the-ipfs-bundle--story-3--peer-b.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/pdd/pdd-the-ipfs-bundle--story-3--peer-c.js b/pdd/pdd-the-ipfs-bundle--story-3--peer-c.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/pdd/pdd-the-ipfs-bundle--story-4--peer-a.js b/pdd/pdd-the-ipfs-bundle--story-4--peer-a.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/pdd/pdd-the-ipfs-bundle--story-4--peer-b.js b/pdd/pdd-the-ipfs-bundle--story-4--peer-b.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/pdd/pdd-the-ipfs-bundle--story-4--peer-c.js b/pdd/pdd-the-ipfs-bundle--story-4--peer-c.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/pdd/pdd-the-ipfs-bundle--story-4--peer-d.js b/pdd/pdd-the-ipfs-bundle--story-4--peer-d.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/pdd/pdd-the-ipfs-bundle--story-4--peer-e.js b/pdd/pdd-the-ipfs-bundle--story-4--peer-e.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/pdd/pdd-the-ipfs-bundle--story-5--peer-a.js b/pdd/pdd-the-ipfs-bundle--story-5--peer-a.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/pdd/pdd-the-ipfs-bundle--story-5--peer-b.js b/pdd/pdd-the-ipfs-bundle--story-5--peer-b.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/pdd/pdd-the-ipfs-bundle--story-5--peer-c.js b/pdd/pdd-the-ipfs-bundle--story-5--peer-c.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/pdd/pdd-the-ipfs-bundle--story-5--peer-d.js b/pdd/pdd-the-ipfs-bundle--story-5--peer-d.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/pdd/pdd-the-ipfs-bundle--story-5--peer-e.js b/pdd/pdd-the-ipfs-bundle--story-5--peer-e.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/pdd/pdd-transport--story-1--peer-a.js b/pdd/pdd-transport--story-1--peer-a.js deleted file mode 100644 index e44b9c4d1e..0000000000 --- a/pdd/pdd-transport--story-1--peer-a.js +++ /dev/null @@ -1,54 +0,0 @@ -'use strict' - -const test = require('tape') -const libp2p = require('libp2p') -const TCP = require('libp2p-tcp') -const PeerInfo = require('peer-info') -const waterfall = require('async/waterfall') -const pull = require('pull-stream') -const PeerA = require('libp2p-interop/peer-a.json') -const PeerB = require('libp2p-interop/peer-b.json') - -class MyBundle extends libp2p { - constructor (peerInfo) { - const modules = { - transport: [new TCP()] - } - super(modules, peerInfo) - } -} - -test('story 1 - peerA', (t) => { - t.plan(6) - let node - - waterfall([ - (cb) => PeerInfo.create(PeerA, cb), - (peerInfo, cb) => { - peerInfo.multiaddrs.add('/ip4/127.0.0.1/tcp/10000') - node = new MyBundle(peerInfo) - node.start(cb) - } - ], (err) => { - t.ifErr(err, 'created Node') - t.ok(node.isStarted(), 'PeerA is running') - - const PeerBAddr = `/ip4/127.0.0.1/tcp/10001/p2p/${PeerB.id}` - - node.dial(PeerBAddr, '/echo/1.0.0', (err, conn) => { - t.ifErr(err, 'dial successful') - - const data = Buffer.from('Heey') - - pull( - pull.values([data]), - conn, - pull.collect((err, values) => { - t.ifErr(err, 'Received echo back') - t.deepEqual(values[0], data) - node.stop((err) => t.ifErr(err, 'PeerA has stopped')) - }) - ) - }) - }) -}) diff --git a/pdd/pdd-transport--story-1--peer-b.js b/pdd/pdd-transport--story-1--peer-b.js deleted file mode 100644 index c5089d1bd2..0000000000 --- a/pdd/pdd-transport--story-1--peer-b.js +++ /dev/null @@ -1,49 +0,0 @@ -'use strict' - -const test = require('tape') -const libp2p = require('libp2p') -const TCP = require('libp2p-tcp') -const PeerInfo = require('peer-info') -const waterfall = require('async/waterfall') -const pull = require('pull-stream') -const PeerB = require('libp2p-interop/peer-b.json') - -class MyBundle extends libp2p { - constructor (peerInfo) { - const modules = { - transport: [new TCP()] - } - super(modules, peerInfo) - } -} - -test('story 1 - peerB', (t) => { - t.plan(5) - let node - - waterfall([ - (cb) => PeerInfo.create(PeerB, cb), - (peerInfo, cb) => { - peerInfo.multiaddrs.add('/ip4/127.0.0.1/tcp/10001') - node = new MyBundle(peerInfo) - node.start(cb) - } - ], (err) => { - t.ifErr(err) - t.ok(node.isStarted(), 'PeerB is running') - - node.handle('/echo/1.0.0', (protocol, conn) => { - pull( - conn, - conn, - pull.onEnd((err) => { - t.ifErr(err) - t.pass('Received End of Connection') - node.stop((err) => { - t.ifErr(err, 'PeerB has stopped') - }) - }) - ) - }) - }) -}) diff --git a/pdd/pdd-transport--story-2--peer-a.js b/pdd/pdd-transport--story-2--peer-a.js deleted file mode 100644 index ab6d3be78e..0000000000 --- a/pdd/pdd-transport--story-2--peer-a.js +++ /dev/null @@ -1,54 +0,0 @@ -'use strict' - -const test = require('tape') -const libp2p = require('libp2p') -const WebSockets = require('libp2p-websockets') -const PeerInfo = require('peer-info') -const waterfall = require('async/waterfall') -const pull = require('pull-stream') -const PeerA = require('libp2p-interop/peer-a.json') -const PeerB = require('libp2p-interop/peer-b.json') - -class MyBundle extends libp2p { - constructor (peerInfo) { - const modules = { - transport: [new WebSockets()] - } - super(modules, peerInfo) - } -} - -test('story 2 - peerA', (t) => { - t.plan(6) - let node - - waterfall([ - (cb) => PeerInfo.create(PeerA, cb), - (peerInfo, cb) => { - peerInfo.multiaddrs.add('/ip4/127.0.0.1/tcp/10000/ws') - node = new MyBundle(peerInfo) - node.start(cb) - } - ], (err) => { - t.ifErr(err, 'created Node') - t.ok(node.isStarted(), 'PeerA is running') - - const PeerBAddr = `/ip4/127.0.0.1/tcp/10001/p2p/${PeerB.id}` - - node.dial(PeerBAddr, '/echo/1.0.0', (err, conn) => { - t.ifErr(err, 'dial successful') - - const data = Buffer.from('Heey') - - pull( - pull.values([data]), - conn, - pull.collect((err, values) => { - t.ifErr(err, 'Received echo back') - t.deepEqual(values[0], data) - node.stop((err) => t.ifErr(err, 'PeerA has stopped')) - }) - ) - }) - }) -}) diff --git a/pdd/pdd-transport--story-2--peer-b.js b/pdd/pdd-transport--story-2--peer-b.js deleted file mode 100644 index 44a9c4af9c..0000000000 --- a/pdd/pdd-transport--story-2--peer-b.js +++ /dev/null @@ -1,49 +0,0 @@ -'use strict' - -const test = require('tape') -const libp2p = require('libp2p') -const WebSockets = require('libp2p-websockets') -const PeerInfo = require('peer-info') -const waterfall = require('async/waterfall') -const pull = require('pull-stream') -const PeerB = require('libp2p-interop/peer-b.json') - -class MyBundle extends libp2p { - constructor (peerInfo) { - const modules = { - transport: [new WebSockets()] - } - super(modules, peerInfo) - } -} - -test('story 2 - peerB', (t) => { - t.plan(5) - let node - - waterfall([ - (cb) => PeerInfo.create(PeerB, cb), - (peerInfo, cb) => { - peerInfo.multiaddrs.add('/ip4/127.0.0.1/tcp/10001/ws') - node = new MyBundle(peerInfo) - node.start(cb) - } - ], (err) => { - t.ifErr(err) - t.ok(node.isStarted(), 'PeerB is running') - - node.handle('/echo/1.0.0', (protocol, conn) => { - pull( - conn, - pull.through(v => v, err => { - t.ifErr(err) - t.pass('Received End of Connection') - node.stop((err) => { - t.ifErr(err, 'PeerB has stopped') - }) - }), - conn - ) - }) - }) -}) diff --git a/pdd/pdd-transport--story-3--peer-a.js b/pdd/pdd-transport--story-3--peer-a.js deleted file mode 100644 index 9662ef5e62..0000000000 --- a/pdd/pdd-transport--story-3--peer-a.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict' - -const test = require('tape') -const libp2p = require('libp2p') -const TCP = require('libp2p-tcp') -const PeerInfo = require('peer-info') -const waterfall = require('async/waterfall') -const PeerA = require('libp2p-interop/peer-a.json') -const PeerB = require('libp2p-interop/peer-b.json') - -class MyBundle extends libp2p { - constructor (peerInfo) { - const modules = { - transport: [new TCP()] - } - super(modules, peerInfo) - } -} - -test('story 3 - peerA', (t) => { - t.plan(4) - let node - - waterfall([ - (cb) => PeerInfo.create(PeerA, cb), - (peerInfo, cb) => { - peerInfo.multiaddrs.add('/ip4/127.0.0.1/tcp/10000') - node = new MyBundle(peerInfo) - node.start(cb) - } - ], (err) => { - t.ifErr(err, 'created Node') - t.ok(node.isStarted(), 'PeerA is running') - - const PeerBAddr = `/ip4/127.0.0.1/tcp/10001/ws/p2p/${PeerB.id}` - - setTimeout(() => node.dial(PeerBAddr, '/echo/1.0.0', (err, conn) => { - t.ok(err, 'dial failed') - node.stop((err) => t.ifErr(err, 'PeerA has stopped')) - }), 1000) - }) -}) diff --git a/pdd/pdd-transport--story-3--peer-b.js b/pdd/pdd-transport--story-3--peer-b.js deleted file mode 100644 index 89ed12996a..0000000000 --- a/pdd/pdd-transport--story-3--peer-b.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict' - -const test = require('tape') -const libp2p = require('libp2p') -const WebSockets = require('libp2p-websockets') -const PeerInfo = require('peer-info') -const waterfall = require('async/waterfall') -const PeerA = require('libp2p-interop/peer-a.json') -const PeerB = require('libp2p-interop/peer-b.json') - -class MyBundle extends libp2p { - constructor (peerInfo) { - const modules = { - transport: [new WebSockets()] - } - super(modules, peerInfo) - } -} - -test('story 3 - peerB', (t) => { - t.plan(4) - let node - - waterfall([ - (cb) => PeerInfo.create(PeerB, cb), - (peerInfo, cb) => { - peerInfo.multiaddrs.add('/ip4/127.0.0.1/tcp/10000/ws') - node = new MyBundle(peerInfo) - node.start(cb) - } - ], (err) => { - t.ifErr(err, 'created Node') - t.ok(node.isStarted(), 'PeerA is running') - - const PeerAAddr = `/ip4/127.0.0.1/tcp/10000/ws/p2p/${PeerA.id}` - - setTimeout(() => node.dial(PeerAAddr, '/echo/1.0.0', (err, conn) => { - t.ok(err, 'dial failed') - node.stop((err) => t.ifErr(err, 'PeerA has stopped')) - }), 1000) - }) -})