diff options
author | Andrew Dolgov <[email protected]> | 2023-10-29 08:58:13 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2023-10-29 09:14:18 +0300 |
commit | 8b72d9ab1143416ca28ff3ab1230eb575ee63ace (patch) | |
tree | beab0d5c88b9cf29ff91c8bb3f413ca8912270bc | |
parent | 855695a8620a3a5ffada836fd28e04bb912bbd3a (diff) |
add phpunit integration (wip)
-rw-r--r-- | .gitlab-ci.yml | 18 | ||||
-rw-r--r-- | tests/integration/ApiTest.php | 15 |
2 files changed, 23 insertions, 10 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 900dcae7b..ce7be8695 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -61,7 +61,7 @@ phpdoc: chmod 0600 ~/.ssh/id_ed25519 - rsync -av -e 'ssh -o StrictHostKeyChecking=no' phpdoc/ ${PHPDOC_DEPLOY_HOST}:phpdoc/ -integration-test: +selenium: image: ${SELENIUM_IMAGE} variables: TEST_HELM_REPO: https://gitlab.tt-rss.org/tt-rss/helm-charts/tt-rss @@ -73,8 +73,20 @@ integration-test: rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH -integration-test:branch: - extends: integration-test +selenium:branch: + extends: selenium + rules: + - if: $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH && $CI_REGISTRY_USER != null + when: manual + +phpunit-integration:branch: + image: ${PHP_IMAGE} + extends: selenium + script: + - export K8S_NAMESPACE=$(kubectl get pods -o=custom-columns=NS:.metadata.namespace | tail -1) + - export API_URL="http://tt-rss-${CI_COMMIT_SHORT_SHA}-app.$K8S_NAMESPACE.svc.cluster.local/tt-rss/api/" + - env + - php82 vendor/bin/phpunit --group integration rules: - if: $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH && $CI_REGISTRY_USER != null diff --git a/tests/integration/ApiTest.php b/tests/integration/ApiTest.php index cd7a8d67a..8f0759e68 100644 --- a/tests/integration/ApiTest.php +++ b/tests/integration/ApiTest.php @@ -7,18 +7,18 @@ final class ApiTest extends TestCase { /** @var string */ private $api_url; - /** @var string */ - private $sid; - function __construct() { - $this->api_url = $_ENV['API_URL']; + $this->api_url = getenv('API_URL'); print_r($this->api_url); parent::__construct(); } + /** @param array<mixed> $payload + * @return array<mixed> + */ function api(array $payload) : ?array { $ch = curl_init($this->api_url); @@ -37,18 +37,19 @@ final class ApiTest extends TestCase { return json_decode($response, true); } - public function common_assertions(array $response) { + /** @param array<mixed> $response */ + public function common_assertions(array $response) : void { $this->assertArrayHasKey("content", $response); $this->assertArrayNotHasKey("error", $response['content'], $response['content']['error']); } - public function test_login() { + public function test_login() : void { $response = $this->api(["op" => "login", "user" => "test", "password" => "test"]); $this->common_assertions($response); } - public function test_getVersion() { + public function test_getVersion() : void { $response = $this->api(["op" => "getVersion"]); |