random-transactions-sdk 0.3.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/test/requested.js DELETED
@@ -1,56 +0,0 @@
1
- describe('Requested', function () {
2
- 'use strict';
3
-
4
- var Requested = require('../requested')
5
- , assume = require('assume')
6
- , r;
7
-
8
- it('is exported as a function', function () {
9
- assume(Requested).is.a('function');
10
- });
11
-
12
- describe('#typeof', function () {
13
- it('knows the difference between an array and object', function () {
14
- var r = new Requested();
15
-
16
- assume(r.typeof({})).equals('object');
17
- assume(r.typeof([])).equals('array');
18
- });
19
- });
20
-
21
- describe('#merge', function () {
22
- before(function () {
23
- r = new Requested();
24
- });
25
-
26
- it('returns the merge', function () {
27
- var x = { foo: 'foo' }
28
- , y = { bar: 'bar' }
29
- , z = r.merge(x, y);
30
-
31
- assume(z).equals(x);
32
- assume(x.bar).equals('bar');
33
- });
34
-
35
- it('merges multiple objects', function () {
36
- var xyz = r.merge({}, { foo: 'foo' }, { bar: 'bar' }, { hello: 'world' });
37
-
38
- assume(xyz.foo).equals('foo');
39
- assume(xyz.bar).equals('bar');
40
- assume(xyz.hello).equals('world');
41
- });
42
-
43
- it('can deep merge without modification', function () {
44
- var x = { foo: 'foo' }
45
- , y = { deep: { nested: 'object' } }
46
- , z = { deep: { another: 'key' } }
47
- , xyz = r.merge(x, y, z);
48
-
49
- assume(x.deep).is.a('object');
50
- assume(x.deep).does.not.equal(y.deep);
51
- assume(x.deep).does.not.equal(z.deep);
52
- assume(x.deep.nested).equals('object');
53
- assume(x.deep.another).equals('key');
54
- });
55
- });
56
- });
@@ -1,103 +0,0 @@
1
- describe('requests', function () {
2
- 'use strict';
3
-
4
- //
5
- // Include the Base class that we inherit from to ensure that it's also
6
- // included in the test run as it should run on both browsers and node.js
7
- //
8
- require('./requested');
9
-
10
- var Requested = require('../requested')
11
- , requests = require('..')
12
- , assume = require('assume')
13
- , req;
14
-
15
- beforeEach(function () {
16
- req = requests(unique('http://localhost:8080'), { manual: true });
17
- });
18
-
19
- afterEach(function () {
20
- req.destroy();
21
- });
22
-
23
- /**
24
- * Make a URL unique so we can bust the browser cache which could affect
25
- *
26
- * @param {String} url Transform to an URL.
27
- * @returns {String}
28
- * @api private
29
- */
30
- function unique(url) {
31
- return url + '?t='+ (+ new Date());
32
- }
33
-
34
- it('is exported as function', function () {
35
- assume(requests).is.a('function');
36
- });
37
-
38
- it('increments the internal `.id` for each instance', function () {
39
- var id = req.id;
40
-
41
- assume(id).equals(Requested.requested);
42
-
43
- req.destroy();
44
- req = requests(unique('http://localhost:8080'), { manual: true });
45
-
46
- assume(req.id).is.above(id);
47
- assume(Requested.requested).is.above(id);
48
- });
49
-
50
- it('sets the stream\'s booleans', function () {
51
- assume(req.readable).is.true();
52
- assume(req.writable).is.false();
53
- });
54
-
55
- it('stores active requests', function () {
56
- assume(requests.active[req.id]).equals(req);
57
- });
58
-
59
- it('does not receive content for 204 requests', function (done) {
60
- req.destroy();
61
- req = requests(unique('http://localhost:8080/204'));
62
-
63
- req.on('data', function () {
64
- throw new Error('I should never be called');
65
- });
66
-
67
- req.on('end', done);
68
- });
69
-
70
- it('can handle large files with streaming', function (done) {
71
- this.timeout(3E4);
72
-
73
- req = requests(unique('http://localhost:8080/unshiftio/requests/master/test/large.js'), {
74
- streaming: true
75
- });
76
-
77
- var buffer = [];
78
-
79
- req.on('data', function received(chunk) {
80
- buffer.push(chunk);
81
- });
82
-
83
- req.on('error', done);
84
-
85
- req.once('end', function end(err, status) {
86
- assume(buffer.length).to.be.above(1);
87
- assume(buffer.join('').length).equals(2127897);
88
- assume(status.code).to.equal(200);
89
- assume(status.text).to.equal('OK');
90
-
91
- buffer = null;
92
- done();
93
- });
94
- });
95
-
96
- describe('#destroy', function () {
97
- it('removes the .active instance', function () {
98
- assume(requests.active[req.id]).equals(req);
99
- req.destroy();
100
- assume(requests.active[req.id]).is.undefined();
101
- });
102
- });
103
- });
@@ -1,100 +0,0 @@
1
- 'use strict';
2
-
3
- var path = require('path');
4
- var fs = require('fs');
5
- var assume = require('assume');
6
- var requests = require('../');
7
- var staticserver = require('./static');
8
-
9
- /**
10
- * Make a URL unique so we can bust the browser cache which could affect
11
- *
12
- * @param {String} url Transform to an URL.
13
- * @returns {String} A unique URL.
14
- * @api private
15
- */
16
- function unique(url) {
17
- return url + '?t=' + (+new Date());
18
- }
19
-
20
- describe('requests', function () {
21
- var closeServer;
22
- var req;
23
-
24
- before(function (done) {
25
- //
26
- // Start-up a small static file server so we can download files and fixtures
27
- // inside our tests.
28
- //
29
- staticserver(function (close) {
30
- closeServer = close;
31
- }, done);
32
- });
33
-
34
- after(function (done) {
35
- closeServer(done);
36
- });
37
-
38
- beforeEach(function () {
39
- req = requests(unique('http://localhost:8080/index.html'), { manual: true });
40
- });
41
-
42
- afterEach(function () {
43
- req.destroy();
44
- });
45
-
46
- it('is exported as function', function () {
47
- assume(requests).is.a('function');
48
- });
49
-
50
- it('sets the stream\'s booleans', function () {
51
- assume(req.readable).is.true();
52
- assume(req.writable).is.false();
53
- });
54
-
55
- it('stores active requests', function () {
56
- assume(requests.active[req.id]).equals(req);
57
- });
58
-
59
- it('successfully makes a request', function (done) {
60
- var resp = '';
61
- req.on('data', function (data) {
62
- resp += data;
63
- });
64
-
65
- req.on('end', function () {
66
- fs.readFile(
67
- path.resolve(__dirname, 'index.html'),
68
- { encoding: 'utf8' },
69
- function (err, file) {
70
- if (err) {
71
- throw err;
72
- }
73
-
74
- assume(resp).equals(file);
75
- done();
76
- }
77
- );
78
- });
79
- req.open();
80
- });
81
-
82
- it('does not receive content for 204 requests', function (done) {
83
- req.destroy();
84
- req = requests(unique('http://localhost:8080/204'));
85
-
86
- req.on('data', function () {
87
- throw new Error('I should never be called');
88
- });
89
-
90
- req.on('end', done);
91
- });
92
-
93
- describe('#destroy', function () {
94
- it('removes the .active instance', function () {
95
- assume(requests.active[req.id]).equals(req);
96
- req.destroy();
97
- assume(requests.active[req.id]).is.undefined();
98
- });
99
- });
100
- });
package/test/static.js DELETED
@@ -1,50 +0,0 @@
1
- 'use strict';
2
-
3
- var fs = require('fs')
4
- , url = require('url')
5
- , path = require('path')
6
- , http = require('http')
7
- , setHeader = require('setheader')
8
- , httpProxy = require('http-proxy');
9
-
10
- module.exports = function staticserver(kill, next) {
11
- var proxy = httpProxy.createProxyServer({});
12
-
13
- var server = http.createServer(function serve(req, res) {
14
- var file = path.join(__dirname, url.parse(req.url).pathname);
15
-
16
- setHeader(res, 'Access-Control-Allow-Origin', req.headers.origin || '*');
17
- setHeader(res, 'Access-Control-Allow-Credentials', 'true');
18
-
19
- if (~req.url.indexOf('/204')) {
20
- res.statusCode = 204;
21
- return res.end('');
22
- }
23
-
24
- if (!fs.existsSync(file)) {
25
- req.headers.host = '';
26
- setHeader(res, 'Content-Security-Policy', 'removed');
27
- return proxy.web(req, res, { target: 'https://raw.githubusercontent.com' });
28
- }
29
-
30
- res.statusCode = 200;
31
- fs.createReadStream(file).pipe(res);
32
- });
33
-
34
- kill(function close(next) {
35
- server.close(next);
36
- proxy.close();
37
- });
38
-
39
- server.listen(8080, next);
40
- };
41
-
42
- //
43
- // Static server loaded directly.
44
- //
45
- if (require.main === module) module.exports(function kill() {
46
- }, function next(err) {
47
- if (err) throw err;
48
-
49
- console.log('static server listening on ', this.address());
50
- });