omg_pull_request 0.5.1 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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: