Distributed Services with Go agent test

This is done for black-box testing. When it is a different package agent_test.go vs agent package is different you will have access to only the public methods.