1 | 'use strict'
|
2 | var fs = require('graceful-fs')
|
3 | var path = require('path')
|
4 | var test = require('tap').test
|
5 | var rimraf = require('rimraf')
|
6 | var writeStream = require('../index.js')
|
7 |
|
8 | var target = path.resolve(__dirname, 'test-chown')
|
9 |
|
10 | test('chown works', function (t) {
|
11 | t.plan(1)
|
12 | var stream = writeStream(target, {chown: {uid: process.getuid(), gid: process.getgid()}})
|
13 | var hadError = false
|
14 | stream.on('error', function (er) {
|
15 | hadError = true
|
16 | console.log('#', er)
|
17 | })
|
18 | stream.on('close', function () {
|
19 | t.is(hadError, false, 'no errors before close')
|
20 | })
|
21 | stream.end()
|
22 | })
|
23 |
|
24 | test('chown fails', function (t) {
|
25 | t.plan(1)
|
26 | fs.chown = function (file, uid, gid, cb) {
|
27 | cb(new Error('TEST BREAK'))
|
28 | }
|
29 | var stream = writeStream(target, {chown: {uid: process.getuid(), gid: process.getgid()}})
|
30 | var hadError = false
|
31 | stream.on('error', function (er) {
|
32 | hadError = true
|
33 | console.log('#', er)
|
34 | })
|
35 | stream.on('close', function () {
|
36 | t.is(hadError, true, 'error before close')
|
37 | })
|
38 | stream.end()
|
39 | })
|
40 |
|
41 | test('cleanup', function (t) {
|
42 | rimraf.sync(target)
|
43 | t.end()
|
44 | })
|