Bug #46703
Session has side effects in functional tests
Status: | Resolved | Start date: | 2013-03-27 | |
---|---|---|---|---|
Priority: | Should have | Due date: | ||
Assigned To: | Robert Lemke | % Done: | 100% |
|
Category: | Session | |||
Target version: | TYPO3 Flow Base Distribution - 2.0 | |||
PHP Version: | 5.4 | Complexity: | hard | |
Has patch: | No | Affected Flow version: | Flow 2.0.0 beta 1 |
Description
Consider the following code in a functional test:
$response = $this->browser->request('http://localhost/test/session'); $this->assertTrue($response->hasCookie('TYPO3_Flow_Session')); $response = $this->browser->request('http://localhost/test/session'); $this->assertTrue($response->hasCookie('TYPO3_Flow_Session'));
The first assertion will succeed because the new session sends a session cookie in its response.
The second assertion will fail because the session object seems to be reused and not fully cleared before it is used again in the second browser request.
Related issues
Associated revisions
[BUGFIX] Reduce side effects of sessions used in functional tests
This patch makes sure that once a session has been closed or
destroyed, it will rebuild information determined from the request /
response in case it is started again.
While this scenario (a session is closed and started again during
the same PHP request) is uncommon in real world projects, it may
happen during functional tests. Therefore this is mainly a fix to
reduce side effects in functional tests.
A concrete side effect Flow has without this patch is that session
cookies are set to the HTTP response only when a session was
started the first time.
This patch also adds an explanation about starting / resuming
sessions to the class doc comment.
Change-Id: Ia78851bd3167733114b94255e5ee201ca3197564
Resolves: #46703
Resolves: #44202
Releases: master, 2.0
[BUGFIX] Reduce side effects of sessions used in functional tests
This patch makes sure that once a session has been closed or
destroyed, it will rebuild information determined from the request /
response in case it is started again.
While this scenario (a session is closed and started again during
the same PHP request) is uncommon in real world projects, it may
happen during functional tests. Therefore this is mainly a fix to
reduce side effects in functional tests.
A concrete side effect Flow has without this patch is that session
cookies are set to the HTTP response only when a session was
started the first time.
This patch also adds an explanation about starting / resuming
sessions to the class doc comment.
Change-Id: Ia78851bd3167733114b94255e5ee201ca3197564
Resolves: #46703
Resolves: #44202
Releases: master, 2.0
History
#1 Updated by Gerrit Code Review over 2 years ago
- Status changed from Accepted to Under Review
Patch set 1 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19338
#2 Updated by Gerrit Code Review over 2 years ago
Patch set 2 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19338
#3 Updated by Anonymous over 2 years ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Applied in changeset 2fdafb69fa403e2bc55c10f9f1d28808dcd0fc6f.
#4 Updated by Gerrit Code Review over 2 years ago
- Status changed from Resolved to Under Review
Patch set 1 for branch 2.0 has been pushed to the review server.
It is available at https://review.typo3.org/19594
#5 Updated by Gerrit Code Review over 2 years ago
Patch set 2 for branch 2.0 has been pushed to the review server.
It is available at https://review.typo3.org/19594
#6 Updated by Anonymous over 2 years ago
- Status changed from Under Review to Resolved
Applied in changeset 8f6917b64af670e3b0bd4d288b94fde74971ae6c.