Adrien Marquès
12417f7f1c
reference query parameters in config.Service
2020-03-16 11:32:37 +01:00
Adrien Marquès
e7f10723a6
check for undefined brace captures + make tests parallel
2020-03-16 10:56:26 +01:00
Adrien Marquès
c32b038da2
make splitURL public
2020-03-16 09:26:10 +01:00
Adrien Marquès
1b4922693b
move config -> internal.config and config.datatype to datatype
2020-03-16 09:20:00 +01:00
Adrien Marquès
a6f5083f0d
bcupdate: make config flat, rewrite, simplify, test
2020-03-14 15:24:17 +01:00
Adrien Marquès
682e20a959
test primitive types : bool, float64
2020-03-08 16:26:56 +01:00
Adrien Marquès
ec152aec4b
fix parsing primitive types instead of erroring unknown type
2020-03-08 16:26:56 +01:00
Adrien Marquès
ccf6577bc5
test bool slice vs. json bool slice
2020-03-08 16:26:56 +01:00
Adrien Marquès
5dad0ecc39
test string slice vs. json string slice
2020-03-08 16:26:56 +01:00
Adrien Marquès
4cb62ea122
fix parsing non-string slice values
...
- only string were parsed using wrapped json
- now we also keep primitive types
2020-03-08 16:26:56 +01:00
Adrien Marquès
313b91bb7f
remove outdated tests
2020-03-08 16:26:56 +01:00
Adrien Marquès
5741ec597b
[breaking] do not return first element of 1-sized slices as it, return a slice
...
- it is more consistent and does not rely of a "hidden" assomption.
- for consistency, it is also a better practice to always the same type when waiting to receive a slice ; the 1 element case should not break anything
2020-03-08 16:26:56 +01:00
Adrien Marquès
7e7eb3ac29
fix returning first element of 1-sized slice instead of the slice
2020-03-08 16:26:56 +01:00
Adrien Marquès
e132a5af42
test conversion from 1-sized slice to first element (bool vs json boolean primitive)
2020-03-08 16:26:56 +01:00
Adrien Marquès
41d166529c
test json invalid float primitives ; only valid when wrapped
2020-03-08 16:26:56 +01:00
Adrien Marquès
45675713e7
fix formatting type
2020-03-08 16:26:56 +01:00
Adrien Marquès
0395d763d6
test json invalid boolean primitives ; only valid when wrapped
2020-03-08 16:26:56 +01:00
Adrien Marquès
4d663fc56c
test string slice as string ; invalid json but valid when wrapped
2020-03-08 16:26:56 +01:00
Adrien Marquès
98878eb127
test simple string parameter
2020-03-08 16:26:55 +01:00
Adrien Marquès
fab09b2a5b
fix: mark parameter as parsed after successful parsing
...
- avoid parsing multiple times in a row ; it has no side-effect but is useless
- actually does not cause any issue, but for consistency sake!
2020-03-08 16:26:55 +01:00
Adrien Marquès
b890fa0ccc
return error when parsing parameters
2020-03-08 16:26:55 +01:00
Adrien Marquès
edc49d9915
expand store.go coverage to 100% with a tricky test
...
- force http.Request.ParseForm to fail
2020-03-08 16:26:55 +01:00
Adrien Marquès
f076f3a88a
replace bytes.NewBufferString() with strings.NewReader()
2020-03-08 16:26:55 +01:00
Adrien Marquès
727737ae67
test multipart body paramters
2020-03-08 16:26:55 +01:00
Adrien Marquès
f2423bd71a
make internal/multipart use internal/cerr constant errors
...
- instead of defining its own
2020-03-08 16:26:55 +01:00
Adrien Marquès
638f5e44c8
test internal/config trick to have a 100% coverage (as conflict check is undeterministic, merge all conditions)
2020-03-08 16:26:55 +01:00
Adrien Marquès
228f5b9a02
test internal/config empty parameter rename should not rename
2020-03-08 16:26:55 +01:00
Adrien Marquès
aba95d4163
remove dead code
2020-03-08 16:26:55 +01:00
Adrien Marquès
e9c7160d2e
expand internal/config test coverage
...
- make parameter type "?" invalid as it marks it as optional only
- check optional vs. required parameters
- test subservice in method description error check
2020-03-08 16:26:55 +01:00
Adrien Marquès
61b58a9f98
add internal/config test for the Browse() method
2020-03-08 16:26:55 +01:00
Adrien Marquès
dd0e321cbd
test internal/config parsing and illegal/missing fields
2020-03-08 16:26:55 +01:00
Adrien Marquès
5ac3b81f6d
parameter name conflict: on rename conflicting rename, return original name
2020-03-08 16:26:55 +01:00
Adrien Marquès
4accad7286
refactor internal/config
...
- create cerr (constant errors) with wrapped context (service name, method, parameter name)
- fix comments numbering
- remove duplicate check
2020-03-08 16:26:55 +01:00
Adrien Marquès
dec7fd9a62
test internal/cerr package + add WrapString() to use a raw string
2020-03-08 16:26:55 +01:00
Adrien Marquès
d1d581bd75
Test json: add a check with invalid json (no parameter is parsed)
2020-03-08 16:26:55 +01:00
Adrien Marquès
5f1d76a0a8
Test json body parameters
2020-03-08 16:26:55 +01:00
Adrien Marquès
ac7adcbd1f
Test with url encoded body parameters
2020-03-08 16:26:55 +01:00
Adrien Marquès
5897461323
Test store agains Query parameters
2020-03-08 16:26:55 +01:00
Adrien Marquès
44d19e8b65
Test store with uri arguments
2020-03-08 16:26:55 +01:00
Adrien Marquès
613233faef
Test empty store -> fix
2020-03-08 16:26:55 +01:00
Adrien Marquès
c40fb03aa7
merge parseParameter
2020-03-08 16:26:55 +01:00
Adrien Marquès
be84c86172
fix: use t.Run in tests instead of for{} with i
2019-05-05 19:01:54 +02:00
Adrien Marquès
21f48a65ee
feat: parallelize tests +ci
2019-05-05 19:01:54 +02:00
Adrien Marquès
bf3e651c2c
ref: clean comments and make errors constants
2019-05-05 19:01:54 +02:00
Adrien Marquès
eb5ce4c0d0
fix: semantic renaming : internal.config.Method.Permission is now Scope
2019-05-05 19:01:54 +02:00
Adrien Marquès
189d3b40a6
fix: semantic (comments) renaming : 'controller' to 'service', more explicit names
2019-05-05 19:01:54 +02:00
Adrien Marquès
0e498607ba
clean
2019-05-05 19:01:54 +02:00
Adrien Marquès
b9f240b86b
feat: fix error creation to bind arguments directly + add optional error argument in NewResponse()
2019-05-05 19:01:54 +02:00
Adrien Marquès
cd2bcdd8bc
ref 0: first working version ; totest
2019-05-01 15:14:49 +02:00
Adrien Marquès
7e66b6ddd5
ref 0: big refactor of concerns between api request, server, etc
2019-05-01 13:44:45 +02:00