summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLin Jen-Shin <godfat@godfat.org>2018-01-22 16:25:14 +0800
committerLin Jen-Shin <godfat@godfat.org>2018-01-22 16:25:14 +0800
commit4b1da8502f4625116447014b18adc7e1986e038e (patch)
tree66e944b8a56e3f36cecc7b683246460ce0220cee
parent05d986065b48b325be763c287c96af4b48b0cc16 (diff)
downloadgitlab-ce-4b1da8502f4625116447014b18adc7e1986e038e.tar.gz
Also test if the fingerprint is correct
-rw-r--r--app/assets/javascripts/deploy_keys/components/key.vue4
-rw-r--r--qa/qa/factory/resource/deploy_key.rb6
-rw-r--r--qa/qa/page/base.rb16
-rw-r--r--qa/qa/page/project/settings/deploy_keys.rb22
-rw-r--r--qa/qa/specs/features/project/add_deploy_key_spec.rb4
5 files changed, 44 insertions, 8 deletions
diff --git a/app/assets/javascripts/deploy_keys/components/key.vue b/app/assets/javascripts/deploy_keys/components/key.vue
index 843564ce016..c6091efd62f 100644
--- a/app/assets/javascripts/deploy_keys/components/key.vue
+++ b/app/assets/javascripts/deploy_keys/components/key.vue
@@ -53,10 +53,10 @@
</i>
</div>
<div class="deploy-key-content key-list-item-info">
- <strong class="title">
+ <strong class="title qa-key-title">
{{ deployKey.title }}
</strong>
- <div class="description">
+ <div class="description qa-key-fingerprint">
{{ deployKey.fingerprint }}
</div>
</div>
diff --git a/qa/qa/factory/resource/deploy_key.rb b/qa/qa/factory/resource/deploy_key.rb
index 671114d38b1..d161e57ec99 100644
--- a/qa/qa/factory/resource/deploy_key.rb
+++ b/qa/qa/factory/resource/deploy_key.rb
@@ -10,6 +10,12 @@ module QA
end
end
+ product :fingerprint do
+ Page::Project::Settings::Repository.act do
+ expand_deploy_keys(&:key_fingerprint)
+ end
+ end
+
dependency Factory::Resource::Project, as: :project do |project|
project.name = 'project-to-deploy'
project.description = 'project for adding deploy key test'
diff --git a/qa/qa/page/base.rb b/qa/qa/page/base.rb
index ea4c920c82c..81ba80cdbaf 100644
--- a/qa/qa/page/base.rb
+++ b/qa/qa/page/base.rb
@@ -41,7 +41,21 @@ module QA
end
def click_element(name)
- find(Page::Element.new(name).selector_css).click
+ find_element(name).click
+ end
+
+ def find_element(name)
+ find(element_selector_css(name))
+ end
+
+ def within_element(name)
+ page.within(element_selector_css(name)) do
+ yield
+ end
+ end
+
+ def element_selector_css(name)
+ Page::Element.new(name).selector_css
end
def self.path
diff --git a/qa/qa/page/project/settings/deploy_keys.rb b/qa/qa/page/project/settings/deploy_keys.rb
index f9e40bf4252..332e84724c7 100644
--- a/qa/qa/page/project/settings/deploy_keys.rb
+++ b/qa/qa/page/project/settings/deploy_keys.rb
@@ -14,8 +14,8 @@ module QA
end
view 'app/assets/javascripts/deploy_keys/components/key.vue' do
- element :key_title, /class=".*title.*"/
- element :key_title_field, '{{ deployKey.title }}'
+ element :key_title, /class=".*qa-key-title.*"/
+ element :key_fingerprint, /class=".*qa-key-fingerprint.*"/
end
def fill_key_title(title)
@@ -31,8 +31,22 @@ module QA
end
def key_title
- page.within('.qa-project-deploy-keys') do
- page.find('.title').text
+ within_project_deploy_keys do
+ find_element(:key_title).text
+ end
+ end
+
+ def key_fingerprint
+ within_project_deploy_keys do
+ find_element(:key_fingerprint).text
+ end
+ end
+
+ private
+
+ def within_project_deploy_keys
+ within_element(:project_deploy_keys) do
+ yield
end
end
end
diff --git a/qa/qa/specs/features/project/add_deploy_key_spec.rb b/qa/qa/specs/features/project/add_deploy_key_spec.rb
index 54852bfce4d..67d302a5593 100644
--- a/qa/qa/specs/features/project/add_deploy_key_spec.rb
+++ b/qa/qa/specs/features/project/add_deploy_key_spec.rb
@@ -1,7 +1,8 @@
module QA
feature 'deploy keys support', :core do
+ given(:key) { Runtime::RSAKey.new }
given(:deploy_key_title) { 'deploy key title' }
- given(:deploy_key_value) { Runtime::RSAKey.new.public_key }
+ given(:deploy_key_value) { key.public_key }
scenario 'user adds a deploy key' do
Runtime::Browser.visit(:gitlab, Page::Main::Login)
@@ -13,6 +14,7 @@ module QA
end
expect(deploy_key.title).to eq(deploy_key_title)
+ expect(deploy_key.fingerprint).to eq(key.fingerprint)
end
end
end