Commit Graph
98 Commits
Author SHA1 Message Date
steve-chavez 79a7ce49f2 Remove support for {} embed and "in" op w/o parens 2018-05-02 13:06:44 -05:00
steve-chavez 70ce1b9329 Reduce memory usage of uniform json array restriction 2018-01-27 13:55:20 -05:00
steve-chavez f7e7834a1c Handle overloaded function case
* Add test for params=single-object on GET

* Add tests for procs with DEFAULT args

* Add tests for overloaded functions

* Add test for PATCHing with an empty json array, this previously
  gave a "Something is wrong" error
2018-01-10 11:43:16 -05:00
Ruslan TalpaandGitHub effbec234f Faster queries using json_agg 2017-12-12 15:44:50 +02:00
Joe NelsonandGitHub 0ed4215a0d Support asymmetric JWK (#919) 2017-08-09 08:42:00 -05:00
Marios KoulakisandJoe Nelson 8557ee55f5 Update with empty json (#852) 2017-04-07 22:21:50 -05:00
Diogo BiazusandJoe Nelson 728e40c96c Update hspec-wai to 0.8.0 (#799) 2017-02-14 21:18:01 -08:00
Steve ChávezandJoe Nelson 7e2cb5fe1c Fix alias in select for mutate queries and small refactor (#779) 2017-01-16 23:20:02 -08:00
Joe NelsonandGitHub 104a7ed4fa Use a mime type to request singular JSON responses (#763) 2017-01-16 15:11:37 -08:00
Ruslan TalpaandJoe Nelson 16fd3a57ff Fix #746 (#769)
also fix broken text env

After the last couple of commits the tests ran correctly only on a
fresh db, in addition, the roles within the db were not created/dropped
on each request and we need that since their privileges differ and we
need to to have an absolute clean db on each execution
2016-12-18 15:46:53 -08:00
Joe NelsonandGitHub 74e68408e6 Bring packages up to date (#722)
* Bring packages up to date

* New LTS includes deps now

Use stack to select most versions

* Alphabetize packages

* Strip down packages

Switch tests to protolude

* Appease cabal check with base version constraint
2016-10-19 22:25:58 -07:00
Joe NelsonandGitHub af75988dd4 No count by default (#700)
* WIP: disable counting total table size by default

* Remove commented tests since PUT is no longer supported

* Fix tests for invalid range which require count

* Do not report count in PATCH response if not asked

* Return count of deleted items only if asked

* Return count for bulk insert when requested

* Changelog entry
2016-09-04 10:31:24 -07:00
Joe NelsonandGitHub 7278507c42 Use comma rather than semicolon to split header values (#698) 2016-08-21 15:26:00 -07:00
Erlend HambergandJoe Nelson 35c5b190b4 Singular response for PATCH request (#634)
* Allow a singular entity to be returned from an update

Since a `PATCH` will be an update that could affect many rows, there might be
more than one object returned. By allowing asking for a singular response,
the/an object will be returned instead of a list. This is useful in cases when
the `PATCH` is against single entity (i.e. `/items?pkey=eq.99`).

* Add tests for plurality=singular for `PATCH` requests

* Disallow updating more than one row if `plurality=singular`

As discussed in #634, we don't want to allow updating several rows with
a `PATCH` request when the `Prefer` header specifies
`return=representation;plurality=singular` as this would almost
certainly be a client error.

* Add test for patching multiple objects with singular response

Patching > 1 object with `return=representation;plurality=singular`
should return `400 Bad Request`.

* Only add singleton range for read API requests

* Disallow inserting more than one row if `plurality=singular`

Disallow inserting several rows with a `POST` request when the `Prefer`
header specifies `return=representation;plurality=singular` as this
would almost certainly be a client error.

* Only import `q` from `Text.InterpolatedString.Perl6`

* Update OpenAPI response for PATCH/POST to mention `plurality=singular`

The OpenAPI response for PATCH/POST requests now includes the `Prefer` value
`return=representation;plurality=singular`.

* Add entry in changelog
2016-08-19 14:02:14 -07:00
Joe Nelson 5e3d9442af Use table defaults for empty object insert
Fixes #616
2016-06-02 08:40:24 -07:00
Christopher League 0940b2dccf Simplify serialization of location header
Possible after bug fix in a Hasql that we picked up with the new
dependency bounds in #606. Also includes test to ensure location header
is omitted on bulk insert.
2016-05-22 21:54:26 -04:00
Christopher League 5c38b4328b URL-encode Location header (closes #588)
The database returns an array of key-value strings like `"k1=eq.hello
world"`. Haskell URL-encodes the portion after the equal sign and joins
them with `&`.

Includes updates to tests in Feature.InsertSpec: The CompoundPK has been
modified to have one Int and one String. We attempt to add a key with a
String that has spaces and other special characters. This requires that
the returned Location header is properly URL-encoded.
2016-05-20 10:42:55 -04:00
Joe Nelson 7e41b620ff Accept POST requests from HTML forms 2016-05-15 20:55:07 -07:00
Joe Nelson d9205bd838 Do not include Content-Type header for empty body (#580)
* Do not include Content-Type header for empty body

Fixes #544

* Fix lint

* Changelog
2016-05-03 21:18:23 -07:00
Joe Nelson 3c5fab009b Remove ancient test comments 2016-03-13 14:22:36 -07:00
Joe Nelson b858626e17 For correctness include charset=utf-8 in responses 2016-03-13 14:22:17 -07:00
Joe Nelson 330cc91645 Protect unicode values in requests 2016-03-13 14:20:54 -07:00
Joe Nelson d7fe59f0b0 WIP: share server code between tests and program
- Share server code in Main
- Switch to hasql-pool
- Use pool in tests
- DRY up test runner
2016-02-21 12:22:18 -08:00
Moti Zilberman 4dd4eeb421 [ci skip] s/unkonwn/unknown/ 2016-02-08 16:39:32 +02:00
Moti Zilberman b50882db3a [ci skip] Fix typo in InsertSpec 2016-02-08 15:53:15 +02:00
Moti Zilberman 0058b5df99 Minor proofreading in InsertSpec
s/csv/json/ in line 24
2016-02-08 14:29:47 +02:00
Joe Nelson b9fd083c77 It all compiles but all requests give a postgres error 2016-01-24 18:09:19 -08:00
Joe Nelson fec316b087 WIP: fixing compiler errors in specs 2016-01-24 18:09:19 -08:00
Simone Scarduzio 74d76c690f Adding two test cases for 469 2016-01-24 14:52:14 +00:00
Moti Zilberman 9a596c2500 pgFmtLit: Change condition for using E"..." syntax, fix #458.
Includes a test spec by @diogob.
2016-01-15 11:59:25 +02:00
Joe Nelson b26fbaf4db Merge pull request #427 from ruslantalpa/fix_407_week_authenticator_role
Fix errors in tests when setting authenticator to noinherit #407
2015-12-19 09:34:24 -08:00
Ruslan Talpa 66a34fccdf Fix errors in tests when setting authenticator to noinherit 2015-12-16 11:44:28 +02:00
Ruslan Talpa 4544ce3255 Fix #399 insert records in tables with no SELECT privileges 2015-12-16 10:16:14 +02:00
Joe Nelson ccadcec6d5 Merge branch 'spec-cache-dbstructure' 2015-12-11 09:42:26 -08:00
Joe Nelson b3144aee15 Cache schema structure between tests for speed
Causes one test to fail
2015-12-10 13:36:28 -08:00
Ruslan Talpa dad41cd3ed Fix #396 include records with missing parents and remove CTE related to parent relation 2015-12-09 14:21:27 +02:00
Diogo Biazus 0961524e70 Refactors tests to use new fixtures and remove some haskell functions that wont be necessary anymore 2015-12-08 00:44:49 -05:00
Joe Nelson f4c73c7666 Test for --max-rows behavior 2015-12-05 19:31:53 -08:00
Joe Nelson 029276bd62 Use brackets to specify subqueries 2015-11-23 10:58:04 -08:00
Ruslan Talpa cf2e45d47f Fix lint issue 2015-11-20 16:11:21 +02:00
Ruslan Talpa 0cce22f8c1 check request payload for structure & remove bad test for csv 2015-11-20 16:07:20 +02:00
Ruslan Talpa 0c3545fa09 App.hs refactor 2015-11-16 12:26:55 +02:00
Ruslan Talpa 246c47dba4 cleanup 2015-10-30 12:19:35 +02:00
Ruslan Talpa 6fd0d5648f PUT path commented, DELETE rewritten, all statementT functions commented 2015-10-30 12:08:25 +02:00
Ruslan Talpa f7e6005087 cleanup 2015-10-27 14:14:04 +02:00
Ruslan Talpa f02b8381ea shape the response after inserting 2015-10-27 13:16:14 +02:00
Ruslan Talpa d43bac6e8f Code cleanup (lint suggestions) 2015-10-26 16:19:54 +02:00
Ruslan Talpa 1fdb700bc8 Fix a few tests 2015-10-26 13:50:56 +02:00
Ruslan Talpa 21bd921ee7 Merge remote-tracking branch 'begriffs/v3' into v3 2015-10-23 09:15:00 +03:00
Ruslan Talpa ca4014f751 a few more tests fixed (2) 2015-10-22 17:03:06 +03:00