Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Tatuya Kamada
gitlab-ce
Commits
961e86bf
Commit
961e86bf
authored
8 years ago
by
Timothy Andrew
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add feature specs to cover naming and deleting U2F devices.
parent
16c44a5d
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
32 additions
and
9 deletions
+32
-9
spec/features/u2f_spec.rb
spec/features/u2f_spec.rb
+28
-8
spec/support/fake_u2f_device.rb
spec/support/fake_u2f_device.rb
+4
-1
No files found.
spec/features/u2f_spec.rb
View file @
961e86bf
...
...
@@ -12,10 +12,12 @@ feature 'Using U2F (Universal 2nd Factor) Devices for Authentication', feature:
end
def
register_u2f_device
(
u2f_device
=
nil
)
u2f_device
||=
FakeU2fDevice
.
new
(
page
)
name
=
FFaker
::
Name
.
first_name
u2f_device
||=
FakeU2fDevice
.
new
(
page
,
name
)
u2f_device
.
respond_to_u2f_registration
click_on
'Setup New U2F Device'
expect
(
page
).
to
have_content
(
'Your device was successfully set up'
)
fill_in
"Pick a name"
,
with:
name
click_on
'Register U2F Device'
u2f_device
end
...
...
@@ -40,13 +42,14 @@ feature 'Using U2F (Universal 2nd Factor) Devices for Authentication', feature:
end
describe
'when 2FA via OTP is enabled'
do
it
'allows registering a new device'
do
it
'allows registering a new device
with a name
'
do
visit
profile_account_path
manage_two_factor_authentication
expect
(
page
.
body
).
to
match
(
"You've already enabled two-factor authentication using mobile"
)
register_u2f_device
u2f_device
=
register_u2f_device
expect
(
page
.
body
).
to
match
(
u2f_device
.
name
)
expect
(
page
.
body
).
to
match
(
'Your U2F device was registered'
)
end
...
...
@@ -55,15 +58,31 @@ feature 'Using U2F (Universal 2nd Factor) Devices for Authentication', feature:
# First device
manage_two_factor_authentication
register_u2f_device
first_device
=
register_u2f_device
expect
(
page
.
body
).
to
match
(
'Your U2F device was registered'
)
# Second device
manage_two_factor_authentication
register_u2f_device
second_device
=
register_u2f_device
expect
(
page
.
body
).
to
match
(
'Your U2F device was registered'
)
expect
(
page
.
body
).
to
match
(
first_device
.
name
)
expect
(
page
.
body
).
to
match
(
second_device
.
name
)
expect
(
U2fRegistration
.
count
).
to
eq
(
2
)
end
it
'allows deleting a device'
do
visit
profile_account_path
manage_two_factor_authentication
expect
(
page
.
body
).
to
match
(
'You have 2 U2F devices registered'
)
expect
(
page
.
body
).
to
match
(
"You've already enabled two-factor authentication using mobile"
)
first_u2f_device
=
register_u2f_device
second_u2f_device
=
register_u2f_device
click_on
"Delete"
,
match: :first
expect
(
page
.
body
).
to
match
(
'Successfully deleted'
)
expect
(
page
.
body
).
not_to
match
(
first_u2f_device
.
name
)
expect
(
page
.
body
).
to
match
(
second_u2f_device
.
name
)
end
end
...
...
@@ -208,7 +227,7 @@ feature 'Using U2F (Universal 2nd Factor) Devices for Authentication', feature:
describe
"when a given U2F device has not been registered"
do
it
"does not allow logging in with that particular device"
do
unregistered_device
=
FakeU2fDevice
.
new
(
page
)
unregistered_device
=
FakeU2fDevice
.
new
(
page
,
FFaker
::
Name
.
first_name
)
login_as
(
user
)
unregistered_device
.
respond_to_u2f_authentication
click_on
"Login Via U2F Device"
...
...
@@ -262,6 +281,7 @@ feature 'Using U2F (Universal 2nd Factor) Devices for Authentication', feature:
end
it
"deletes u2f registrations"
do
visit
profile_account_path
expect
{
click_on
"Disable"
}.
to
change
{
U2fRegistration
.
count
}.
by
(
-
1
)
end
end
...
...
This diff is collapsed.
Click to expand it.
spec/support/fake_u2f_device.rb
View file @
961e86bf
class
FakeU2fDevice
def
initialize
(
page
)
attr_reader
:name
def
initialize
(
page
,
name
)
@page
=
page
@name
=
name
end
def
respond_to_u2f_registration
...
...
This diff is collapsed.
Click to expand it.
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