Home Reference Source Test

test/2_integrationTests/2_stream/1_stream.test.ts

  1. import {expect} from 'chai'
  2. import {Eventstore} from '../../../src'
  3.  
  4. describe('Stream tests', (): void => {
  5. const es = new Eventstore({
  6. uri: 'discover://restrictedUser:restrictedOnlyUserPassword@cluster1.escluster.net:2112',
  7. clientId: 'ts-client-test',
  8. useSSL: true
  9. })
  10. before(
  11. async (): Promise<void> => {
  12. await es.connect()
  13. }
  14. )
  15.  
  16. after(
  17. async (): Promise<void> => {
  18. await es.disconnect()
  19. }
  20. )
  21.  
  22. describe('Basic tests', async (): Promise<void> => {
  23. it('returns a stream name', (): void => {
  24. const stream = es.stream('hola')
  25. expect(stream.name).not.to.be.undefined
  26. expect(stream.name).not.to.be.null
  27. })
  28.  
  29. it('returns a stream instance for function stream', (): void => {
  30. const stream = es.stream('hola')
  31. expect(stream).not.to.be.undefined
  32. expect(stream).not.to.be.null
  33. })
  34.  
  35. it('returns a stream instance for function fromStream', (): void => {
  36. const stream = es.fromStream('hola')
  37. expect(stream).not.to.be.undefined
  38. expect(stream).not.to.be.null
  39. })
  40.  
  41. it('returns a stream instance for function atStream', (): void => {
  42. const stream = es.fromStream('hola')
  43. expect(stream).not.to.be.undefined
  44. expect(stream).not.to.be.null
  45. })
  46.  
  47. it('returns same stream on requiresMaster', (): void => {
  48. const stream = es.stream('hola')
  49. const result = stream.requiresMaster()
  50. expect(stream).to.be.equal(result)
  51. })
  52.  
  53. it('returns same stream on withCredentials', (): void => {
  54. const stream = es.stream('hola')
  55. const result = stream.withCredentials({username: 'otheruser', password: 'otherpassword'})
  56. expect(stream).to.be.equal(result)
  57. })
  58.  
  59. it('returns same stream on resolveAllLinks', (): void => {
  60. const stream = es.stream('hola')
  61. const result = stream.resolveAllLinks()
  62. expect(stream).to.be.equal(result)
  63. })
  64.  
  65. it('can soft delete a stream', async (): Promise<void> => {
  66. await es.stream('streamtosoftdelete-773f2fc6-ed4b-4f37-9b5b-4d737b181ac3').softDelete()
  67. })
  68.  
  69. it('can soft delete a stream on master node', async (): Promise<void> => {
  70. await es
  71. .stream('streamtosoftdeletemaster-5784a6cc-0559-45b1-8432-31535707c140')
  72. .requiresMaster()
  73. .softDelete()
  74. })
  75.  
  76. it('can hard delete a stream', async (): Promise<void> => {
  77. await es.stream('streamtoharddelete-1d772e21-f670-4493-8d72-cb9ab1d03edb').hardDelete()
  78. })
  79.  
  80. it('throws on delete metastream', async (): Promise<void> => {
  81. try {
  82. await es.stream('$$streamtosoftdelete').softDelete()
  83. } catch (err) {
  84. expect(err.name).to.be.equal('EventstoreBadRequestError')
  85. }
  86. })
  87. })
  88. })