Commit Graph

35 Commits

Author SHA1 Message Date
Erik
d65abc856f [READY] Fixes #7: Add HTML missing Doctype predicate with tests (#33)
* Add HTML missing Doctype predicate with tests

* Don't use 'fail' in predicates

* Add RFC reference and description for HTML doctype

* Only take enough of respBody to compare to doctype string
2017-10-21 15:20:56 -07:00
Alfredo Di Napoli
b0febe7c58
Tentatively support Servant 0.11 2017-10-18 14:36:45 +02:00
Erik Aker
6c163dc981 Utilize new FailedWith constructor to fix json equality tests 2017-10-15 20:31:52 -07:00
Erik Aker
3f6856103a Add sanity check test in there to prove jsonEquality really is doing something different 2017-10-15 20:24:21 -07:00
Erik Aker
482656b35e Create jsonEqaulity function and add some tests for similar JSON values but slightly different whitespace, ordering 2017-10-15 20:24:21 -07:00
Julian K. Arni
a0ec1777a7 Compatibility with earlier versions of hspec.
Adds CPP to the tests to allow for upstream changes to the 'Result'
    type.
2017-10-15 17:49:47 -07:00
Erik Aker
f3b4fcf7a9 Resolve merge conflicts with unbiasedGeneration merge 2017-10-14 08:16:30 -07:00
Julian Arni
66ce50993f Unbias generation of requests. (#19)
* Unbias generation of requests:

     ...so that each endpoint is picked with the same frequency.

     Also, include a test for unbiased generation that measures mean and variance of results.
2017-10-14 07:53:04 -07:00
Erik Aker
0e23a2eba7 Code cleanup: remove unused imports and code 2017-07-15 15:11:18 -07:00
Erik Aker
f052dc149b Bump HSpec to 2.4.4 and make tests use safeEvaluateExample to capture failure msg 2017-07-15 15:03:06 -07:00
Nick B
d33214d376 Fix Path delimiting:
* Add test API with multiple Path elements
  * Add basic test using this API, generating an endpoint to validate that query path delimiting is happening correctly (that fails on `master`)
  * Fix (re)creation of path to prepend `/` to each new path section, but only if it's non-empty (this fixes the trailing slashes, but still allows users to use a `:> "foo/" :>...` if their API demands trailing slashes)
  * Update / fix the existing test that now fails slightly differently (i.e. the trailing slash in `failplz/` is gone)

Fixes #22.
2017-03-11 11:19:57 +00:00
Nick B
2109326ad7 QueryFlags don't use =
* Also, fix import for old `Servant` versions - _every_ version now needs `Data.Bytestring` (i.e. Servant version < 0.8, as per old lts in `stack.yaml`)
2017-03-10 08:31:56 +00:00
Nick B
77fa490b93 Fix QueryFlags too (#23)
* Same logic / testing as for `QueryParam`
 * There's probably some de-duplication that could be done here one day...
2017-03-07 22:52:38 +00:00
Nick B
a8459223ed Use () for test QueryParam type too
...as suggested (thanks @jkarni)
2017-03-07 22:48:45 +00:00
Nick B
6be6697165 QueryParams: fix ampersand, improve test
* Simplify test API to use `()` - no awkward values at all.
 * The test asserts on _entire_ of resulting path now...
 * ...and fix the ampersand placement, but preserving the order of params left to right. The code also reads a bit better this way...
2017-03-07 21:25:11 +00:00
Nick B
a5224276d5 Fix multiple QueryParams
* Add test API taking multiple `QueryParam`s
 * Add basic test using this API, generating an endpoint to ensure correct HTTP `one=foo&two=bar` query string generation is happening (that fails on `master`)
 * Fix (re)creation of query string to append `&` before the new parameter if there is already a built query string.

Fixes #23.
2017-03-06 13:32:55 +00:00
Julian K. Arni
b1227d3864 Make onlyJsonObjects succeed in non-JSON endpoints. 2016-10-18 14:38:44 +02:00
Julian K. Arni
feff40b2e4 Add notLongerThan predicate. 2016-10-05 15:29:39 +01:00
Julian K. Arni
8eb5c334c1 Looser bounds.
Support recent versions of QuickCheck, aeson, http-client, servant,
        servant-client, and servant-server.
2016-10-03 16:30:46 +02:00
Julian K. Arni
0337996c6c Support new CaptureAll combinator. 2016-09-14 10:26:13 -03:00
Julian K. Arni
0682e353d6 Cleanup 2016-08-28 19:22:43 -03:00
Julian K. Arni
2c1152a8c0 Much better errors 2016-08-28 19:15:26 -03:00
Julian K. Arni
b7df33fbe8 Get an error message in. 2016-08-28 13:32:48 -03:00
Julian K. Arni
70fed09866 Start implementing better error messages. 2016-08-01 11:58:10 -03:00
Julian K. Arni
c5172a1dc5 base-compat for tests.
And test import cleanup.
2016-05-09 17:59:37 +02:00
Julian K. Arni
c85d41ad79 Better failure tests 2016-04-26 14:43:02 +02:00
Julian K. Arni
9307ea2158 Add new predicates.
* notAllowedContainsAllowHeader
    * getsHaveCacheControlHeader
    * headsHaveCacheControlHeader
2016-04-25 12:32:02 +02:00
Julian K. Arni
3189902c4b Comprehensive instances for HasGenRequest. 2016-04-23 21:43:03 +02:00
Julian K. Arni
dbdb948934 wip 2016-04-23 17:08:48 +02:00
Julian K. Arni
d62753b2c5 More predicates work 2016-04-23 14:20:31 +02:00
Julian K. Arni
c187be434d Add ResponseEquality 2016-04-23 12:05:47 +02:00
Julian K. Arni
c1b92215c3 Fix serversEqual and tests. 2016-04-23 11:50:04 +02:00
Julian K. Arni
2050487058 Rewrite.
Being lazy without a new full intepretation isn't paying off.
2016-04-23 01:21:36 +02:00
Julian K. Arni
0d455a9851 Use new client with per-client BaseUrl and Manager.
This may be a step back, and the instances aren't as nice.
2016-04-22 14:18:44 +02:00
Julian K. Arni
72abea9b0f initial commit 2016-04-22 13:00:23 +02:00