fix and extend behat tests
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
This commit is contained in:
parent
a515de54e7
commit
18a75bec0d
|
@ -90,7 +90,7 @@ class ConfigAPIController extends OCSController {
|
|||
* <itemsperpage></itemsperpage>
|
||||
* </meta>
|
||||
* <data>
|
||||
* <prefix>s40</prefix>
|
||||
* <configID>s40</configID>
|
||||
* </data>
|
||||
* </ocs>
|
||||
*
|
||||
|
@ -123,7 +123,7 @@ class ConfigAPIController extends OCSController {
|
|||
$this->logger->logException($e);
|
||||
throw new OCSException('An issue occurred when creating the new config.');
|
||||
}
|
||||
return new DataResponse(['prefix' => $configPrefix]);
|
||||
return new DataResponse(['configID' => $configPrefix]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -75,6 +75,16 @@ default:
|
|||
- admin
|
||||
- admin
|
||||
regular_user_password: 123456
|
||||
ldap:
|
||||
paths:
|
||||
- %paths.base%/../ldap_features
|
||||
contexts:
|
||||
- LDAPContext:
|
||||
baseUrl: http://localhost:8080
|
||||
admin:
|
||||
- admin
|
||||
- admin
|
||||
regular_user_password: what_for
|
||||
|
||||
extensions:
|
||||
jarnaiz\JUnitFormatter\JUnitFormatterExtension:
|
||||
|
|
|
@ -0,0 +1,58 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @copyright Copyright (c) 2017 Arthur Schiwon <blizzz@arthur-schiwon.de>
|
||||
*
|
||||
* @author Arthur Schiwon <blizzz@arthur-schiwon.de>
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
use Behat\Behat\Context\Context;
|
||||
|
||||
class LDAPContext implements Context {
|
||||
use BasicStructure;
|
||||
|
||||
protected $configID;
|
||||
|
||||
protected $apiUrl;
|
||||
|
||||
/**
|
||||
* @Given /^the response should contain a tag "([^"]*)"$/
|
||||
*/
|
||||
public function theResponseShouldContainATag($arg1) {
|
||||
$configID = $this->response->xml()->data[0]->$arg1;
|
||||
PHPUnit_Framework_Assert::assertInstanceOf(SimpleXMLElement::class, $configID[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Given /^creating a configuration at "([^"]*)"$/
|
||||
*/
|
||||
public function creatingAConfigurationAt($apiUrl) {
|
||||
$this->apiUrl = $apiUrl;
|
||||
$this->sendingToWith('POST', $this->apiUrl, null);
|
||||
$configElements = $this->response->xml()->data[0]->configID;
|
||||
$this->configID = $configElements[0];
|
||||
}
|
||||
|
||||
/**
|
||||
* @When /^deleting the configuration$/
|
||||
*/
|
||||
public function deletingTheConfiguration() {
|
||||
$this->sendingToWith('DELETE', $this->apiUrl . '/' . $this->configID, null);
|
||||
}
|
||||
}
|
|
@ -5,6 +5,7 @@ Feature: LDAP
|
|||
When sending "POST" to "/apps/user_ldap/api/v1/config"
|
||||
Then the OCS status code should be "100"
|
||||
And the HTTP status code should be "200"
|
||||
And the response should contain a tag "configID"
|
||||
|
||||
Scenario: Delete a non-existing configuration
|
||||
Given As an "admin"
|
||||
|
@ -18,4 +19,9 @@ Feature: LDAP
|
|||
Then the OCS status code should be "400"
|
||||
And the HTTP status code should be "200"
|
||||
|
||||
# TODO: Scenario deleting an existing config ID (needs to be created before)
|
||||
Scenario: Create and delete a configuration
|
||||
Given As an "admin"
|
||||
And creating a configuration at "/apps/user_ldap/api/v1/config"
|
||||
When deleting the configuration
|
||||
Then the OCS status code should be "100"
|
||||
And the HTTP status code should be "200"
|
Loading…
Reference in New Issue