diff options
Diffstat (limited to 'qa/qa/resource/file.rb')
-rw-r--r-- | qa/qa/resource/file.rb | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/qa/qa/resource/file.rb b/qa/qa/resource/file.rb index 57e82ac19ad..ca74654bf90 100644 --- a/qa/qa/resource/file.rb +++ b/qa/qa/resource/file.rb @@ -3,9 +3,12 @@ module QA module Resource class File < Base - attr_accessor :name, + attr_accessor :author_email, + :author_name, + :branch, :content, - :commit_message + :commit_message, + :name attribute :project do Project.fabricate! do |resource| @@ -31,6 +34,30 @@ module QA page.commit_changes end end + + def resource_web_url(resource) + super + rescue ResourceURLMissingError + # this particular resource does not expose a web_url property + end + + def api_get_path + "/projects/#{CGI.escape(project.path_with_namespace)}/repository/files/#{CGI.escape(@name)}" + end + + def api_post_path + api_get_path + end + + def api_post_body + { + branch: @branch || "master", + author_email: @author_email || Runtime::User.default_email, + author_name: @author_name || Runtime::User.username, + content: content, + commit_message: commit_message + } + end end end end |