@@ -44,24 +44,47 @@ class FeatureContext implements Context
4444 */
4545 private $ institutionConfiguration ;
4646
47+ private static function execCommand (string $ command ): void
48+ {
49+ $ output = [];
50+ $ returnCode = -1 ;
51+ $ result = exec ($ command , $ output , $ returnCode );
52+
53+ if ($ result === false ) {
54+ echo "Failed executing command \n" ;
55+ die ();
56+ }
57+
58+ foreach ($ output as $ line ) {
59+ echo $ line ."\n" ;
60+ }
61+
62+ if ($ returnCode !== 0 ) {
63+ die ();
64+ }
65+ }
66+
4767 /**
4868 * @BeforeFeature
4969 */
5070 public static function setupDatabase (BeforeFeatureScope $ scope )
5171 {
5272 // Generate test databases
5373 echo "Preparing test schemas \n" ;
54- shell_exec ( " docker exec -t stepup-middleware-1 bin/console doctrine:schema:drop --env=smoketest --force " );
55- shell_exec ( " docker exec -t stepup-gateway -1 bin/console doctrine:schema:drop --env=smoketest --force " );
56- shell_exec ( " docker exec -t stepup-middleware-1 bin/console doctrine:schema:create --env=smoketest " );
57- shell_exec ( " docker exec -t stepup-gateway -1 bin/console doctrine:schema:create --env=smoketest " );
74+ self :: execCommand ( ' docker exec -t stepup-middleware-1 bin/console doctrine:schema:drop --em=middleware -- env=smoketest --force ' );
75+ self :: execCommand ( ' docker exec -t stepup-middleware -1 bin/console doctrine:schema:drop --em=gateway -- env=smoketest --force ' );
76+ self :: execCommand ( ' docker exec -t stepup-middleware-1 bin/console doctrine:schema:create --em=middleware -- env=smoketest ' );
77+ self :: execCommand ( ' docker exec -t stepup-middleware -1 bin/console doctrine:schema:create --em=gateway -- env=smoketest ' );
5878
59- echo "Replaying event stream \n" ;
6079 // Import the events.sql into middleware
61- shell_exec ("mysql -uroot -psecret middleware_test -h mariadb < ./fixtures/events.sql " );
62- shell_exec ("./fixtures/middleware-push-config.sh " );
80+ echo "Add events to test database \n" ;
81+ self ::execCommand ("mysql -uroot -psecret middleware_test -h mariadb < ./fixtures/events.sql " );
82+
6383 // Perform an event replay
64- shell_exec ("docker exec -t stepup-middleware-1 bin/console middleware:event:replay --env=smoketest_event_replay --no-interaction -q " );
84+ echo "Replaying event stream \n" ;
85+ self ::execCommand ("docker exec -t stepup-middleware-1 bin/console middleware:event:replay --env=smoketest_event_replay --no-interaction -vvv " );
86+ // Push config
87+ self ::execCommand ("./fixtures/middleware-push-config.sh " );
6588 }
6689
6790 /**
0 commit comments