Skip to content

Commit 3cec4fd

Browse files
committed
Merge branch 'travis/update-tests' of https://github.com/mrrobot47/easyengine into mrrobot47-travis/update-tests
2 parents b74109b + 38e6fe8 commit 3cec4fd

File tree

4 files changed

+29
-147
lines changed

4 files changed

+29
-147
lines changed

.travis.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,11 @@ before_install:
1818
1919
install:
2020
- composer install --no-interaction
21+
- sudo ./ci/test-env-install.sh
2122

2223
before_script:
2324
- composer validate
25+
- ./vendor/bin/behat
2426
- ./ci/prepare.sh
2527

2628
jobs:

ci/test-env-install.sh

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#!/usr/bin/env bash
2+
function setup_test_requirements() {
3+
# Adding software-properties-common for add-apt-repository.
4+
apt-get install -y software-properties-common
5+
# Adding ondrej/php repository for installing php, this works for all ubuntu flavours.
6+
add-apt-repository -y ppa:ondrej/php
7+
apt-get update
8+
# Installing php-cli, which is the minimum requirement to run EasyEngine
9+
apt-get -y install php7.2-cli
10+
11+
php_modules=( pcntl curl sqlite3 )
12+
if command -v php > /dev/null 2>&1; then
13+
# Reading the php version.
14+
default_php_version="$(readlink -f /usr/bin/php | gawk -F "php" '{ print $2}')"
15+
for module in "${php_modules[@]}"; do
16+
if ! php -m | grep $module >> $LOG_FILE 2>&1; then
17+
echo "$module not installed. Installing..."
18+
apt install -y php$default_php_version-$module
19+
else
20+
echo "$module is already installed"
21+
fi
22+
done
23+
fi
24+
}
25+
26+
setup_test_requirements

features/bootstrap/FeatureContext.php

Lines changed: 1 addition & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -93,98 +93,12 @@ public function stdoutShouldReturnSomethingLike($output_stream, PyStringNode $ex
9393
}
9494
}
9595

96-
/**
97-
* @Then The :site db entry should be removed
98-
*/
99-
public function theDbEntryShouldBeRemoved($site)
100-
{
101-
$out = shell_exec("sudo bin/ee site list");
102-
if (strpos($out, $site) !== false) {
103-
throw new Exception("$site db entry not been removed!");
104-
}
105-
106-
}
107-
108-
/**
109-
* @Then The :site webroot should be removed
110-
*/
111-
public function theWebrootShouldBeRemoved($site)
112-
{
113-
if (file_exists(getenv('HOME') . "/ee-sites/" . $site)) {
114-
throw new Exception("Webroot has not been removed!");
115-
}
116-
}
117-
118-
/**
119-
* @Then Following containers of site :site should be removed:
120-
*/
121-
public function followingContainersOfSiteShouldBeRemoved($site, TableNode $table)
122-
{
123-
$containers = $table->getHash();
124-
$site_name = implode(explode('.', $site));
125-
126-
foreach ($containers as $container) {
127-
128-
$sevice = $container['container'];
129-
$container_name = $site_name . '_' . $sevice . '_1';
130-
131-
exec("docker inspect -f '{{.State.Running}}' $container_name > /dev/null 2>&1", $exec_out, $return);
132-
if (!$return) {
133-
throw new Exception("$container_name has not been removed!");
134-
}
135-
}
136-
}
137-
138-
/**
139-
* @Then The site :site should have webroot
140-
*/
141-
public function theSiteShouldHaveWebroot($site)
142-
{
143-
if (!file_exists(getenv('HOME') . "/ee-sites/" . $site)) {
144-
throw new Exception("Webroot has not been created!");
145-
}
146-
}
147-
148-
/**
149-
* @Then The site :site should have WordPress
150-
*/
151-
public function theSiteShouldHaveWordpress($site)
152-
{
153-
if (!file_exists(getenv('HOME') . "/ee-sites/" . $site . "/app/src/wp-config.php")) {
154-
throw new Exception("WordPress data not found!");
155-
}
156-
}
157-
158-
/**
159-
* @Then Request on :site should contain following headers:
160-
*/
161-
public function requestOnShouldContainFollowingHeaders($site, TableNode $table)
162-
{
163-
$url = 'http://' . $site;
164-
165-
$ch = curl_init();
166-
curl_setopt($ch, CURLOPT_URL, $url);
167-
curl_setopt($ch, CURLOPT_HEADER, true);
168-
curl_setopt($ch, CURLOPT_NOBODY, true);
169-
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
170-
$headers = curl_exec($ch);
171-
curl_close($ch);
172-
173-
$rows = $table->getHash();
174-
175-
foreach ($rows as $row) {
176-
if (strpos($headers, $row['header']) === false) {
177-
throw new Exception("Unable to find " . $row['header'] . "\nActual output is : " . $headers);
178-
}
179-
}
180-
}
181-
96+
18297
/**
18398
* @AfterFeature
18499
*/
185100
public static function cleanup(AfterFeatureScope $scope)
186101
{
187-
exec("sudo bin/ee site delete hello.test");
188102
if(file_exists('ee.phar')) {
189103
unlink('ee.phar');
190104
}

features/site.feature

Lines changed: 0 additions & 60 deletions
This file was deleted.

0 commit comments

Comments
 (0)