public-roadmap icon indicating copy to clipboard operation
public-roadmap copied to clipboard

Multi-step API check

Open zswanson opened this issue 5 years ago • 11 comments

Describe the solution you'd like For a CRUD API set, it makes sense to test these in a multi-step sequence. For example, to do a POST to create an object, assert that it was created in the response, then POST to delete the object and assert the response.

Describe alternatives you've considered Could potentially do this in setup/teardown scripts, although then it is less clear in the monitoring.

zswanson avatar Oct 17 '19 14:10 zswanson

@zswanson thanks for adding this. For now, we have actually actively resisted the multi-step way because it creates some interesting issues. What if the create step fails? What if the delete step fails? We could do retries, but do we want that always?

With setup/teardown steps we make things a bit more atomic — there is still room for things getting out of sync — and we add the option to add logic to retries: you can check if a value was actually created before trying to delete it. You can check if a value isn't already there before trying to create it.

I hope you see our thinking on this issue. However, we are actively developing Checkly and we'll revisit "chaining" as a feature at some stage.

tnolet avatar Oct 29 '19 15:10 tnolet

Ok thanks, I'll just work at putting this type of sequence into the setup and teardowns.

On Tue, Oct 29, 2019 at 11:33 AM Tim Nolet [email protected] wrote:

@zswanson https://github.com/zswanson thanks for adding this. For now, we have actually actively resisted the multi-step way because it creates some interesting issues. What if the create step fails? What if the delete step fails? We could do retries, but do we want that always?

With setup/teardown steps we make things a bit more atomic — there is still room for things getting out of sync — and we add the option to add logic to retries: you can check if a value was actually created before trying to delete it. You can check if a value isn't already there before trying to create it.

I hope you see our thinking on this issue. However, we are actively developing Checkly and we'll revisit "chaining" as a feature at some stage.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/checkly/product-roadmap/issues/46?email_source=notifications&email_token=AAJWY6QSEDLCWG6TT4ZUBMTQRBJUJA5CNFSM4JB2J4Q2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECQ6TTI#issuecomment-547482061, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJWY6VZKYU3FKMKHPEY3B3QRBJUJANCNFSM4JB2J4QQ .

zswanson avatar Oct 29 '19 16:10 zswanson

Missing this feature is actually the main reason why other business units in our company cannot adopt Checkly - we have numerous products which require pure API flows for continuous testing. While some of our products simply do not have a UI to test flows, it's also important to note that pure API testing allows for a different level of availability checks. By running UI and pure API flows side by side, we get a comprehensive view of our infrastructure and products. The difficulty in implementing this type of feature is understood, however I think that the user base for this type of feature is easily underestimated.

Nicki-Susman avatar Jan 03 '20 13:01 Nicki-Susman

Commenting here as an upvote for this feature. It will be really helpful.

aliasgerkw avatar Jul 17 '20 06:07 aliasgerkw

Upvote

Serjiios avatar Apr 22 '21 09:04 Serjiios

I support this feature, too. Please also keep in mind, that there will also be the need to use part of the response (e.g. an invitation token) of a former test has to be used in another test down the line. So it would be a useful addition to be able to at least use env vars in the payload.

thx for all your efforts

lapistano avatar Jun 12 '21 06:06 lapistano

I would love this feature too.

It is blocking us for leaving Runscope completely.

It is maybe an anti pattern to make API dependable but also sometime very useful.

pascaldufour avatar Dec 22 '22 13:12 pascaldufour

I would like this feature as well. I know there are downsides to testing APIs as a "flow" but customers/consumers use APIs in this way so it would be a great feature to have. Its a shame that there is no established "PlayWright" for API testing as PlayWright gives you that functionality for UI testing.

jimbobshocks avatar Feb 21 '23 17:02 jimbobshocks

@jimbobshocks and others, please also hit the 👍 on the first issue.

tnolet avatar Feb 21 '23 20:02 tnolet

Done! Thx.

jimbobshocks avatar Feb 21 '23 21:02 jimbobshocks

Used this a lot in Runscope and really miss it in Checkly. Including the option to save variables during earlier steps and then use them as part of the requests later steps of the test chain. Pretty much a must have feature for the API monitoring use cases I would use Checkly for.

siekermantechnology avatar Mar 31 '23 11:03 siekermantechnology