AFAIK, this is a common convention in Go - it ensures that none of the test code pollutes the main package namespace, and it forces the tests to use only the exported portions of the main package.

I've seen this convention pretty often in the Go source, too - see [some of net/http's tests](http://golang.org/src/pkg/net/http/request_test.go) as an example.

Happy to move this into the `hipchat` package if necessary, but this approach seems to offer some significant advantages.