AliSoftware / AliSoftware/OHHTTPStubs

Add path component matching to request testing

Open
#125 8 comments 3 reactions 0 assignees View on GitHub
Enhancement Help Wanted Open Discussion Waiting for input
Dominant language
Objective-C
Stars
5.1k
Forks
597
PR merge metrics
No merged PRs in 30d

Description

[Overcoat](https://github.com/Overcoat/Overcoat) implements service endpoint testing in a neat fashion:

`You don't need to specify the full path, and you can use * and ** to match any text or # to match only digits.`

`If you use * and #, they are strict path matchings, so the number of path components must be equal. The ** just matches any text and has no path components number limitation.`

| Match String | Path | Result |
| --- | --- | --- |
| statuses/* | statuses/user_timeline | Matched |
| statuses/# | statuses/user_timeline | Missed (wrong type, the path component after statuses should be dights only) |
| statuses/* | statuses/retweets/12345 | Missed (wrong number of path components, there should be only one path component after statuses) |
| statuses /\* /* | statuses/retweets/12345 | Matched |
| statuses/** | statuses/retweets/12345 | Matched |
| statuses/** | statuses/retweets/12345/extra | Matched (the number of path components doesn't matter) |
| statuses/retweets/* | statuses/retweets/12345 | Matched |
| statuses/retweets/# | statuses/retweets/12345 | Matched |

It'd be really neat if OHHTTPStubs had a method that implemented similar logic, rather than always having to manually work out this logic on every single test.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.