diff --git a/RoboFile.php b/RoboFile.php index 45911509c6..727d9c150b 100644 --- a/RoboFile.php +++ b/RoboFile.php @@ -790,6 +790,12 @@ class RoboFile extends \Robo\Tasks { $this->say("Release '$version[name]' info was published on Slack."); } + public function generateData($generator_name) { + require_once __DIR__ . '/tests/DataGenerator/_bootstrap.php'; + $generator = new \MailPoet\Test\DataGenerator\DataGenerator(new \Codeception\Lib\Console\Output([])); + $generator->run($generator_name); + } + protected function rsearch($folder, $extensions = []) { $dir = new RecursiveDirectoryIterator($folder); $iterator = new RecursiveIteratorIterator($dir); diff --git a/composer.json b/composer.json index b87ff7327b..eb93c29329 100644 --- a/composer.json +++ b/composer.json @@ -54,7 +54,8 @@ "autoload-dev": { "psr-4": { "MailPoetTasks\\Release\\": "tasks/release", - "MailPoet\\Test\\DataFactories\\": "tests/DataFactories" + "MailPoet\\Test\\DataFactories\\": "tests/DataFactories", + "MailPoet\\Test\\DataGenerator\\": "tests/DataGenerator" } }, "scripts": { diff --git a/tests/DataGenerator/DataGenerator.php b/tests/DataGenerator/DataGenerator.php new file mode 100644 index 0000000000..61a8e6b076 --- /dev/null +++ b/tests/DataGenerator/DataGenerator.php @@ -0,0 +1,44 @@ +console = $console; + } + + function run($generator_name) { + $timer = time(); + try { + $generator = $this->createGenerator($generator_name); + foreach ($generator->generate() as $message) { + $this->log($timer, $message); + } + } catch (\Exception $e) { + $this->console->exception($e); + } + $this->log($timer, 'DONE!'); + } + + private function createGenerator($generator_name) { + switch ($generator_name) { + default: + throw new \Exception("Missing or unknown generator name. Possible values: \n " . self::PAST_REVENUES_GENERATOR); + } + } + + private function log($timer, $message) { + $duration = time() - $timer; + $this->console->message("[{$duration}s] $message")->writeln(); + } +} diff --git a/tests/DataGenerator/_bootstrap.php b/tests/DataGenerator/_bootstrap.php new file mode 100644 index 0000000000..2232636359 --- /dev/null +++ b/tests/DataGenerator/_bootstrap.php @@ -0,0 +1,11 @@ +