Class: BitBucketProcedure

Inherits:
Object
  • Object
show all
Defined in:
lib/ci_helper/bitbucket_procedure.rb

Constant Summary collapse

BIT_BUCKET_LOGIN_URL =
'https://bitbucket.org/account/signin/'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(account, password) ⇒ BitBucketProcedure

Returns a new instance of BitBucketProcedure.



7
8
9
10
11
# File 'lib/ci_helper/bitbucket_procedure.rb', line 7

def initialize(, password)
  @account  = 
  @password = password
  @client   = Mechanize.new
end

Instance Attribute Details

#accountObject (readonly)

Returns the value of attribute account.



4
5
6
# File 'lib/ci_helper/bitbucket_procedure.rb', line 4

def 
  @account
end

#clientObject (readonly)

Returns the value of attribute client.



4
5
6
# File 'lib/ci_helper/bitbucket_procedure.rb', line 4

def client
  @client
end

#destinationObject (readonly)

Returns the value of attribute destination.



4
5
6
# File 'lib/ci_helper/bitbucket_procedure.rb', line 4

def destination
  @destination
end

#passwordObject (readonly)

Returns the value of attribute password.



4
5
6
# File 'lib/ci_helper/bitbucket_procedure.rb', line 4

def password
  @password
end

#pull_request_pageObject (readonly)

Returns the value of attribute pull_request_page.



5
6
7
# File 'lib/ci_helper/bitbucket_procedure.rb', line 5

def pull_request_page
  @pull_request_page
end

#repository_pageObject (readonly)

Returns the value of attribute repository_page.



5
6
7
# File 'lib/ci_helper/bitbucket_procedure.rb', line 5

def repository_page
  @repository_page
end

#titleObject (readonly)

Returns the value of attribute title.



4
5
6
# File 'lib/ci_helper/bitbucket_procedure.rb', line 4

def title
  @title
end

#user_descriptionObject (readonly)

Returns the value of attribute user_description.



4
5
6
# File 'lib/ci_helper/bitbucket_procedure.rb', line 4

def user_description
  @user_description
end

Instance Method Details

#add_destination(destination) ⇒ Object



41
42
43
# File 'lib/ci_helper/bitbucket_procedure.rb', line 41

def add_destination(destination)
 @destination = destination
end

#add_pf_title(title) ⇒ Object



49
50
51
# File 'lib/ci_helper/bitbucket_procedure.rb', line 49

def add_pf_title(title)
  @title = title
end

#add_user_description(description) ⇒ Object



45
46
47
# File 'lib/ci_helper/bitbucket_procedure.rb', line 45

def add_user_description(description)
  @user_description = description
end

#create_pull_request(result) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/ci_helper/bitbucket_procedure.rb', line 13

def create_pull_request(result)
  
  go_to_repo_page
  go_to_pull_request_page

  create_pull_request_page = pull_request_page.link_with(href: '/vansys/vansys/pull-request/new').click
  redirect_page = create_pull_request_page.form_with(action: '/vansys/vansys/pull-request/new') do |request_form|

    request_form.field_with(name: 'title').value = "issue number #{result.issue_number.to_s} auto create pull request "
    request_form.field_with(name: 'dest').options.select { |option| option.text == destination.to_s }.first.select
    request_form.field_with(name: 'source').options.select { |option| option.text == result.branch_name }.first.select
    description       = request_form.field_with(name: 'description')
    description.value = "1. #{CiHelper::REDMINE_DOMAIN}#{result.issue_number.delete('t')}\n"
    description.value += "2. #{result.console_link} \n"
    description.value += "```\n"
    description.value += "#!ruby \n"

    result.failures.each do |failure|
      description.value += "#{failure.to_s}\n"
    end

    description.value += "```\n"

    description.value += user_description
  end.click_button
  redirect_page
end

#go_to_pull_request_pageObject



66
67
68
# File 'lib/ci_helper/bitbucket_procedure.rb', line 66

def go_to_pull_request_page
  @pull_request_page = repository_page.link_with(href: '/vansys/vansys/pull-requests').click
end

#go_to_repo_pageObject



62
63
64
# File 'lib/ci_helper/bitbucket_procedure.rb', line 62

def go_to_repo_page
  @repository_page = @response_page.link_with(href: '/vansys/vansys').click
end

#loginObject



53
54
55
56
57
58
59
60
# File 'lib/ci_helper/bitbucket_procedure.rb', line 53

def 
   = client.get()

  @response_page = .form_with(action: '/account/signin/') do |f|
    f.field_with(name: 'username').value = 
    f.field_with(name: 'password').value = password
  end.click_button
end