Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
die_coolen_jungs
our_own_cloud_project
Commits
fcc2a0c8
Commit
fcc2a0c8
authored
Oct 29, 2015
by
Thomas Müller
Browse files
Upgrade behat to 3.0.x and use @BeforeScenario and @AfterScenario to clean up users
parent
d11b69bf
Changes
5
Hide whitespace changes
Inline
Side-by-side
build/integration/composer.json
View file @
fcc2a0c8
{
"require-dev"
:
{
"phpunit/phpunit"
:
"~4.6"
,
"behat/behat"
:
"^3.0"
,
"guzzlehttp/guzzle"
:
"~5.0"
,
"
behat/behat"
:
"2.4.*@stable
"
"
jarnaiz/behat-junit-formatter"
:
"^1.3
"
}
}
build/integration/config/behat.yml
View file @
fcc2a0c8
default
:
paths
:
features
:
../features
bootstrap
:
%
behat.paths.features%/bootstrap
autoload
:
'
'
:
%
paths.base%/../features/bootstrap
suites
:
default
:
paths
:
-
%
paths.base%/../features
contexts
:
-
FeatureContext
:
baseUrl
:
http://localhost:8080/ocs/
admin
:
-
admin
-
admin
regular_user_password
:
123456
context
:
parameters
:
baseUrl
:
http://localhost:8080/ocs/
admin
:
-
admin
-
admin
regular_user_password
:
123456
ci
:
formatter
:
name
:
pretty,junit
parameters
:
output_path
:
null
,./output
extensions
:
jarnaiz\JUnitFormatter\JUnitFormatterExtension
:
filename
:
report.xml
outputDir
:
%
paths.base%/../output/
build/integration/features/bootstrap/FeatureContext.php
View file @
fcc2a0c8
<?php
use
Behat\Behat\Context\BehatContext
;
use
Behat\Behat\Context\Context
;
use
Behat\Behat\Context\SnippetAcceptingContext
;
use
GuzzleHttp\Client
;
use
GuzzleHttp\Message\ResponseInterface
;
...
...
@@ -9,7 +10,7 @@ require __DIR__ . '/../../vendor/autoload.php';
/**
* Features context.
*/
class
FeatureContext
ext
en
d
s
Behat
Context
{
class
FeatureContext
implem
en
t
s
Context
,
SnippetAccepting
Context
{
/** @var string */
private
$baseUrl
=
''
;
...
...
@@ -26,18 +27,15 @@ class FeatureContext extends BehatContext {
/** @var SimpleXMLElement */
private
$lastShareData
=
null
;
/**
* Initializes context.
* Every scenario gets it's own context object.
*
* @param array $parameters context parameters (set them up through behat.yml)
*/
public
function
__construct
(
array
$parameters
)
{
/** @var array */
private
$createdUsers
=
[];
public
function
__construct
(
$baseUrl
,
$admin
,
$regular_user_password
)
{
// Initialize your context here
$this
->
baseUrl
=
$
parameters
[
'
baseUrl
'
]
;
$this
->
adminUser
=
$
parameters
[
'
admin
'
]
;
$this
->
regularUser
=
$
parameters
[
'
regular_user_password
'
]
;
$this
->
baseUrl
=
$baseUrl
;
$this
->
adminUser
=
$admin
;
$this
->
regularUser
=
$regular_user_password
;
// in case of ci deployment we take the server url from the environment
$testServerUrl
=
getenv
(
'TEST_SERVER_URL'
);
...
...
@@ -389,7 +387,7 @@ class FeatureContext extends BehatContext {
];
$this
->
response
=
$client
->
send
(
$client
->
createRequest
(
"POST"
,
$fullUrl
,
$options
));
$this
->
createdUsers
[
$user
]
=
$user
;
}
/**
...
...
@@ -604,4 +602,16 @@ class FeatureContext extends BehatContext {
$this
->
response
=
$client
->
send
(
$client
->
createRequest
(
"PUT"
,
$fullUrl
,
$options
));
PHPUnit_Framework_Assert
::
assertEquals
(
200
,
$this
->
response
->
getStatusCode
());
}
/**
* @BeforeScenario
* @AfterScenario
*/
public
function
cleanupUsers
()
{
foreach
(
$this
->
createdUsers
as
$user
)
{
$this
->
deleteUser
(
$user
);
}
}
}
build/integration/features/sharing-v1.feature
View file @
fcc2a0c8
...
...
@@ -12,8 +12,6 @@ Feature: sharing
|
shareType
|
0
|
Then
the OCS status code should be
"100"
And
the HTTP status code should be
"200"
And
user
"user0"
does not exist
And
user
"user1"
does not exist
Scenario
:
Creating a share with a group
Given
user
"user0"
exists
...
...
@@ -26,9 +24,6 @@ Feature: sharing
|
shareType
|
1
|
Then
the OCS status code should be
"100"
And
the HTTP status code should be
"200"
And
user
"user0"
does not exist
And
user
"user1"
does not exist
And
group
"sharing-group"
does not exist
Scenario
:
Creating a new public share
Given
user
"user0"
exists
...
...
@@ -39,7 +34,6 @@ Feature: sharing
Then
the OCS status code should be
"100"
And
the HTTP status code should be
"200"
And
Public shared file
"welcome.txt"
can be downloaded
And
user
"user0"
does not exist
Scenario
:
Creating a new public share with password
Given
user
"user0"
exists
...
...
@@ -51,7 +45,6 @@ Feature: sharing
Then
the OCS status code should be
"100"
And
the HTTP status code should be
"200"
And
Public shared file
"welcome.txt"
with password
"publicpw"
can be downloaded
And
user
"user0"
does not exist
Scenario
:
Creating a new public share with password and adding an expiration date
Given
user
"user0"
exists
...
...
@@ -64,5 +57,4 @@ Feature: sharing
Then
the OCS status code should be
"100"
And
the HTTP status code should be
"200"
And
Public shared file
"welcome.txt"
with password
"publicpw"
can be downloaded
And
user
"user0"
does not exist
build/integration/run.sh
View file @
fcc2a0c8
...
...
@@ -14,6 +14,6 @@ PHPPID=$!
echo
$PHPPID
export
TEST_SERVER_URL
=
"http://localhost:
$PORT
/ocs/"
vendor/bin/behat
-
-profile
ci
vendor/bin/behat
-
f
junit
-f
pretty
kill
$PHPPID
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment