add more test case, fix req.idempotent