From f1f244e0634119989a33439e80dd86f6c6b34876 Mon Sep 17 00:00:00 2001 From: Louis Rose Date: Thu, 21 Mar 2024 15:41:34 +0000 Subject: [PATCH] adds resources for running tests on CI --- .gitignore | 8 ++++++-- Dockerfile | 12 ++++++++++++ Makefile | 8 ++++++++ docker-compose.yml | 17 +++++++++++++++++ phpunit.xml | 12 ++++++++++++ 5 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 Dockerfile create mode 100644 Makefile create mode 100644 docker-compose.yml create mode 100644 phpunit.xml diff --git a/.gitignore b/.gitignore index 1d3dace..5cd5e14 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ build/* composer.lock # Ignore test files +.phpunit.result.cache /tests/tinker/ /tests/TestConfig.php @@ -18,5 +19,8 @@ composer.lock /.vscode/ /.idea -# TODO list -TODO.md \ No newline at end of file +# scratch files +TODO.md + +# docker compose overrides +docker-compose.override.yml \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..99ae9d7 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,12 @@ +FROM php:7.2-cli + +# Install PHP extensions and composer +RUN apt-get update && \ + apt-get install -y libzip-dev zlib1g-dev zip && \ + docker-php-ext-install zip && \ + curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer + +# Copy application files +RUN mkdir -p /usr/src/zamzar-php +COPY . /usr/src/zamzar-php +WORKDIR /usr/src/zamzar-php \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..920b522 --- /dev/null +++ b/Makefile @@ -0,0 +1,8 @@ +.PHONY: up test + +up: + @docker compose up -d + @docker compose exec php composer install --no-interaction + +test: up + @docker compose exec php vendor/bin/phpunit \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..b80f487 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,17 @@ +version: '3' +services: + php: + build: . + depends_on: + - mock + entrypoint: [ "/bin/sh", "-c", "sleep infinity" ] + environment: + - ZAMZAR_API_KEY=GiVUYsF4A8ssq93FR48H + - ZAMZAR_API_URL=http://mock:8080 + volumes: + - '.:/usr/src/zamzar-php' + working_dir: '/usr/src/zamzar-php' + mock: + image: zamzar/zamzar-mock:latest + ports: + - "8080:8080" diff --git a/phpunit.xml b/phpunit.xml new file mode 100644 index 0000000..52dc418 --- /dev/null +++ b/phpunit.xml @@ -0,0 +1,12 @@ + + + + + ./tests + + +