6eae6f7598
* cmd/mediaapi-integration-tests: Add foundation for testing * common/test: Add some server init and client request utilities * common/test/client: Handle timed out requests for tests that passed * cmd/syncserver-integration-tests: Port to new common/test infra * common/test/client: Remove stray debug print * cmd/mediaapi-integration-tests: Simplify slice initialisation * cmd/mediaapi-integration-tests: Simplify getMediaURL argument * cmd/mediaapi-integration-tests: Make startMediaAPI return listen address * common/test/client: Fix uninitialised LastRequestErr * common/test/server: Remove redundant argument * common/test/server: Add StartProxy to create a reverse proxy * cmd/mediaapi-integration-tests: Add proxies in front of servers This is needed so that origins can be correctly configured and used for remote media. * travis: Enable media API integration tests * travis: Build the client-api-proxy for media tests * common/test/client: Don't panic on EOF in CanonicalJSONInput * cmd/mediaapi-integration-tests: Add upload/download/thumbnail tests * mediaapi/thumbnailer: Store thumbnail according to requested size * cmd/mediaapi-integration-tests: Add totem.jpg test file * cmd/client-api-proxy: Optionally listen for HTTPS * common/test/client: Do not verify TLS certs for testing We will commonly use self-signed certs. * cmd/mediaapi-integration-tests: Make HTTPS requests * cmd/mediaapi-integration-tests: Log size and method for thumbnails * mediaapi/thumbnailer: Factor out isThumbnailExists Appease gocyclo^w^w simplify * mediaapi/thumbnailer: Check if request is larger than original * travis: Install openssl and generate server.{crt,key} * cmd/mediaapi-integration-tests: Add valid dynamic thumbnail test * cmd/mediaapi-integration-tests: Document state of tests * cmd/mediaapi-integration-tests: Test remote thumbnail before download This ordering also exercises the cold cache immediate generation of a size configured for pregeneration. * travis: Explain openssl key+cert generation * common/test/server: Clarify postgresContainerName
39 lines
839 B
YAML
39 lines
839 B
YAML
language: go
|
|
go:
|
|
- 1.8
|
|
|
|
sudo: false
|
|
|
|
# Use trusty for postgres 9.5 support
|
|
dist: trusty
|
|
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- openssl
|
|
postgresql: "9.5"
|
|
|
|
services:
|
|
- postgresql
|
|
|
|
install:
|
|
- go get github.com/constabulary/gb/...
|
|
- go get github.com/golang/lint/golint
|
|
- go get github.com/fzipp/gocyclo
|
|
|
|
# Generate a self-signed X.509 certificate for TLS.
|
|
before_script:
|
|
- openssl req -x509 -newkey rsa:4096 -keyout server.key -out server.crt -days 365 -nodes -subj /CN=localhost
|
|
|
|
script:
|
|
- ./travis-install-kafka.sh
|
|
- ./travis-test.sh
|
|
|
|
notifications:
|
|
webhooks:
|
|
urls:
|
|
- "https://scalar.vector.im/api/neb/services/hooks/dHJhdmlzLWNpLyU0MGtlZ2FuJTNBbWF0cml4Lm9yZy8lMjFhWmthbkFuV0VkeGNSSVFrV24lM0FtYXRyaXgub3Jn"
|
|
on_success: change # always|never|change
|
|
on_failure: always
|
|
on_start: never
|