Fix fake not replicating actual behaviour
Add exception throw on invalid topic metadata
Add more unit tests to producer