exocom-mockdeprecated

A mock implementation of the ExoCom development server in JavaScript, for testing

Usage no npm install needed!

<script type="module">
  import exocomMock from 'https://cdn.skypack.dev/exocom-mock';
</script>

README

Mock implementation of ExoCom in JavaScript

Dependency Status devDependency Status

a mock implementation of ExoCom-Dev for sending and receiving messages to your ExoServices in test

Installation

$ npm i --save-dev exocom-mock

Usage

  • create an instance

    ExoComMock = require('exocom-mock')
    exocom = new ExoComMock
    
  • register a service to send messages to

    exocom.registerService name: 'users', port: 4001
    
  • send a message to the service

    exocom.sendMessage service: 'users', name: 'users.create', message-id: '123', payload: { name: 'Jean-Luc Picard' }
    
  • verifying messages sent out by the service under test

    # ... make your service sent out a request here via exocom.sendMessage...
    
    # wait for the message to arrive
    exocom.waitUntilReceive =>
    
      # verify the received message
      expect(exocom.receivedMessages()).to.eql [
        {
          name: 'users.created'
          payload:
            name: 'Jean-Luc Picard'
        }
      ]
    
  • if you want to verify more received messages later, you can reset the register of received messages so far

    exocom.reset()
    
  • finally, close your instance when you are done, so that you can create a fresh one for your next test

    exocom.close()
    

Development

See our developer documentation