vx-service_connector 0.2.19 → 0.2.20
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.
- checksums.yaml +4 -4
- data/lib/vx/service_connector/gitlab_v6/payload.rb +11 -3
- data/lib/vx/service_connector/model.rb +1 -1
- data/lib/vx/service_connector/version.rb +1 -1
- data/spec/fixtures/gitlab_v6/payload/bug_1.json +20 -0
- data/spec/lib/gitlab_v6_payload_spec.rb +19 -0
- data/spec/support/gitlab_v6_web_mocks.rb +27 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: be3cec4a635997e6ec7fbfe8ad9c030b8206f7a4
|
4
|
+
data.tar.gz: b8674641becff7494dcc92798e91acb0c1a21937
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aafa13cf97ffd8e1f17c109d514104c7c4f9fce3cba43b3c55c4d1694e6c25770831b991c2b3908ed072c264e3b89ec157a84bd6af2071fe8351461049e960c6
|
7
|
+
data.tar.gz: 29888d03c6b2a95b3b16d08932b429b1546a0498e3b41dfcc75afdab20934c3a49c929e7d3455d160fc84f189c9de8371cb15cd51e19c2431ce4715949143283
|
@@ -6,7 +6,7 @@ module Vx
|
|
6
6
|
|
7
7
|
def build
|
8
8
|
ServiceConnector::Model::Payload.new(
|
9
|
-
|
9
|
+
!valid?,
|
10
10
|
!!pull_request?,
|
11
11
|
pull_request_number,
|
12
12
|
branch,
|
@@ -21,6 +21,14 @@ module Vx
|
|
21
21
|
|
22
22
|
private
|
23
23
|
|
24
|
+
def valid?
|
25
|
+
if ignore?
|
26
|
+
false
|
27
|
+
else
|
28
|
+
message && author && author_email || false
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
24
32
|
def message
|
25
33
|
commit_for_payload["title"]
|
26
34
|
end
|
@@ -120,7 +128,7 @@ module Vx
|
|
120
128
|
session.get("/projects/#{repo.id}")
|
121
129
|
rescue RequestError => e
|
122
130
|
$stderr.puts "ERROR: #{e.inspect}"
|
123
|
-
|
131
|
+
{}
|
124
132
|
end
|
125
133
|
end
|
126
134
|
|
@@ -149,7 +157,7 @@ module Vx
|
|
149
157
|
def commit_for_payload
|
150
158
|
@commit_for_payload ||=
|
151
159
|
begin
|
152
|
-
if
|
160
|
+
if !ignore? && sha
|
153
161
|
session.get(commit_uri(repo.id, sha))
|
154
162
|
else
|
155
163
|
{}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
{
|
2
|
+
"object_kind": "merge_request",
|
3
|
+
"object_attributes": {
|
4
|
+
"id": 575,
|
5
|
+
"target_branch": "master",
|
6
|
+
"source_branch": "vs-reject-code-request",
|
7
|
+
"source_project_id": 1,
|
8
|
+
"author_id": 12,
|
9
|
+
"assignee_id": 3,
|
10
|
+
"title": "Reject Code Request",
|
11
|
+
"created_at": "2014-11-06T23:29:31.000Z",
|
12
|
+
"updated_at": "2014-11-13T09:40:15.563Z",
|
13
|
+
"milestone_id": null,
|
14
|
+
"state": "opened",
|
15
|
+
"merge_status": "unchecked",
|
16
|
+
"target_project_id": 1,
|
17
|
+
"iid": 575,
|
18
|
+
"description": ""
|
19
|
+
}
|
20
|
+
}
|
@@ -61,4 +61,23 @@ describe Vx::ServiceConnector::GitlabV6::Payload do
|
|
61
61
|
|
62
62
|
its(:ignore?) { should be_true }
|
63
63
|
end
|
64
|
+
|
65
|
+
context "when identity is not authorized on push request" do
|
66
|
+
before do
|
67
|
+
mock_project_not_found 1
|
68
|
+
mock_get_commit_not_found 1, "decc3915e29d7ae1786bb981b2ea3702afae592a"
|
69
|
+
end
|
70
|
+
its(:ignore?) { should be_true }
|
71
|
+
end
|
72
|
+
|
73
|
+
context "when identity is not authorized on merge request" do
|
74
|
+
let(:content) { read_json_fixture("gitlab_v6/payload/merge_request") }
|
75
|
+
before do
|
76
|
+
mock_project_not_found 1
|
77
|
+
mock_branch_not_found 1, "some-branch-name"
|
78
|
+
mock_get_commit_not_found 1, "a7c31647c6449c3d98c4027d97e00b3048ac3bbf"
|
79
|
+
end
|
80
|
+
its(:ignore?) { should be_true }
|
81
|
+
end
|
82
|
+
|
64
83
|
end
|
@@ -31,4 +31,31 @@ module GitlabV6WebMocks
|
|
31
31
|
def mock_project(pid)
|
32
32
|
mock_get "projects/#{pid}", 'project'
|
33
33
|
end
|
34
|
+
|
35
|
+
def mock_project_not_found(pid)
|
36
|
+
stub_request(:get, "http://example.com/api/v3/projects/#{pid}").
|
37
|
+
with(:headers => {'Accept'=>'application/json', 'PRIVATE-TOKEN' => "token"}).
|
38
|
+
to_return(
|
39
|
+
:status => 404,
|
40
|
+
:body => {:status=>"404", :error=>"Not Found"}.to_json,
|
41
|
+
:headers => {'Content-Type' => 'application/json'})
|
42
|
+
end
|
43
|
+
|
44
|
+
def mock_get_commit_not_found(pid, sha)
|
45
|
+
stub_request(:get, "http://example.com/api/v3/projects/#{pid}/repository/commits/#{sha}").
|
46
|
+
with(:headers => {'Accept'=>'application/json', 'PRIVATE-TOKEN' => "token"}).
|
47
|
+
to_return(
|
48
|
+
:status => 404,
|
49
|
+
:body => {:status=>"404", :error=>"Not Found"}.to_json,
|
50
|
+
:headers => {'Content-Type' => 'application/json'})
|
51
|
+
end
|
52
|
+
|
53
|
+
def mock_branch_not_found(pid, name)
|
54
|
+
stub_request(:get, "http://example.com/api/v3/projects/#{pid}/repository/branches/#{name}").
|
55
|
+
with(:headers => {'Accept'=>'application/json', 'PRIVATE-TOKEN' => "token"}).
|
56
|
+
to_return(
|
57
|
+
:status => 404,
|
58
|
+
:body => {:status=>"404", :error=>"Not Found"}.to_json,
|
59
|
+
:headers => {'Content-Type' => 'application/json'})
|
60
|
+
end
|
34
61
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vx-service_connector
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.20
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dmitry Galinsky
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-11-
|
11
|
+
date: 2014-11-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: octokit
|
@@ -206,6 +206,7 @@ files:
|
|
206
206
|
- spec/fixtures/gitlab_v6/commits.json
|
207
207
|
- spec/fixtures/gitlab_v6/deploy_keys.json
|
208
208
|
- spec/fixtures/gitlab_v6/hooks.json
|
209
|
+
- spec/fixtures/gitlab_v6/payload/bug_1.json
|
209
210
|
- spec/fixtures/gitlab_v6/payload/closed_merge_request.json
|
210
211
|
- spec/fixtures/gitlab_v6/payload/merge_request.json
|
211
212
|
- spec/fixtures/gitlab_v6/payload/merged_merge_request.json
|
@@ -296,6 +297,7 @@ test_files:
|
|
296
297
|
- spec/fixtures/gitlab_v6/commits.json
|
297
298
|
- spec/fixtures/gitlab_v6/deploy_keys.json
|
298
299
|
- spec/fixtures/gitlab_v6/hooks.json
|
300
|
+
- spec/fixtures/gitlab_v6/payload/bug_1.json
|
299
301
|
- spec/fixtures/gitlab_v6/payload/closed_merge_request.json
|
300
302
|
- spec/fixtures/gitlab_v6/payload/merge_request.json
|
301
303
|
- spec/fixtures/gitlab_v6/payload/merged_merge_request.json
|