omg_pull_request 0.5.1 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -17,13 +17,21 @@ module OmgPullRequest
17
17
  end
18
18
 
19
19
  def merge!(sha)
20
- merge_response = `cd #{local_repo} && git merge #{sha} 2>&1`
20
+ merge_response, exit_code = execute_command "cd #{local_repo} && git merge #{sha} 2>&1"
21
21
  self.logger.log merge_response
22
- merge_response.match(/CONFLICT/) ? :conflict : :success
22
+ return :success if exit_code.zero?
23
+ return :conflict if merge_response.match(/CONFLICT/)
24
+
25
+ raise "Boom goes the dynamite! Failure to do the merge in a non-predicatable way."
23
26
  end
24
27
 
25
28
  private
26
29
 
30
+ def execute_command(command)
31
+ resp = `#{command}`
32
+ [resp, $?.to_i]
33
+ end
34
+
27
35
  def execute_verify_success(command)
28
36
  result = `#{command}`
29
37
  logger.log(command)
@@ -1,3 +1,3 @@
1
1
  module OmgPullRequest
2
- VERSION = "0.5.1"
2
+ VERSION = "0.5.2"
3
3
  end
@@ -14,10 +14,18 @@ module OmgPullRequest
14
14
  git_client.unstub(:log)
15
15
  end
16
16
 
17
+ def test_execute_merge_no_conflict_but_not_success
18
+ git_client.expects(:execute_command).returns(["yolo", 100])
19
+ assert_raises RuntimeError do
20
+ git_client.merge!("swag")
21
+ end
22
+ end
23
+
17
24
  private
18
25
 
19
26
  def git_client
20
- @git_client ||= GitClient.new(:logger => TestLogger.new)
27
+ @git_client ||= GitClient.new(:logger => TestLogger.new,
28
+ :configuration => MOCK_CONFIGURATION)
21
29
  end
22
30
 
23
31
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omg_pull_request
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -12,11 +12,11 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2012-12-19 00:00:00.000000000 Z
15
+ date: 2013-01-04 00:00:00.000000000Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: aws-s3
19
- requirement: &70347177204760 !ruby/object:Gem::Requirement
19
+ requirement: &70179237751220 !ruby/object:Gem::Requirement
20
20
  none: false
21
21
  requirements:
22
22
  - - ! '>='
@@ -24,10 +24,10 @@ dependencies:
24
24
  version: 0.6.3
25
25
  type: :runtime
26
26
  prerelease: false
27
- version_requirements: *70347177204760
27
+ version_requirements: *70179237751220
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: faraday
30
- requirement: &70347177204020 !ruby/object:Gem::Requirement
30
+ requirement: &70179237744860 !ruby/object:Gem::Requirement
31
31
  none: false
32
32
  requirements:
33
33
  - - ! '>='
@@ -35,10 +35,10 @@ dependencies:
35
35
  version: 0.8.4
36
36
  type: :runtime
37
37
  prerelease: false
38
- version_requirements: *70347177204020
38
+ version_requirements: *70179237744860
39
39
  - !ruby/object:Gem::Dependency
40
40
  name: github_api
41
- requirement: &70347177203380 !ruby/object:Gem::Requirement
41
+ requirement: &70179237740540 !ruby/object:Gem::Requirement
42
42
  none: false
43
43
  requirements:
44
44
  - - ! '>='
@@ -46,10 +46,10 @@ dependencies:
46
46
  version: 0.8.2
47
47
  type: :runtime
48
48
  prerelease: false
49
- version_requirements: *70347177203380
49
+ version_requirements: *70179237740540
50
50
  - !ruby/object:Gem::Dependency
51
51
  name: uuid
52
- requirement: &70347177202860 !ruby/object:Gem::Requirement
52
+ requirement: &70179237730080 !ruby/object:Gem::Requirement
53
53
  none: false
54
54
  requirements:
55
55
  - - ! '>='
@@ -57,10 +57,10 @@ dependencies:
57
57
  version: 2.3.5
58
58
  type: :runtime
59
59
  prerelease: false
60
- version_requirements: *70347177202860
60
+ version_requirements: *70179237730080
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: rake
63
- requirement: &70347177202260 !ruby/object:Gem::Requirement
63
+ requirement: &70179237705560 !ruby/object:Gem::Requirement
64
64
  none: false
65
65
  requirements:
66
66
  - - ! '>='
@@ -68,10 +68,10 @@ dependencies:
68
68
  version: 0.9.2.2
69
69
  type: :runtime
70
70
  prerelease: false
71
- version_requirements: *70347177202260
71
+ version_requirements: *70179237705560
72
72
  - !ruby/object:Gem::Dependency
73
73
  name: activesupport
74
- requirement: &70347177201600 !ruby/object:Gem::Requirement
74
+ requirement: &70179237668200 !ruby/object:Gem::Requirement
75
75
  none: false
76
76
  requirements:
77
77
  - - ! '>='
@@ -79,10 +79,10 @@ dependencies:
79
79
  version: 3.1.0
80
80
  type: :runtime
81
81
  prerelease: false
82
- version_requirements: *70347177201600
82
+ version_requirements: *70179237668200
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: i18n
85
- requirement: &70347177200920 !ruby/object:Gem::Requirement
85
+ requirement: &70179237655480 !ruby/object:Gem::Requirement
86
86
  none: false
87
87
  requirements:
88
88
  - - ! '>='
@@ -90,7 +90,7 @@ dependencies:
90
90
  version: 0.6.0
91
91
  type: :runtime
92
92
  prerelease: false
93
- version_requirements: *70347177200920
93
+ version_requirements: *70179237655480
94
94
  description: Have tests run automatically for your Github Pull Request
95
95
  email:
96
96
  - kenmazaika@gmail.com
@@ -199,3 +199,4 @@ test_files:
199
199
  - test/units/omg_pull_request/storage/aws_test.rb
200
200
  - test/units/omg_pull_request/storage/gist_test.rb
201
201
  - test/units/omg_pull_request/test_runner/base_test.rb
202
+ has_rdoc: