From c992eca9ef6a8ccf3350b058b44c56210b3f0104 Mon Sep 17 00:00:00 2001 From: Marien Fressinaud Date: Tue, 12 May 2020 08:30:15 +0200 Subject: [PATCH] tec: Add Faker to be used in tests --- composer.json | 3 ++- composer.lock | 52 ++++++++++++++++++++++++++++++++++++++- docker/docker-compose.yml | 2 ++ env.sample | 2 ++ tests/bootstrap.php | 12 +++++++++ 5 files changed, 69 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index 7cdb4320..4a7cde97 100644 --- a/composer.json +++ b/composer.json @@ -1,6 +1,7 @@ { "require-dev": { "phpunit/phpunit": "^9.1", - "squizlabs/php_codesniffer": "^3.5" + "squizlabs/php_codesniffer": "^3.5", + "fzaninotto/faker": "^1.9" } } diff --git a/composer.lock b/composer.lock index 3210c049..8c1d90ba 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "f2b34e1e0f50ee39dd23678995336866", + "content-hash": "a74afa2311bbb6bc589dd803d6d4c5fa", "packages": [], "packages-dev": [ { @@ -63,6 +63,56 @@ ], "time": "2019-10-21T16:45:58+00:00" }, + { + "name": "fzaninotto/faker", + "version": "v1.9.1", + "source": { + "type": "git", + "url": "https://github.com/fzaninotto/Faker.git", + "reference": "fc10d778e4b84d5bd315dad194661e091d307c6f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/fc10d778e4b84d5bd315dad194661e091d307c6f", + "reference": "fc10d778e4b84d5bd315dad194661e091d307c6f", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "ext-intl": "*", + "phpunit/phpunit": "^4.8.35 || ^5.7", + "squizlabs/php_codesniffer": "^2.9.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "Faker\\": "src/Faker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "François Zaninotto" + } + ], + "description": "Faker is a PHP library that generates fake data for you.", + "keywords": [ + "data", + "faker", + "fixtures" + ], + "time": "2019-12-12T13:22:17+00:00" + }, { "name": "myclabs/deep-copy", "version": "1.9.5", diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 20afa8d4..872cc9a2 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -13,6 +13,8 @@ services: volumes: - ..:/var/www/html:z - composer:/tmp + environment: + SEED: $SEED user: $USER links: - database diff --git a/env.sample b/env.sample index ebe73f2f..59182850 100644 --- a/env.sample +++ b/env.sample @@ -18,3 +18,5 @@ SMTP_AUTH_TYPE=LOGIN SMTP_USERNAME=noreply SMTP_PASSWORD=secret SMTP_SECURE=tls + +SEED= diff --git a/tests/bootstrap.php b/tests/bootstrap.php index cf25f4fc..277d6797 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -7,3 +7,15 @@ \Minz\Configuration::load('test', $app_path); \Minz\Environment::initialize(); \Minz\Environment::startSession(); + +$faker = \Faker\Factory::create(); + +$faker_seed = getenv('SEED'); +if ($faker_seed) { + $faker_seed = intval($faker_seed); +} else { + $faker_seed = random_int(PHP_INT_MIN, PHP_INT_MAX); +} + +$faker->seed($faker_seed); +echo 'Use SEED=' . $faker_seed . " to reproduce this suite.\n";