diff --git a/.travis.yml b/.travis.yml
index 5d7f2e4f7d..de5c044794 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,4 +1,7 @@
addons:
+ code_climate:
+ repo_token:
+ secure: "C/bUAEpwfZB82dkzI2Nxx3PW5w/BzbKkSyCkp6YjT046jD2/QKvz6ngCFlt3tAWV11TXWFI6D8DzkMmdWOrQl3SGlPZXRD8QOvCiz0HiGMDvlxjAaPaQecGaQZdx/H4m6xTUXRNUVaYmxlMgkkFCWhAp+HZDs0iyOEVamp0Jszg="
hosts:
- localhost
sudo: false
@@ -52,6 +55,9 @@ script:
#script: ./vendor/bin/codecept run
- ./vendor/bin/codecept run api --env=functional-travis
+after_script:
+ - vendor/bin/test-reporter
+
after_success:
- codecov
diff --git a/composer.json b/composer.json
index 085cdf12a3..2db12d9bee 100644
--- a/composer.json
+++ b/composer.json
@@ -38,6 +38,7 @@
},
"require-dev": {
"codeception/codeception": "2.3.6",
+ "codeclimate/php-test-reporter": "^0.4.4",
"fzaninotto/faker": "~1.4",
"phpunit/php-token-stream": "1.4.11",
"phpunit/phpunit": "~5.7",
diff --git a/composer.lock b/composer.lock
index c034fa1a6b..44b1e6cf6f 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
- "content-hash": "bcafb4e19ce95a2d002d3edfa5c579e3",
+ "content-hash": "f135eea1fef3ae14fdf2bdcbd815fb41",
"packages": [
{
"name": "barryvdh/laravel-debugbar",
@@ -5248,6 +5248,121 @@
],
"time": "2017-09-28T23:19:49+00:00"
},
+ {
+ "name": "codeclimate/php-test-reporter",
+ "version": "v0.4.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/codeclimate/php-test-reporter.git",
+ "reference": "eab9ac233f23a4c12a12755793750f22fc46dd3e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/codeclimate/php-test-reporter/zipball/eab9ac233f23a4c12a12755793750f22fc46dd3e",
+ "reference": "eab9ac233f23a4c12a12755793750f22fc46dd3e",
+ "shasum": ""
+ },
+ "require": {
+ "ext-curl": "*",
+ "padraic/phar-updater": "^1.0",
+ "php": "^5.3 || ^7.0",
+ "psr/log": "^1.0",
+ "satooshi/php-coveralls": "^1.0",
+ "symfony/console": "^2.0 || ^3.0"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "^2.0.0",
+ "phpunit/phpunit": "^4.8.31"
+ },
+ "bin": [
+ "composer/bin/test-reporter"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "0.3.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "CodeClimate\\PhpTestReporter\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Code Climate",
+ "email": "hello@codeclimate.com",
+ "homepage": "https://codeclimate.com"
+ }
+ ],
+ "description": "PHP client for reporting test coverage to Code Climate",
+ "homepage": "https://github.com/codeclimate/php-test-reporter",
+ "keywords": [
+ "codeclimate",
+ "coverage"
+ ],
+ "time": "2017-02-15T22:25:47+00:00"
+ },
+ {
+ "name": "composer/ca-bundle",
+ "version": "1.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/composer/ca-bundle.git",
+ "reference": "943b2c4fcad1ef178d16a713c2468bf7e579c288"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/composer/ca-bundle/zipball/943b2c4fcad1ef178d16a713c2468bf7e579c288",
+ "reference": "943b2c4fcad1ef178d16a713c2468bf7e579c288",
+ "shasum": ""
+ },
+ "require": {
+ "ext-openssl": "*",
+ "ext-pcre": "*",
+ "php": "^5.3.2 || ^7.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.8.35",
+ "psr/log": "^1.0",
+ "symfony/process": "^2.5 || ^3.0 || ^4.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Composer\\CaBundle\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Jordi Boggiano",
+ "email": "j.boggiano@seld.be",
+ "homepage": "http://seld.be"
+ }
+ ],
+ "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.",
+ "keywords": [
+ "cabundle",
+ "cacert",
+ "certificate",
+ "ssl",
+ "tls"
+ ],
+ "time": "2017-11-29T09:37:33+00:00"
+ },
{
"name": "facebook/webdriver",
"version": "1.5.0",
@@ -5353,6 +5468,99 @@
],
"time": "2017-08-15T16:48:10+00:00"
},
+ {
+ "name": "guzzle/guzzle",
+ "version": "v3.8.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/guzzle/guzzle.git",
+ "reference": "4de0618a01b34aa1c8c33a3f13f396dcd3882eba"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/4de0618a01b34aa1c8c33a3f13f396dcd3882eba",
+ "reference": "4de0618a01b34aa1c8c33a3f13f396dcd3882eba",
+ "shasum": ""
+ },
+ "require": {
+ "ext-curl": "*",
+ "php": ">=5.3.3",
+ "symfony/event-dispatcher": ">=2.1"
+ },
+ "replace": {
+ "guzzle/batch": "self.version",
+ "guzzle/cache": "self.version",
+ "guzzle/common": "self.version",
+ "guzzle/http": "self.version",
+ "guzzle/inflection": "self.version",
+ "guzzle/iterator": "self.version",
+ "guzzle/log": "self.version",
+ "guzzle/parser": "self.version",
+ "guzzle/plugin": "self.version",
+ "guzzle/plugin-async": "self.version",
+ "guzzle/plugin-backoff": "self.version",
+ "guzzle/plugin-cache": "self.version",
+ "guzzle/plugin-cookie": "self.version",
+ "guzzle/plugin-curlauth": "self.version",
+ "guzzle/plugin-error-response": "self.version",
+ "guzzle/plugin-history": "self.version",
+ "guzzle/plugin-log": "self.version",
+ "guzzle/plugin-md5": "self.version",
+ "guzzle/plugin-mock": "self.version",
+ "guzzle/plugin-oauth": "self.version",
+ "guzzle/service": "self.version",
+ "guzzle/stream": "self.version"
+ },
+ "require-dev": {
+ "doctrine/cache": "*",
+ "monolog/monolog": "1.*",
+ "phpunit/phpunit": "3.7.*",
+ "psr/log": "1.0.*",
+ "symfony/class-loader": "*",
+ "zendframework/zend-cache": "<2.3",
+ "zendframework/zend-log": "<2.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.8-dev"
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "Guzzle": "src/",
+ "Guzzle\\Tests": "tests/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
+ },
+ {
+ "name": "Guzzle Community",
+ "homepage": "https://github.com/guzzle/guzzle/contributors"
+ }
+ ],
+ "description": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients",
+ "homepage": "http://guzzlephp.org/",
+ "keywords": [
+ "client",
+ "curl",
+ "framework",
+ "http",
+ "http client",
+ "rest",
+ "web service"
+ ],
+ "abandoned": "guzzlehttp/guzzle",
+ "time": "2014-01-28T22:29:15+00:00"
+ },
{
"name": "myclabs/deep-copy",
"version": "1.7.0",
@@ -5398,6 +5606,127 @@
],
"time": "2017-10-19T19:58:43+00:00"
},
+ {
+ "name": "padraic/humbug_get_contents",
+ "version": "1.1.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/humbug/file_get_contents.git",
+ "reference": "dcb086060c9dd6b2f51d8f7a895500307110b7a7"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/humbug/file_get_contents/zipball/dcb086060c9dd6b2f51d8f7a895500307110b7a7",
+ "reference": "dcb086060c9dd6b2f51d8f7a895500307110b7a7",
+ "shasum": ""
+ },
+ "require": {
+ "composer/ca-bundle": "^1.0",
+ "ext-openssl": "*",
+ "php": "^5.3 || ^7.0 || ^7.1 || ^7.2"
+ },
+ "require-dev": {
+ "bamarni/composer-bin-plugin": "^1.1",
+ "mikey179/vfsstream": "^1.6",
+ "phpunit/phpunit": "^4.8 || ^5.7 || ^6.5"
+ },
+ "type": "library",
+ "extra": {
+ "bamarni-bin": {
+ "bin-links": false
+ },
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Humbug\\": "src/"
+ },
+ "files": [
+ "src/function.php",
+ "src/functions.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Pádraic Brady",
+ "email": "padraic.brady@gmail.com",
+ "homepage": "http://blog.astrumfutura.com"
+ },
+ {
+ "name": "Théo Fidry",
+ "email": "theo.fidry@gmail.com"
+ }
+ ],
+ "description": "Secure wrapper for accessing HTTPS resources with file_get_contents for PHP 5.3+",
+ "homepage": "https://github.com/padraic/file_get_contents",
+ "keywords": [
+ "download",
+ "file_get_contents",
+ "http",
+ "https",
+ "ssl",
+ "tls"
+ ],
+ "time": "2018-02-12T18:47:17+00:00"
+ },
+ {
+ "name": "padraic/phar-updater",
+ "version": "v1.0.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/humbug/phar-updater.git",
+ "reference": "fb9d3b1551a99466f0a74cd264f4c95a8621ac7a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/humbug/phar-updater/zipball/fb9d3b1551a99466f0a74cd264f4c95a8621ac7a",
+ "reference": "fb9d3b1551a99466f0a74cd264f4c95a8621ac7a",
+ "shasum": ""
+ },
+ "require": {
+ "padraic/humbug_get_contents": "^1.0",
+ "php": ">=5.3.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Humbug\\SelfUpdate\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Padraic Brady",
+ "email": "padraic.brady@gmail.com",
+ "homepage": "http://blog.astrumfutura.com"
+ }
+ ],
+ "description": "A thing to make PHAR self-updating easy and secure.",
+ "keywords": [
+ "humbug",
+ "phar",
+ "self-update",
+ "update"
+ ],
+ "time": "2018-02-20T01:18:59+00:00"
+ },
{
"name": "phpunit/php-code-coverage",
"version": "4.0.8",
@@ -5942,6 +6271,67 @@
"description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it",
"time": "2018-02-21T14:50:18+00:00"
},
+ {
+ "name": "satooshi/php-coveralls",
+ "version": "v1.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-coveralls/php-coveralls.git",
+ "reference": "37f8f83fe22224eb9d9c6d593cdeb33eedd2a9ad"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-coveralls/php-coveralls/zipball/37f8f83fe22224eb9d9c6d593cdeb33eedd2a9ad",
+ "reference": "37f8f83fe22224eb9d9c6d593cdeb33eedd2a9ad",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "ext-simplexml": "*",
+ "guzzle/guzzle": "^2.8 || ^3.0",
+ "php": "^5.3.3 || ^7.0",
+ "psr/log": "^1.0",
+ "symfony/config": "^2.1 || ^3.0 || ^4.0",
+ "symfony/console": "^2.1 || ^3.0 || ^4.0",
+ "symfony/stopwatch": "^2.0 || ^3.0 || ^4.0",
+ "symfony/yaml": "^2.0 || ^3.0 || ^4.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.8.35 || ^5.4.3 || ^6.0"
+ },
+ "suggest": {
+ "symfony/http-kernel": "Allows Symfony integration"
+ },
+ "bin": [
+ "bin/coveralls"
+ ],
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Satooshi\\": "src/Satooshi/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Kitamura Satoshi",
+ "email": "with.no.parachute@gmail.com",
+ "homepage": "https://www.facebook.com/satooshi.jp"
+ }
+ ],
+ "description": "PHP client library for Coveralls API",
+ "homepage": "https://github.com/php-coveralls/php-coveralls",
+ "keywords": [
+ "ci",
+ "coverage",
+ "github",
+ "test"
+ ],
+ "time": "2017-12-06T23:17:56+00:00"
+ },
{
"name": "sebastian/code-unit-reverse-lookup",
"version": "1.0.1",
@@ -6372,6 +6762,68 @@
"homepage": "https://symfony.com",
"time": "2018-01-03T07:37:34+00:00"
},
+ {
+ "name": "symfony/config",
+ "version": "v3.4.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/config.git",
+ "reference": "72689b934d6c6ecf73eca874e98933bf055313c9"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/config/zipball/72689b934d6c6ecf73eca874e98933bf055313c9",
+ "reference": "72689b934d6c6ecf73eca874e98933bf055313c9",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.5.9|>=7.0.8",
+ "symfony/filesystem": "~2.8|~3.0|~4.0"
+ },
+ "conflict": {
+ "symfony/dependency-injection": "<3.3",
+ "symfony/finder": "<3.3"
+ },
+ "require-dev": {
+ "symfony/dependency-injection": "~3.3|~4.0",
+ "symfony/finder": "~3.3|~4.0",
+ "symfony/yaml": "~3.0|~4.0"
+ },
+ "suggest": {
+ "symfony/yaml": "To use the yaml reference dumper"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.4-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Config\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony Config Component",
+ "homepage": "https://symfony.com",
+ "time": "2018-01-21T19:05:02+00:00"
+ },
{
"name": "symfony/dom-crawler",
"version": "v3.1.10",
@@ -6428,6 +6880,104 @@
"homepage": "https://symfony.com",
"time": "2017-01-21T17:13:55+00:00"
},
+ {
+ "name": "symfony/filesystem",
+ "version": "v3.4.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/filesystem.git",
+ "reference": "e078773ad6354af38169faf31c21df0f18ace03d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/e078773ad6354af38169faf31c21df0f18ace03d",
+ "reference": "e078773ad6354af38169faf31c21df0f18ace03d",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.5.9|>=7.0.8"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.4-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Filesystem\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony Filesystem Component",
+ "homepage": "https://symfony.com",
+ "time": "2018-01-03T07:37:34+00:00"
+ },
+ {
+ "name": "symfony/stopwatch",
+ "version": "v3.4.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/stopwatch.git",
+ "reference": "c865551df7c17e63fc1f09f763db04387f91ae4d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/stopwatch/zipball/c865551df7c17e63fc1f09f763db04387f91ae4d",
+ "reference": "c865551df7c17e63fc1f09f763db04387f91ae4d",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.5.9|>=7.0.8"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.4-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Stopwatch\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony Stopwatch Component",
+ "homepage": "https://symfony.com",
+ "time": "2018-01-03T07:37:34+00:00"
+ },
{
"name": "symfony/yaml",
"version": "v3.4.4",
diff --git a/phpunit.xml b/phpunit.xml
index bc98d615c5..ad15b6f59a 100644
--- a/phpunit.xml
+++ b/phpunit.xml
@@ -28,4 +28,7 @@