da6d059547
* docker-compose files to easily setup cluster or single node eventstore * programmatic tests for single/gossip/cluster
48 lines
1.2 KiB
JavaScript
48 lines
1.2 KiB
JavaScript
const client = require('../lib/dist');
|
|
const userCredentials = new client.UserCredentials('admin', 'changeit');
|
|
|
|
const log = new client.NoopLogger();
|
|
const httpEndpoint = `http://${process.env.EVENTSTORE_HOST || "localhost"}:2113`;
|
|
const operationTimeout = 5000;
|
|
|
|
const simpleProjection = "\
|
|
fromStream('$stats-127.0.0.1:2113')\
|
|
.when({\
|
|
$init: function(){\
|
|
return {\
|
|
count: 0\
|
|
}\
|
|
},\
|
|
$any: function(s,e){\
|
|
s.count += 1;\
|
|
}\
|
|
})\
|
|
";
|
|
|
|
module.exports = {
|
|
setUp: function(cb) {
|
|
this.projectionsManager = new client.ProjectionsManager(log, httpEndpoint, operationTimeout);
|
|
cb();
|
|
},
|
|
'Create One Time Projection Happy Path': function(test) {
|
|
test.expect(1);
|
|
|
|
this.projectionsManager.createOneTime(simpleProjection, userCredentials)
|
|
.then(function (result) {
|
|
test.equal(result, undefined);
|
|
test.done();
|
|
})
|
|
.catch(test.done);
|
|
},
|
|
'List All Happy Path': function(test) {
|
|
test.expect(1);
|
|
this.projectionsManager.listAll(userCredentials)
|
|
.then(function (projections) {
|
|
test.ok(projections.length > 0, "no projections");
|
|
test.done();
|
|
})
|
|
.catch(test.done);
|
|
}
|
|
//TODO: other tests
|
|
};
|