Commit Graph

350 Commits

Author SHA1 Message Date
Adrien Marquès d1ab4fefb0
add brace captures and check between param and pattern (keep them so no need to check them at each req) 2020-03-15 01:37:28 +01:00
Adrien Marquès 32aff3e07f
bcupdate: add service.Match, parameter.assignDataType, service.matchPattern, server.collide
continuous-integration/drone/push Build is failing Details
- datatype-s are required as arguments in Parse(), datatypes are built into the config parameters
 - collision detection compares : http method, pattern (both fixed, one/both captures)
 - test service.Match(); more to test
 - some refactor and fix tests
2020-03-15 00:27:54 +01:00
Adrien Marquès 6a144a9a93
rename Builder into semantic DataType 2020-03-14 16:16:30 +01:00
Adrien Marquès 511070196b
add validator to service input parameter
continuous-integration/drone/push Build is failing Details
2020-03-14 16:14:04 +01:00
Adrien Marquès e12c52b88f
migrate typecheck.builtin into config.datatype.builtin 2020-03-14 16:13:38 +01:00
Adrien Marquès 003fe4d2e7
create config.datatype replacing typecheck 2020-03-14 16:13:05 +01:00
Adrien Marquès a6f5083f0d
bcupdate: make config flat, rewrite, simplify, test 2020-03-14 15:24:17 +01:00
Adrien Marquès acdba4121b
rename ambiguous variable
continuous-integration/drone/push Build is passing Details
2020-03-09 19:12:26 +01:00
Adrien Marquès 43c758b615 Merge branch '0.2.0' of go/aicra into master
continuous-integration/drone/tag Build is passing Details
continuous-integration/drone/push Build is passing Details
2020-03-08 15:28:41 +00:00
Adrien Marquès 9103d752c3
upgrade go version to 1.14
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2020-03-08 16:26:56 +01:00
Adrien Marquès 1225e3b1f2
refactor server handler, rename for readability 2020-03-08 16:26:56 +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 43fb3bb7c9
test uint builtin typecheck overflow values for []byte 2020-03-08 16:26:55 +01:00
Adrien Marquès 8fbe3dc178
test regex for builtin string typecheck 2020-03-08 16:26:55 +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 5cdcfd21ca
fix typo 2020-03-08 16:26:55 +01:00
Adrien Marquès d44df7eee0
fix readme usage & changelog 2020-03-08 16:26:55 +01:00
Adrien Marquès 6bc8160f99
Prettify logs 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