`release.sh` does this upon release anyway, this is the last step in the
build. while nice to verify this, it does take 2 minutes on every branch
build, which is almost 1/3 of our build time now.
* Use retry func while trying to ping SQL datastore
- implements retry func specifically for SQL datastore ping
- fmt fixes
- using sqlx.Db.PingContext instead of sqlx.Db.Ping
- propogate context to SQL datastore
* Use alpine images to make tests take less time
* use PG alpine
* use Minio alpine
* no official alpine distro for MySQL, uhhh :(
* install swagger tool instead of docker image
* use retry func to confirm that datastore is okay before running tests
* Store swagger tool at Fn during CI time
somehow it's a problem to put binary to ${GOPATH}/bin
* Adjust swagger tool reference path
* Revert minio image
* Use amd64/alpine-based swagger tool image for API spec validation
* Cleanup
* Adjust API tests internal API
* Refactor API tests to take less time
- sqlite: tests 15s, overall time: 1m
- mysql: tests 15s, overall time: 59s
* Use retry func to survive in faulty places
* Use retry func while trying to ping SQL datastore
- implements retry func specifically for SQL datastore ping
- fmt fixes
- using sqlx.Db.PingContext instead of sqlx.Db.Ping
- propogate context to SQL datastore
* Simplify TestCanCauseTimeout retry loop
* Call retry with sane timeout
* Fix TestOversizedLog, use retry func
* Increase number of attempts
2 test cases are really faulty in CI, so they need a lot more time to finish.
* Increase TestCanCauseTimeout timeout
* Use retry at TestMultiLog to speed it up
* Use retry at TestCanWriteLogs to speed it up
* Use retry at TestGetCallsSuccess to speed it up
* Use retry at TestCanGetAsyncState to speed it up
* Use retry at TestListCallsSuccess to speed it up
* Remove sleep calls
* Remove dup test case
* Cleaup Calls API test
* Build API tests binary once
This patch lets CI to build API tests binary once and reuse that whenever it needs it
* Swap API tests checks
* Build API test binary by default
dirty fix for CircleCI
* Use retry func to determine if datastore is alive in tests
* go install should also reduce build time
* Fix rebase issues
* Use retry func while trying to ping SQL datastore
- implements retry func specifically for SQL datastore ping
- fmt fixes
- using sqlx.Db.PingContext instead of sqlx.Db.Ping
- propogate context to SQL datastore
* Rely on context from ServerOpt
* Consolidate log instances
* Cleanup
* Fix server usage in API tests
* allow user configured agent in full node
this should keep the old default behavior but allow users to pass in a
configured agent to configure the server themselves, without having to worry
about a russian agent being a british agent.
also closes any agent given to an api node.
closes#623
* don't close agent in runner test
* fn: circleci and makefile adjustments
*) Moved more tasks into Makefile to allow for
parallelism and dependency checks.
*) Added cpu count in circleci make invocations
for parallelism
* fn: typo sqlite => sqlite3
* fn: removed unnecessary make pull & install
* route updated_at
* add app created at, fix some route updated_at bugs
* add app updated_at
TODO need to add tests through front end
TODO for validation we don't really want to use the validate wrapper since
it's a programmer error and not a user error, hopefully tests block this.
* add tests for timestamps to exist / change on apps&routes
* route equals at done, fix tests wit dis
* fix up the equals sugar
* add swagger
* fix rebase
* precisely allocate maps in clone
* vetted
* meh
* fix api tests
this patch has no behavior changes, changes are:
* server.Datastore() -> server.datastore
* server.MQ -> server.mq
* server.LogDB -> server.logstore
* server.Agent -> server.agent
these were at a minimum not uniform. further, it's probably better to force
configuration through initialization in `server.New` to ensure thread safety
of referencing if someone does want to modify these as well as forcing things
into our initialization path and reducing the surface area of the Server
abstraction.
* fn: adding hot container timeout and huge memory cases
*) switching TestRouteRunnerTimeout to fn-test-utils to handle
both hot and cold.
*) in server_test added content-length handling as protocol http
does not create content-length if it is not present.