Created
May 6, 2019 11:04
-
-
Save akshayamaldhure/61e8082b7d7bb26cdd2833e4098098e7 to your computer and use it in GitHub Desktop.
Node.js mocha test spec to check for Event Store parked events
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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