77use Behat \Behat \Hook \Scope \AfterFeatureScope ;
88
99
10- use Behat \Gherkin \Node \PyStringNode ,
11- Behat \Gherkin \Node \TableNode ;
10+ use Behat \Gherkin \Node \PyStringNode ;
1211
1312class FeatureContext implements Context
1413{
@@ -94,88 +93,23 @@ public function stdoutShouldReturnSomethingLike($output_stream, PyStringNode $ex
9493 }
9594
9695 /**
97- * @Then The :site db entry should be removed
96+ * @Then ee should be deleted
9897 */
99- public function theDbEntryShouldBeRemoved ( $ site )
98+ public function eeShouldBeDeleted ( )
10099 {
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! " );
100+ $ result = EE :: launch ( " docker ps -aqf label=org.label-schema.vendor= \" EasyEngine \" | wc -l " , false , true );
101+ if ( trim ( $ result -> stdout ) !== ' 0 ' ) {
102+ throw new Exception ("All containers have not been removed. " );
104103 }
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! " );
104+ $ home = getenv ('HOME ' );
105+ if (file_exists ("$ home/.ee/ " )){
106+ throw new Exception ("~/.ee/ has not been removed " );
115107 }
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- }
108+ if (file_exists ("$ home/ee-sites/ " )){
109+ throw new Exception ("~/ee-sites/ has not been removed " );
135110 }
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- }
111+ if (file_exists ('/opt/easyengine/ ' )){
112+ throw new Exception ("/opt/easyengine/ has not been removed " );
179113 }
180114 }
181115
@@ -184,7 +118,6 @@ public function requestOnShouldContainFollowingHeaders($site, TableNode $table)
184118 */
185119 public static function cleanup (AfterFeatureScope $ scope )
186120 {
187- exec ("sudo bin/ee site delete hello.test " );
188121 if (file_exists ('ee.phar ' )) {
189122 unlink ('ee.phar ' );
190123 }
0 commit comments