[BUG] take opts.hash instead of the hash object
[BUG] receive opts.hash instead of the hash object
[BUG] update test name
[BUG] accept an options object
[BUG] upadte method name to startGateway
[TEST] remove test username to avoid test fail due to duplicate username
[TEST] accept application/json on header