Merge pull request #28 from MarshallRJ/test-largeEvents
Test large events
This commit is contained in:
		@@ -55,6 +55,21 @@ module.exports = {
 | 
				
			|||||||
          test.done(err);
 | 
					          test.done(err);
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					  'Append Large event': function(test) {
 | 
				
			||||||
 | 
					    test.expect(2);
 | 
				
			||||||
 | 
					    const largeData = Buffer.alloc(3 * 1024 *1024, 1);
 | 
				
			||||||
 | 
					    const event = client.createJsonEventData(uuid.v4(), {a: largeData.toString()}, null, 'largePayloadEvent');
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    this.conn.appendToStream(this.testStreamName, client.expectedVersion.any, event)
 | 
				
			||||||
 | 
					        .then(function(result) {
 | 
				
			||||||
 | 
					          test.areEqual("result.nextExpectedVersion", result.nextExpectedVersion, 0);
 | 
				
			||||||
 | 
					          test.ok(result.logPosition, "No log position in result.");
 | 
				
			||||||
 | 
					          test.done();
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					        .catch(function(err) {
 | 
				
			||||||
 | 
					          test.done(err);
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
  'Append To Stream Wrong Expected Version': function(test) {
 | 
					  'Append To Stream Wrong Expected Version': function(test) {
 | 
				
			||||||
    test.expect(1);
 | 
					    test.expect(1);
 | 
				
			||||||
    var event = client.createJsonEventData(uuid.v4(), {a: Math.random(), b: uuid.v4()}, null, 'testEvent');
 | 
					    var event = client.createJsonEventData(uuid.v4(), {a: Math.random(), b: uuid.v4()}, null, 'testEvent');
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,7 +5,10 @@ var client = require('../src/client');
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
module.exports = {
 | 
					module.exports = {
 | 
				
			||||||
  setUp: function(cb) {
 | 
					  setUp: function(cb) {
 | 
				
			||||||
    this.expectedEvent = {a: uuid.v4(), b: Math.random()};
 | 
					    this.expectedEvent = {
 | 
				
			||||||
 | 
					      a: uuid.v4(),
 | 
				
			||||||
 | 
					      b: Math.random()
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
    this.expectedEventType = 'anEvent';
 | 
					    this.expectedEventType = 'anEvent';
 | 
				
			||||||
    this.expectedEventId = uuid.v4();
 | 
					    this.expectedEventId = uuid.v4();
 | 
				
			||||||
    var event = client.createJsonEventData(this.expectedEventId, this.expectedEvent, null, this.expectedEventType);
 | 
					    var event = client.createJsonEventData(this.expectedEventId, this.expectedEvent, null, this.expectedEventType);
 | 
				
			||||||
@@ -86,9 +89,13 @@ module.exports = {
 | 
				
			|||||||
  'Read Event With No Access': function(test) {
 | 
					  'Read Event With No Access': function(test) {
 | 
				
			||||||
    test.expect(1);
 | 
					    test.expect(1);
 | 
				
			||||||
    var self = this;
 | 
					    var self = this;
 | 
				
			||||||
    var metadata = {$acl: {$r: '$admins'}};
 | 
					    var metadata = {
 | 
				
			||||||
 | 
					      $acl: {
 | 
				
			||||||
 | 
					        $r: '$admins'
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
    this.conn.setStreamMetadataRaw(self.testStreamName, client.expectedVersion.noStream, metadata)
 | 
					    this.conn.setStreamMetadataRaw(self.testStreamName, client.expectedVersion.noStream, metadata)
 | 
				
			||||||
        .then(function(){
 | 
					      .then(function() {
 | 
				
			||||||
        return self.conn.readEvent(self.testStreamName, 0);
 | 
					        return self.conn.readEvent(self.testStreamName, 0);
 | 
				
			||||||
      })
 | 
					      })
 | 
				
			||||||
      .then(function(result) {
 | 
					      .then(function(result) {
 | 
				
			||||||
@@ -101,7 +108,36 @@ module.exports = {
 | 
				
			|||||||
        if (isAccessDenied) return test.done();
 | 
					        if (isAccessDenied) return test.done();
 | 
				
			||||||
        test.done(err);
 | 
					        test.done(err);
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
  }
 | 
					  },
 | 
				
			||||||
 | 
					  'Read a Large Event': function(test) {
 | 
				
			||||||
 | 
					    test.expect(8);
 | 
				
			||||||
 | 
					    var self = this;
 | 
				
			||||||
 | 
					    const largeData = Buffer.alloc(3 * 1024 * 1024, 1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    const largeEvent = client.createJsonEventData(uuid.v4(), {
 | 
				
			||||||
 | 
					      a: largeData.toString()
 | 
				
			||||||
 | 
					    }, null, 'largePayloadEvent');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    this.conn.appendToStream(this.testStreamName, client.expectedVersion.any, largeEvent)
 | 
				
			||||||
 | 
					      .then(function(result) {
 | 
				
			||||||
 | 
					        self.conn.readEvent(self.testStreamName, 1)
 | 
				
			||||||
 | 
					          .then(function(result) {
 | 
				
			||||||
 | 
					            test.areEqual('status', result.status, client.eventReadStatus.Success);
 | 
				
			||||||
 | 
					            test.areEqual('stream', result.stream, self.testStreamName);
 | 
				
			||||||
 | 
					            test.areEqual('eventNumber', result.eventNumber, 1);
 | 
				
			||||||
 | 
					            test.ok(result.event !== null, "event is null.");
 | 
				
			||||||
 | 
					            test.ok(result.event.originalEvent !== null, "event.originalEvent is null.");
 | 
				
			||||||
 | 
					            var event = JSON.parse(result.event.originalEvent.data.toString());
 | 
				
			||||||
 | 
					            test.areEqual('event.eventId', result.event.originalEvent.eventId, largeEvent.eventId);
 | 
				
			||||||
 | 
					            test.areEqual('event.eventType', result.event.originalEvent.eventType, 'largePayloadEvent');
 | 
				
			||||||
 | 
					            test.areEqual('decoded event.data', event, JSON.parse(largeEvent.data.toString()));
 | 
				
			||||||
 | 
					            test.done();
 | 
				
			||||||
 | 
					          });
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
 | 
					      .catch(function(err) {
 | 
				
			||||||
 | 
					        test.done(err);
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
require('./common/base_test').init(module.exports);
 | 
					require('./common/base_test').init(module.exports);
 | 
				
			||||||
		Reference in New Issue
	
	Block a user