exocomm-mockdeprecated

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

Usage no npm install needed!

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

README

Mock implementation of ExoComm in JavaScript

Circle CI

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

Installation

$ npm i --save-dev exocomm-mock

Usage

  • create an instance

    ExoCommMock = require('exocomm-mock')
    exocomm = new ExoCommMock
    
  • register a service to send messages to

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

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

    # ... make your service sent out a request here via exocomm.sendMessage...
    
    # wait for the message to arrive
    exocomm.waitUntilReceive =>
    
      # verify the received message
      expect(exocomm.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

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

    exocomm.close()
    

Development

See our developer documentation