BigW Consortium Gitlab
Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gitlab-ce
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Forest Godfrey
gitlab-ce
Commits
961e86bf
Commit
961e86bf
authored
Aug 17, 2016
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
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
32 additions
and
9 deletions
+32
-9
u2f_spec.rb
spec/features/u2f_spec.rb
+28
-8
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
...
...
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
...
...
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