Skip to content
This repository was archived by the owner on Feb 12, 2024. It is now read-only.

Commit cd6797d

Browse files
committed
Merge pull request #98 from noffle/tests-setup-teardown
moves temp-repo creation into its own module
2 parents 6421678 + 5423f04 commit cd6797d

File tree

3 files changed

+62
-104
lines changed

3 files changed

+62
-104
lines changed

tests/temp-repo.js

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
/* eslint-env mocha */
2+
3+
const expect = require('chai').expect
4+
const IPFSRepo = require('ipfs-repo')
5+
6+
function createTempRepo () {
7+
const repoPath = '/tmp/ipfs-test-' + Math.random().toString().substring(2, 8) + '/'
8+
9+
var store
10+
var teardown
11+
12+
const isNode = !global.window
13+
if (isNode) {
14+
store = require('fs-blob-store')
15+
teardown = (done) => {
16+
const rimraf = require('rimraf')
17+
rimraf(repoPath, (err) => {
18+
expect(err).to.not.exist
19+
done()
20+
})
21+
}
22+
} else {
23+
const idb = window.indexedDB ||
24+
window.mozIndexedDB ||
25+
window.webkitIndexedDB ||
26+
window.msIndexedDB
27+
store = require('idb-plus-blob-store')
28+
teardown = (done) => {
29+
idb.deleteDatabase(repoPath)
30+
idb.deleteDatabase(repoPath + '/blocks')
31+
done()
32+
}
33+
}
34+
35+
const options = {
36+
bits: 64,
37+
stores: {
38+
keys: store,
39+
config: store,
40+
datastore: store,
41+
logs: store,
42+
locks: store,
43+
version: store
44+
}
45+
}
46+
47+
var repo = new IPFSRepo(repoPath, options)
48+
49+
repo.teardown = teardown
50+
51+
return repo
52+
}
53+
54+
module.exports = createTempRepo

tests/test-core/test-init-node.js

+3-51
Original file line numberDiff line numberDiff line change
@@ -2,61 +2,13 @@
22

33
const expect = require('chai').expect
44
const IPFS = require('../../src/core')
5-
const IPFSRepo = require('ipfs-repo')
6-
7-
function createTestRepo () {
8-
const repoPath = '/tmp/ipfs-test-' + Math.random().toString().substring(2, 8) + '/'
9-
10-
var store
11-
var teardown
12-
13-
const isNode = !global.window
14-
if (isNode) {
15-
store = require('fs-blob-store')
16-
teardown = (done) => {
17-
const rimraf = require('rimraf')
18-
rimraf(repoPath, (err) => {
19-
expect(err).to.not.exist
20-
done()
21-
})
22-
}
23-
} else {
24-
const idb = window.indexedDB ||
25-
window.mozIndexedDB ||
26-
window.webkitIndexedDB ||
27-
window.msIndexedDB
28-
store = require('idb-plus-blob-store')
29-
teardown = (done) => {
30-
idb.deleteDatabase(repoPath)
31-
idb.deleteDatabase(repoPath + '/blocks')
32-
done()
33-
}
34-
}
35-
36-
const options = {
37-
bits: 64,
38-
stores: {
39-
keys: store,
40-
config: store,
41-
datastore: store,
42-
logs: store,
43-
locks: store,
44-
version: store
45-
}
46-
}
47-
48-
var repo = new IPFSRepo(repoPath, options)
49-
50-
repo.teardown = teardown
51-
52-
return repo
53-
}
5+
const createTempRepo = require('../temp-repo')
546

557
describe('node: init', function () {
568
this.timeout(10000)
579

5810
it('init docs written', (done) => {
59-
var repo = createTestRepo()
11+
var repo = createTempRepo()
6012
const ipfs = new IPFS(repo)
6113
ipfs.init({ bits: 64 }, (err) => {
6214
expect(err).to.not.exist
@@ -73,7 +25,7 @@ describe('node: init', function () {
7325
})
7426

7527
it('empty repo', (done) => {
76-
var repo = createTestRepo()
28+
var repo = createTempRepo()
7729
const ipfs = new IPFS(repo)
7830
ipfs.init({ bits: 64, emptyRepo: true }, (err) => {
7931
expect(err).to.not.exist

tests/test-core/test-init.js

+5-53
Original file line numberDiff line numberDiff line change
@@ -2,61 +2,13 @@
22

33
const expect = require('chai').expect
44
const IPFS = require('../../src/core')
5-
const IPFSRepo = require('ipfs-repo')
6-
7-
function createTestRepo () {
8-
const repoPath = '/tmp/ipfs-test-' + Math.random().toString().substring(2, 8) + '/'
9-
10-
var store
11-
var teardown
12-
13-
const isNode = !global.window
14-
if (isNode) {
15-
store = require('fs-blob-store')
16-
teardown = (done) => {
17-
const rimraf = require('rimraf')
18-
rimraf(repoPath, (err) => {
19-
expect(err).to.not.exist
20-
done()
21-
})
22-
}
23-
} else {
24-
const idb = window.indexedDB ||
25-
window.mozIndexedDB ||
26-
window.webkitIndexedDB ||
27-
window.msIndexedDB
28-
store = require('idb-plus-blob-store')
29-
teardown = (done) => {
30-
idb.deleteDatabase(repoPath)
31-
idb.deleteDatabase(repoPath + '/blocks')
32-
done()
33-
}
34-
}
35-
36-
const options = {
37-
bits: 64,
38-
stores: {
39-
keys: store,
40-
config: store,
41-
datastore: store,
42-
logs: store,
43-
locks: store,
44-
version: store
45-
}
46-
}
47-
48-
var repo = new IPFSRepo(repoPath, options)
49-
50-
repo.teardown = teardown
51-
52-
return repo
53-
}
5+
const createTempRepo = require('../temp-repo')
546

557
describe('init', function () {
568
this.timeout(10000)
579

5810
it('basic', (done) => {
59-
var repo = createTestRepo()
11+
var repo = createTempRepo()
6012
const ipfs = new IPFS(repo)
6113
ipfs.init({ emptyRepo: true }, (err) => {
6214
expect(err).to.not.exist
@@ -76,8 +28,8 @@ describe('init', function () {
7628
})
7729

7830
it('set # of bits in key', (done) => {
79-
var repo1 = createTestRepo()
80-
var repo2 = createTestRepo()
31+
var repo1 = createTempRepo()
32+
var repo2 = createTempRepo()
8133
const ipfsShort = new IPFS(repo1)
8234
const ipfsLong = new IPFS(repo2)
8335
ipfsShort.init({ bits: 128, emptyRepo: true }, (err) => {
@@ -103,7 +55,7 @@ describe('init', function () {
10355
})
10456

10557
it('force init (overwrite)', (done) => {
106-
var repo = createTestRepo()
58+
var repo = createTempRepo()
10759
const ipfs1 = new IPFS(repo)
10860
const ipfs2 = new IPFS(repo)
10961
ipfs1.init({ bits: 128, emptyRepo: true }, (err) => {

0 commit comments

Comments
 (0)