Open nikitastupin opened 4 years ago
Thanks for bringing this up! I would not be surprised that this happens -- however, it's currently unclear how this should be handled. I wonder whether endpoints should be deduplicated on sequence generation, but indexed by tags so that users can still test a single tag with fuzz-lightyear -t microservices
.
I think we can generate requests based solely on method + path combination. Tags can be added to request object later for later filtration.
Hi team,
First of all thanks for the great tool! 😃 Currently I'm configuring and testing it against Apache ServiceComb Service Center. I've noticed that if endpoint have two or more tags then this endpoint will be duplicated by fuzz-lightyear thus producing duplicate sequences! This greatly increases running time if we have a lot of endpoints and big request sequence length.
For example, endpoint
addRule
has two tagsmicroservices
andrules
. While generating request sequences this will produce two requestsmicroservices.addRule
andrules.addRule
. However both requests will point to the same endpoint/v4/{project}/registry/microservices/{serviceId}/rules
!Steps to reproduce
.pdbrc
andv4.yaml
..pdbrc
in your home directory, change directory to fuzz-lightyear repo and runpython3 -m pdb -m fuzz_lightyear file:///full/path/to/v4.yaml
In output you should see something like this:
There are two interesting parts:
As we can see, we have two different requests (we can identify it by
id
) that have the same endpoint under the hood (we can identify it byjson()
)!Expected results
Each endpoint should correspond to one request 😃