Mock Server
Your friendly mock serverNode server that easily allows for development and testing of SPA application running against production services.
Features
- Remote Service Proxy
- Local file override of remote proxy
- Mock data sources
- CORS remapping
- Cookie remapping
- Browser live reload
Server Mode
Server mode allows for setup of simple testing servers that eases the testing process for features that are currently under development.- Automated rebuild from github pushes
- Branch selection
- Heroku support
- Campfire notifications
Setup
- In the root of the SPA application create mock-server.json. See example.
- (Optional) Define package.json with build dependencies (lumbar, grunt)
- Deploy to heroku
git clone git@github.com:walmartlabs/mock-server.git
2. heroku create
3. Setup git repo heroku config:add MOCK_REPO=repoAddress
Private Repository Access
mock-server can be configured to access private git repositories through theGIT_SSH
, MOCK_KEY
,
and MOCK_PUB
environment variables.$ heroku config:add \
GIT_SSH="/app/git_ssh.sh" \
MOCK_KEY="`cat ~/.ssh/id_rsa`" \
MOCK_PUB="`cat ~/.ssh/id_rsa.pub`"
Automatic Rebuild
Github automatic updates are achieved through github push receive hooks combined with a githubpub publisher.should be `http://$server/githubpub/$group`
- Add PUBNUB variables to mock-server instance
$ heroku config:add \
PUBNUB_CHANNEL=channelName \
PUBNUB_SUBSCRIBE_KEY=subscribeKey
Public Pubnub Instance
A public gitpubnub instance is available athttps://secure-reef-1619.herokuapp.com/
with. This is
public so conflict may occur between channel names and push events sent through this service may
be read by anyone reading this document. This is not recommended for private project use.Example web hook: https://secure-reef-1619.herokuapp.com/githubpub/channelName Subscribe Key:
sub-c-1c0b5d78-eb3e-11e1-9de3-61dd1d151c11
Campfire
mock-server uses the same config as the Campfire heroku addon. If enabled mock-server will utilize the same config as the addon. Otherwise the following environment variables need to be configured.$ heroku config:add \
DEPLOYHOOKS_CAMPFIRE_API_KEY=apiKey \
DEPLOYHOOKS_CAMPFIRE_ROOM=room \
DEPLOYHOOKS_CAMPFIRE_SSL=1 \
DEPLOYHOOKS_CAMPFIRE_URL=campfireServerName
In either case these mock-server specific vars need to be set:
INSTANCE_NAME
: Name reported in campfire notifications. This can be any value but is generally
set to the heroku server name.
CAMPFIRE_QUIET
: Define to decrease the number of campfire notifications from the instance