1

New method Undefine.
In your new implementation (integration_test.go) ,new domain is being defined  and GetMetadata test is passing fine.Afterwards the domain is destroyed but still remains  "defined" .IMHO, the best way is adding two lines treating Destroy and Undefine as soon as the domain is created. I mean: defer dom.Destroy() and defer dom.Undefine().
What do you think?