How to fake httprequest in golang to write unittest for an api
func scanAndPushMsg ( w http . ResponseWriter , r * http . Request ) { ctx := r . Context () log := ctx . Value ( "RequestLogger" ).(* logger . Entry ) if r . Body != nil { defer r . Body . Close () } roles := r . FormValue ( RolesKey ) actions := r . FormValue ( ActionsKey ) awardTypes := r . FormValue ( AwardTypesKey ) campaignIds := r . FormValue ( CampaignIdsKey ) log . Infof ( "scanAndPushMsg input: roles --%v--, actions --%v-- , awards --%v-- ,campaignid --%v--" , roles , actions , awardTypes , campaignIds ) var reqBody jarvis . FilterCfgBody reqBody . Roles = strings . TrimSpace ( roles ) reqBody . Actions = strings . TrimSpace ( actions ) reqBody . CampaignIDs = strings . TrimSpace ( campaignIds ) reqBody . AwardTypes = strings . TrimSpace ( awardTypes ) log . Infof ( "FilterCfgBody : %+v" , reqBody ) resp , err := scanAndPushSrv . ScanAndPush ( reqBody , ctx ) if err != nil { ...