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
itminedu
synnefo
Commits
fcc21645
Commit
fcc21645
authored
May 16, 2013
by
Christos Stavrakakis
Browse files
helpdesk: Use 'mock' library to bypass auth
Use mock to library to bypass astakos authentication in helpdesk views.
parent
ad70649c
Changes
1
Hide whitespace changes
Inline
Side-by-side
snf-cyclades-app/synnefo/helpdesk/tests.py
View file @
fcc21645
...
...
@@ -78,6 +78,21 @@ class AuthClient(Client):
return
super
(
AuthClient
,
self
).
request
(
**
request
)
def
get_user_mock
(
request
,
*
args
,
**
kwargs
):
request
.
user_uniq
=
None
request
.
user
=
None
if
request
.
META
.
get
(
'HTTP_X_AUTH_TOKEN'
,
None
)
==
'0000'
:
request
.
user_uniq
=
'test'
request
.
user
=
{
'uniq'
:
'test'
,
'auth_token'
:
'0000'
}
if
request
.
META
.
get
(
'HTTP_X_AUTH_TOKEN'
,
None
)
==
'0001'
:
request
.
user_uniq
=
'test'
request
.
user
=
{
'uniq'
:
'test'
,
'groups'
:
[
'default'
,
'helpdesk'
],
'auth_token'
:
'0001'
}
@
mock
.
patch
(
"astakosclient.AstakosClient"
,
new
=
AstakosClientMock
)
@
mock
.
patch
(
"snf_django.lib.astakos.get_user"
,
new
=
get_user_mock
)
class
HelpdeskTests
(
TestCase
):
"""
Helpdesk tests. Test correctness of permissions and returned data.
...
...
@@ -86,25 +101,6 @@ class HelpdeskTests(TestCase):
fixtures
=
[
'helpdesk_test'
]
def
setUp
(
self
):
def
get_user_mock
(
request
,
*
args
,
**
kwargs
):
request
.
user_uniq
=
None
request
.
user
=
None
if
request
.
META
.
get
(
'HTTP_X_AUTH_TOKEN'
,
None
)
==
'0000'
:
request
.
user_uniq
=
'test'
request
.
user
=
{
'uniq'
:
'test'
,
'auth_token'
:
'0000'
}
if
request
.
META
.
get
(
'HTTP_X_AUTH_TOKEN'
,
None
)
==
'0001'
:
request
.
user_uniq
=
'test'
request
.
user
=
{
'uniq'
:
'test'
,
'groups'
:
[
'default'
,
'helpdesk'
],
'auth_token'
:
'0001'
}
# mock the astakos authentication function
from
snf_django.lib
import
astakos
astakos
.
get_user
=
get_user_mock
import
astakosclient
astakosclient
.
AstakosClient
=
AstakosClientMock
settings
.
SKIP_SSH_VALIDATION
=
True
settings
.
HELPDESK_ENABLED
=
True
self
.
client
=
AuthClient
()
...
...
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