Over a million developers have joined DZone.

Mongo Conduction: Or, What I Did For Spring SkunkWorks

For SkunkWorks, I created MockupDB, a MongoDB Wire Protocol Server in Python; Mongo Conduction, a Wire Protocol server, and a test-suite runner in C.

Build fast, scale big with MongoDB Atlas, a hosted service for the leading NoSQL database. Try it now! Brought to you in partnership with MongoDB.

MongoDB, Inc. holds quarterly skunkworks sessions—basically a hackathon, but more relaxed. We set aside three days to work on neat hacks, or to start deep projects that need uninterrupted concentration, or to do something new outside our regular duties.

For SkunkWorks last week I did three related projects:

MockupDB, a MongoDB Wire Protocol server written in Python.

Mongo Conduction, a server that receives Wire Protocol messages and creates test deployments of MongoDB servers. It looks sort of like a JSON-over-HTTP RESTful API, but what it actually does is a BSON-over-Wire-Protocol RESTful API.

A test-suite runner written in C. It reads our standard driver test specifications from YAML files, sends commands to Mongo Conduction to create the cluster, and connects the C Driver, libmongoc, to the cluster. It does operations with the driver, and sends more commands to Mongo Conduction to alter the cluster while the driver is connected to it, and asserts that the outcomes of the driver operations match the expected outcomes from the standard test.

In the demo I'm using CLion, a new C/C++ IDE.

If you use the closed captions I added, let me know if I did an ok job, it's my first time captioning a video.

Now it's easier than ever to get started with MongoDB, the database that allows startups and enterprises alike to rapidly build planet-scale apps. Introducing MongoDB Atlas, the official hosted service for the database on AWS. Try it now! Brought to you in partnership with MongoDB.

Topics:
opinion ,nosql ,mongodb ,skunkworks ,suite runner ,wire protocol ,database

Published at DZone with permission of A. Jesse Jiryu Davis, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}