amqplib 0.7.0 → 0.9.0

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/lib/frame.js CHANGED
@@ -7,7 +7,6 @@
7
7
  var defs = require('./defs');
8
8
  var constants = defs.constants;
9
9
  var decode = defs.decode;
10
- var Buffer = require('safe-buffer').Buffer
11
10
 
12
11
  var Bits = require('bitsyntax');
13
12
 
package/package.json CHANGED
@@ -2,28 +2,27 @@
2
2
  "name": "amqplib",
3
3
  "homepage": "http://squaremo.github.io/amqp.node/",
4
4
  "main": "./channel_api.js",
5
- "version": "0.7.0",
5
+ "version": "0.9.0",
6
6
  "description": "An AMQP 0-9-1 (e.g., RabbitMQ) library and client.",
7
7
  "repository": {
8
8
  "type": "git",
9
9
  "url": "https://github.com/squaremo/amqp.node.git"
10
10
  },
11
11
  "engines": {
12
- "node": ">=0.8 <=15"
12
+ "node": ">=10"
13
13
  },
14
14
  "dependencies": {
15
15
  "bitsyntax": "~0.1.0",
16
- "bluebird": "^3.5.2",
16
+ "bluebird": "^3.7.2",
17
17
  "buffer-more-ints": "~1.0.0",
18
18
  "readable-stream": "1.x >=1.1.9",
19
- "safe-buffer": "~5.1.2",
20
- "url-parse": "~1.4.3"
19
+ "url-parse": "~1.5.10"
21
20
  },
22
21
  "devDependencies": {
23
22
  "claire": "0.4.1",
24
- "istanbul": "0.1.x",
25
- "mocha": "^3.5.3",
26
- "uglify-js": "2.6.x"
23
+ "mocha": "^9.2.2",
24
+ "nyc": "^15.1.0",
25
+ "uglify-js": "2.8.x"
27
26
  },
