1 |
|
2 | var nock = require('nock'),
|
3 | solr = require('./../main'),
|
4 | vows = require('vows'),
|
5 | assert = require('assert'),
|
6 | fs = require('fs'),
|
7 | mocks = require('./mocks'),
|
8 | JSONStream = require('JSONStream'),
|
9 | EventEmitter = require('events').EventEmitter;
|
10 |
|
11 |
|
12 | var config = JSON.parse(fs.readFileSync(__dirname + '/config.json'));
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 | if(!config.mocked){
|
22 |
|
23 |
|
24 |
|
25 | var suite = vows.describe('Solr Client API: createAddStream');
|
26 |
|
27 | suite.addBatch({
|
28 | 'Adding documents through a stream' : {
|
29 | topic : function(){
|
30 | var promise = new EventEmitter();
|
31 | var client = solr.createClient();
|
32 | client.autoCommit = true;
|
33 | var addStream = client.createAddStream();
|
34 | var data = '';
|
35 | addStream
|
36 | .on('end',function(){
|
37 | promise.emit('success',JSON.parse(data));
|
38 | })
|
39 | .on('data',function(buffer,encoding){
|
40 | data += buffer.toString(encoding);
|
41 | })
|
42 | .on('error',function(err){
|
43 | promise.emit('error',err);
|
44 | });
|
45 | var n = 50;
|
46 | for(var i = 0; i < n; i++){
|
47 | addStream.write({ id : i , title_t : 'title' + i, test_b : true});
|
48 | }
|
49 | addStream.end();
|
50 | return promise;
|
51 | },
|
52 | 'should works' : function(err,data){
|
53 | assert.equal(data.responseHeader.status,0);
|
54 | assert.isNull(err);
|
55 | }
|
56 | }
|
57 | }).export(module);
|
58 |
|
59 | } |
\ | No newline at end of file |