Feeder removing entry when used so each entry can only be used once

I have a test case where I am deleting things by calling an API on the service. I have a CSV with a list of identifiers for those things. I would like to use the feed(csv(“ids.csv”).random) but I am running into a problem whereby I get a number of 404 responses as those items are already delete from a previous call on the load test. Once the list of ids have been exhausted the feed would return false for hasNext(). Is there such a feature? If not what would be involved in providing that type of Feeder?

That’s exactly the default feeder strategy: queue!

My understanding though is that queue does it in order. That would mean I need to pre-randomize the data before putting it in. Which I guess isn’t too bad but I was originally just doing a SELECT from a database and exporting that to a CSV file. I didn’t want to delete in order as the order was based on a primary key so it wouldn’t be representative of random row deletions.

You can simply shuffle the data and then use queue.
I only have my phone, so I can’t post code… Could someone else give a hand, please?

I am guessing:

RecordSeqFeederBuilder(Random.shuffle(csv(“existing-devices.csv”).records)).queue

?

Exactly. You don’t even need to call RecordSeqFeederBuilder nor queue: implicit + default.

Thanks for the quick feedback. Tested and is working the way I was hoping for. :slight_smile:

Great!