28
27
  "scripts": {
29
28
  "test": "make test",
package/test/bitset.js CHANGED
@@ -1,68 +1,69 @@
1
1
  'use strict';
2
2
 
3
- var claire = require('claire');
3
+ const claire = require('claire');
4
+ const {BitSet} = require('../lib/bitset');
4
5
 
5
- var forAll = claire.forAll,
6
- arb = claire.data,
7
- label = claire.label,
8
- choice = claire.choice,
9
- transform = claire.transform;
6
+ const {
7
+ forAll,
8
+ data: arb,
9
+ label,
10
+ choice,
11
+ transform
12
+ } = claire;
10
13
 
11
- var BitSet = require('../lib/bitset').BitSet;
12
- var PosInt = transform(Math.floor, arb.Positive);
14
+ const PosInt = transform(Math.floor, arb.Positive);
13
15
 
14
- var EmptyBitSet = label('bitset', transform(
15
- function(size) {
16
+ const EmptyBitSet = label('bitset', transform(
17
+ size => {
16
18
  return new BitSet(size);
17
19
  },
18
20
  choice(arb.Nothing, PosInt)));
19
21
 
20
- suite('BitSet', function() {
22
+ suite('BitSet', () => {
21
23
 
22
24
  test('get bit', forAll(EmptyBitSet, PosInt)
23
- .satisfy(function(b, bit) {
25
+ .satisfy((b, bit) => {
24
26
  b.set(bit);
25
27
  return b.get(bit);
26
28
  }).asTest());
27
-
29
+
28
30
  test('clear bit', forAll(EmptyBitSet, PosInt)
29
- .satisfy(function(b, bit) {
31
+ .satisfy((b, bit) => {
30
32
  b.set(bit);
31
33
  b.clear(bit);
32
34
  return !b.get(bit);
33
35
  }).asTest());
34
36
 
35
37
  test('next set of empty', forAll(EmptyBitSet)
36
- .satisfy(function(b) {
38
+ .satisfy(b => {
37
39
  return b.nextSetBit(0) === -1;
38
40
  }).asTest());
39
41
 
40
42
  test('next set of one bit', forAll(EmptyBitSet, PosInt)
41
- .satisfy(function(b, bit) {
43
+ .satisfy((b, bit) => {
42
44
  b.set(bit);
43
45
  return b.nextSetBit(0) === bit;
44
46
  }).asTest());
45
47
 
46
48
  test('next set same bit', forAll(EmptyBitSet, PosInt)
47
- .satisfy(function(b, bit) {
49
+ .satisfy((b, bit) => {
48
50
  b.set(bit);
49
51
  return b.nextSetBit(bit) === bit;
50
52
  }).asTest());
51
53
 
52
54
  test('next set following bit', forAll(EmptyBitSet, PosInt)
53
- .satisfy(function(b, bit) {
55
+ .satisfy((b, bit) => {
54
56
  b.set(bit);
55
57
  return b.nextSetBit(bit+1) === -1;
56
58
  }).asTest());
57
59
 
58
60
  test('next clear of empty', forAll(EmptyBitSet, PosInt)
59
- .satisfy(function(b, bit) { return b.nextClearBit(bit) === bit; })
61
+ .satisfy((b, bit) => { return b.nextClearBit(bit) === bit; })
60
62
  .asTest());
61
63
 
62
64
  test('next clear of one set', forAll(EmptyBitSet, PosInt)
63
- .satisfy(function(b, bit) {
65
+ .satisfy((b, bit) => {
64
66
  b.set(bit);
65
67
  return b.nextClearBit(bit) === bit + 1;
66
68
  }).asTest());
67
-
68
69
  });
@@ -8,7 +8,6 @@ var schedule = util.schedule;
8
8
  var randomString = util.randomString;
9
9
  var kCallback = util.kCallback;
10
10
  var domain = require('domain');
11
- var Buffer = require('safe-buffer').Buffer;
12
11
 
13
12
  var URL = process.env.URL || 'amqp://localhost';
14
13
 
package/test/channel.js CHANGED
@@ -12,7 +12,6 @@ var completes = util.completes;
12
12
  var defs = require('../lib/defs');
13
13
  var conn_handshake = require('./connection').connection_handshake;
14
14
  var OPEN_OPTS = require('./connection').OPEN_OPTS;
15
- var Buffer = require('safe-buffer').Buffer;
16
15
 
17
16
  var LOG_ERRORS = process.env.LOG_ERRORS;
18
17
 
@@ -7,7 +7,6 @@ var succeed = util.succeed, fail = util.fail;
7
7
  var schedule = util.schedule;
8
8
  var randomString = util.randomString;
9
9
  var Promise = require('bluebird');
10
- var Buffer = require('safe-buffer').Buffer;
11
10
 
12
11
  var URL = process.env.URL || 'amqp://localhost';
13
12
 
package/test/codec.js CHANGED
@@ -4,7 +4,6 @@ var codec = require('../lib/codec');
4
4
  var defs = require('../lib/defs');
5
5
  var assert = require('assert');
6
6
  var ints = require('buffer-more-ints');
7
- var Buffer = require('safe-buffer').Buffer
8
7
  var C = require('claire');
9
8
  var forAll = C.forAll;
10
9
 
package/test/connect.js CHANGED
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  var connect = require('../lib/connect').connect;
4
- var Buffer = require('safe-buffer').Buffer
5
4
  var credentialsFromUrl = require('../lib/connect').credentialsFromUrl;
5
+ var defs = require('../lib/defs');
6
6
  var assert = require('assert');
7
7
  var util = require('./util');
8
8
  var net = require('net');
9
- var fail = util.fail, succeed = util.succeed,
9
+ var fail = util.fail, succeed = util.succeed, latch = util.latch,
10
10
  kCallback = util.kCallback,
11
11
  succeedIfAttributeEquals = util.succeedIfAttributeEquals;
12
12
  var format = require('util').format;
@@ -148,5 +148,50 @@ suite("Connect API", function() {
148
148
  else done();
149
149
  });
150
150
  });
151
+ });
151
152
 
153
+ suite('Errors on connect', function() {
154
+ var server
155
+ teardown(function() {
156
+ if (server) {
157
+ server.close();
158
+ }
159
+ })
160
+
161
+ test("closes underlying connection on authentication error", function(done) {
162
+ var bothDone = latch(2, done);
163
+ server = net.createServer(function(socket) {
164
+ socket.once('data', function(protocolHeader) {
165
+ assert.deepStrictEqual(
166
+ protocolHeader,
167
+ Buffer.from("AMQP" + String.fromCharCode(0,0,9,1))
168
+ );
169
+ util.runServer(socket, function(send, wait) {
170
+ send(defs.ConnectionStart,
171
+ {versionMajor: 0,
172
+ versionMinor: 9,
173
+ serverProperties: {},
174
+ mechanisms: Buffer.from('PLAIN'),
175
+ locales: Buffer.from('en_US')});
176
+ wait(defs.ConnectionStartOk)().then(function() {
177
+ send(defs.ConnectionClose,
178
+ {replyCode: 403,
179
+ replyText: 'ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN',
180
+ classId: 0,
181
+ methodId: 0});
182
+ });
183
+ });
184
+ });
185
+
186
+ // Wait for the connection to be closed after the authentication error
187
+ socket.once('end', function() {
188
+ bothDone();
189
+ });
190
+ }).listen(0);
191
+
192
+ connect('amqp://localhost:' + server.address().port, {}, function(err) {
193
+ if (!err) bothDone(new Error('Expected authentication error'));
194
+ bothDone();
195
+ });
196
+ });
152
197
  });
@@ -2,7 +2,6 @@
2
2
 
3
3
  var assert = require('assert');
4
4
  var defs = require('../lib/defs');
5
- var Buffer = require('safe-buffer').Buffer;
6
5
  var Connection = require('../lib/connection').Connection;
7
6
  var HEARTBEAT = require('../lib/frame').HEARTBEAT;
8
7
  var HB_BUF = require('../lib/frame').HEARTBEAT_BUF;
package/test/data.js CHANGED
@@ -3,7 +3,6 @@
3
3
  'use strict';
4
4
 
5
5
  var C = require('claire');
6
- var Buffer = require('safe-buffer').Buffer;
7
6
  var forAll = C.forAll;
8
7
  var arb = C.data;
9
8
  var transform = C.transform;
package/test/frame.js CHANGED
@@ -3,7 +3,6 @@
3
3
  var assert = require('assert');
4
4
  var succeed = require('./util').succeed;
5
5
  var fail = require('./util').fail;
6
- var Buffer = require('safe-buffer').Buffer;
7
6
  var connection = require('../lib/connection');
8
7
  var Frames = connection.Connection;
9
8
  var HEARTBEAT = require('../lib/frame').HEARTBEAT;
@@ -27,7 +26,7 @@ var HB = Buffer.from([defs.constants.FRAME_HEARTBEAT,
27
26
  defs.constants.FRAME_END]);
28
27
 
29
28
  suite("Explicit parsing", function() {
30
-
29
+
31
30
  test('Parse heartbeat', function() {
32
31
  var input = inputs();
33
32
  var frames = new Frames(input);
@@ -117,7 +116,7 @@ suite("Parsing", function() {
117
116
  }
118
117
  i++;
119
118
  };
120
-
119
+
121
120
  t.forEach(function(f) {
122
121
  f.channel = 0;
123
122
  bufs.push(defs.encodeMethod(f.id, 0, f.fields));
package/.npmignore DELETED
@@ -1,8 +0,0 @@
1
- *~
2
- scratch
3
- # do not ignore lib/defs.js, we need that
4
- # node_modules is ignored anyway
5
- .travis.yml
6
- bin/amqp-rabbitmq-0.9.1.json
7
- etc/
8
- coverage/