Skip to content

Instantly share code, notes, and snippets.

@akshayamaldhure
Created May 6, 2019 11:04
Show Gist options
  • Save akshayamaldhure/61e8082b7d7bb26cdd2833e4098098e7 to your computer and use it in GitHub Desktop.
Save akshayamaldhure/61e8082b7d7bb26cdd2833e4098098e7 to your computer and use it in GitHub Desktop.
Node.js mocha test spec to check for Event Store parked events
let request = require('supertest');
let assert = require('chai').assert;
let apiBaseUri = request("http://your.event.store.url:port.number");
describe('Ensure no parked events in the Event Store', function () {
let apiResponse;
let parkedMessageUriList = [];
let subscriptionsEndpoint = '/subscriptions';
before(async () => {
console.log(`Event Store URL: http://your.event.store.url:port.number`);
apiResponse = await apiBaseUri.get(subscriptionsEndpoint)
.auth('eventStoreUsername', 'eventStorePassword')
.set('Accept', 'application/json')
.expect('Content-Type', /json/)
.expect(200);
parkedMessageUriList = JSON.parse(apiResponse.text)
.map(item => item.parkedMessageUri.substr(item.parkedMessageUri.indexOf('2') + 4));
console.log(`Event Store ${subscriptionsEndpoint} API response: ${apiResponse.text}`);
if (!parkedMessageUriList.length > 0) {
console.log('No parkedMessageUris were found within the EventStore API response.');
} else {
return parkedMessageUriList;
}
});
it('Verify GET each parkedMesssageUri should return a 404 response', async () => {
console.log(`Event Store base URL: ${test_env.PARKED_EVENTS_BASE_URL}`);
let errorParkedMessageUris = [];
for (let index = 0; index < parkedMessageUriList.length; index++) {
const endpoint = parkedMessageUriList[index];
try {
apiResponse = await apiBaseUri.get(endpoint)
.auth('eventStoreUsername', 'eventStorePassword')
.set('Accept', 'application/json')
.expect(404);
} catch (err) {
errorParkedMessageUris.push(endpoint);
console.log(`Error: expected status code: 404, actual status code: ${apiResponse.statusCode}`);
}
}
if (errorParkedMessageUris.length > 0) {
console.log(`Found ${errorParkedMessageUris.length} failed ParkedMessageUri endpoint(s)`);
console.log(`List of parkedMessageUris (full Event Store URLs): ${errorParkedMessageUris}`);
assert.fail('ParkedMessageUri endpoint(s) failed by returning a response other than status code 404');
}
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment