Fakultas Ilmu Komputer UI
Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
ppl-fasilkom-ui
PPL Sosial
bisago
bisago-be
Commits
1a9203e7
Commit
1a9203e7
authored
Mar 20, 2021
by
Muhammad Rafif Elfazri
Browse files
[RED] Create test for oauth modules
parent
9431e9d1
Changes
1
Hide whitespace changes
Inline
Side-by-side
oauth/tests.py
View file @
1a9203e7
from
django.test
import
TestCase
import
json
from
unittest.mock
import
patch
from
django.test
import
Client
from
registrasi.models
import
BisaGoUser
from
django.contrib.auth.models
import
User
import
time
# Create your tests here.
class
TestOauth
(
TestCase
):
def
setUp
(
self
):
email
=
'mock_user@email.com'
password
=
'pass12345'
name
=
'name'
user
=
User
.
objects
.
create_user
(
username
=
email
,
email
=
email
,
password
=
password
,
last_name
=
name
)
user
.
is_active
=
True
user
.
save
()
BisaGoUser
.
objects
.
create
(
user
=
user
,
phone_number
=
'089892234567'
,
tanggal_lahir
=
'1990-05-05'
,
pekerjaan
=
'Mahasiswa'
,
alamat
=
'Alamat Palsu'
)
email
=
'mock_user12@email.com'
name
=
'name12323'
user
=
User
.
objects
.
create_user
(
username
=
email
,
email
=
email
,
password
=
password
,
last_name
=
name
)
user
.
is_active
=
False
user
.
save
()
BisaGoUser
.
objects
.
create
(
user
=
user
,
phone_number
=
'089832234567'
,
tanggal_lahir
=
'1990-05-05'
,
pekerjaan
=
'Mahasiswa'
,
alamat
=
'Alamat Palsu'
)
def
test_request_token_email_exist_active
(
self
):
email
=
'mock_user@email.com'
passcode
=
'pass12345'
response
=
Client
().
post
(
'/api-token-auth/'
,
{
'username'
:
email
,
'name'
:
'name'
,
"access_token"
:
"sankdsanlk"
,
'password'
:
passcode
})
self
.
assertEqual
(
200
,
response
.
status_code
)
def
test_request_token_email_not_exists
(
self
):
email
=
'mock_user1212@email.com'
passcode
=
'pass12345'
response
=
Client
().
post
(
'/api-token-auth/'
,
{
'username'
:
email
,
'name'
:
'name'
,
"access_token"
:
"sankdsanlk"
,
'password'
:
passcode
})
json_response
=
json
.
loads
(
response
.
content
)
self
.
assertEqual
(
404
,
response
.
status_code
)
self
.
assertEqual
(
json_response
[
'response'
],
"User not exist"
)
def
test_request_token_not_active
(
self
):
email
=
'mock_user12@email.com'
password
=
'pass12345'
response
=
Client
().
post
(
'/api-token-auth/'
,
{
'username'
:
email
,
'name'
:
'name12323'
,
"access_token"
:
"sankdsanlk"
,
'password'
:
password
})
json_response
=
json
.
loads
(
response
.
content
)
self
.
assertEqual
(
400
,
response
.
status_code
)
self
.
assertEqual
(
json_response
[
'response'
],
"Please activate your account"
)
def
test_user_wrong_password
(
self
):
email
=
'mock_user12@email.com'
password
=
'pass123456'
response
=
Client
().
post
(
'/api-token-auth/'
,
{
'username'
:
email
,
'name'
:
'name'
,
"access_token"
:
"sankdsanlk"
,
'password'
:
password
})
json_response
=
json
.
loads
(
response
.
content
)
self
.
assertEqual
(
400
,
response
.
status_code
)
self
.
assertEqual
(
json_response
[
'response'
],
"Wrong password"
)
@
patch
(
'oauth.views.json.loads'
)
def
test_google_login_exist
(
self
,
mock_json_loads
):
email
=
'mock_user@email.com'
passcode
=
'pass12345'
mock_json_loads
.
return_value
=
{
"email"
:
'mock_user@email.com'
}
response
=
Client
().
post
(
'/api-token-auth/'
,
{
'username'
:
email
,
'name'
:
'name'
,
"access_token"
:
"sankdsanlk"
,
'password'
:
passcode
,
'google'
:
True
,
})
json_response
=
json
.
loads
(
response
.
content
)
self
.
assertEqual
(
200
,
response
.
status_code
)
self
.
assertEqual
(
'mock_user@email.com'
,
json_response
.
get
(
"username"
))
time
.
sleep
(
1
)
@
patch
(
'oauth.views.json.loads'
)
def
test_google_login_not_exist
(
self
,
mock_json_loads
):
email
=
'mock_user4545@email.com'
passcode
=
'pass1234567'
mock_json_loads
.
return_value
=
{
"email"
:
'mock_user4545@email.com'
}
response
=
Client
().
post
(
'/api-token-auth/'
,
{
'username'
:
email
,
'name'
:
'name'
,
"access_token"
:
"sankdsanlk"
,
'password'
:
passcode
,
'google'
:
True
,
})
json_response
=
json
.
loads
(
response
.
content
)
self
.
assertEqual
(
200
,
response
.
status_code
)
self
.
assertEqual
(
'mock_user4545@email.com'
,
json_response
.
get
(
"username"
))
time
.
sleep
(
1
)
@
patch
(
'oauth.views.json.loads'
)
def
test_google_login_error
(
self
,
mock_json_loads
):
email
=
'mock_user4545@email.com'
passcode
=
'pass1234567'
mock_json_loads
.
return_value
=
{
"error"
:
'error'
}
response
=
Client
().
post
(
'/api-token-auth/'
,
{
'username'
:
email
,
'name'
:
'name'
,
"access_token"
:
"sankdsanlk"
,
'password'
:
passcode
,
'google'
:
True
,
})
json_response
=
json
.
loads
(
response
.
content
)
self
.
assertEqual
(
404
,
response
.
status_code
)
self
.
assertTrue
(
"message"
in
json_response
)
time
.
sleep
(
1
)
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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