magnum-payload 0.3.0
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 +15 -0
- data/.gitignore +24 -0
- data/.rspec +2 -0
- data/Gemfile +6 -0
- data/LICENSE +18 -0
- data/README.md +107 -0
- data/Rakefile +10 -0
- data/lib/magnum/payload/base.rb +62 -0
- data/lib/magnum/payload/beanstalk.rb +43 -0
- data/lib/magnum/payload/bitbucket.rb +53 -0
- data/lib/magnum/payload/custom.rb +19 -0
- data/lib/magnum/payload/github.rb +50 -0
- data/lib/magnum/payload/gitlab.rb +38 -0
- data/lib/magnum/payload/gitslice.rb +21 -0
- data/lib/magnum/payload/message_parser.rb +11 -0
- data/lib/magnum/payload/version.rb +5 -0
- data/lib/magnum/payload.rb +24 -0
- data/magnum-payload.gemspec +23 -0
- data/spec/fixtures/beanstalk/git.json +28 -0
- data/spec/fixtures/beanstalk/hg.json +27 -0
- data/spec/fixtures/beanstalk/svn.json +15 -0
- data/spec/fixtures/bitbucket/git.json +48 -0
- data/spec/fixtures/bitbucket/hg.json +48 -0
- data/spec/fixtures/github/deleted.json +39 -0
- data/spec/fixtures/github/forced.json +58 -0
- data/spec/fixtures/github/new_branch.json +77 -0
- data/spec/fixtures/github/new_tag.json +58 -0
- data/spec/fixtures/github.json +113 -0
- data/spec/fixtures/gitlab/commits.json +34 -0
- data/spec/fixtures/gitlab/create_branch.json +15 -0
- data/spec/fixtures/gitlab/delete_branch.json +15 -0
- data/spec/fixtures/gitslice.json +9 -0
- data/spec/payload/base_spec.rb +52 -0
- data/spec/payload/beanstalk_spec.rb +114 -0
- data/spec/payload/bitbucket_spec.rb +94 -0
- data/spec/payload/github_spec.rb +74 -0
- data/spec/payload/gitlab_spec.rb +53 -0
- data/spec/payload/gitslice_spec.rb +33 -0
- data/spec/payload/message_parser_spec.rb +45 -0
- data/spec/payload_spec.rb +35 -0
- data/spec/spec_helper.rb +17 -0
- metadata +177 -0
@@ -0,0 +1,58 @@
|
|
1
|
+
{
|
2
|
+
"before": "0000000000000000000000000000000000000000",
|
3
|
+
"after": "95a5abc129d8db566805233d18b927ed06773fde",
|
4
|
+
"created": true,
|
5
|
+
"commits": [],
|
6
|
+
"compare": "https://github.com/sosedoff/net-ssh-session/compare/v0.1.5",
|
7
|
+
"deleted": false,
|
8
|
+
"forced": true,
|
9
|
+
"ref": "refs/tags/v0.1.5",
|
10
|
+
"head_commit": {
|
11
|
+
"message": "Version bump: 0.1.5",
|
12
|
+
"author": {
|
13
|
+
"username": "sosedoff",
|
14
|
+
"name": "Dan Sosedoff",
|
15
|
+
"email": "dan.sosedoff@gmail.com"
|
16
|
+
},
|
17
|
+
"added": [],
|
18
|
+
"modified": ["lib/net-ssh-session/version.rb"],
|
19
|
+
"removed": [],
|
20
|
+
"id": "a9bf1e971bc42e35b58583d1d395b789912dc608",
|
21
|
+
"timestamp": "2013-04-13T15:33:00-07:00",
|
22
|
+
"distinct": true,
|
23
|
+
"url": "https://github.com/sosedoff/net-ssh-session/commit/a9bf1e971bc42e35b58583d1d395b789912dc608",
|
24
|
+
"committer": {
|
25
|
+
"username": "sosedoff",
|
26
|
+
"name": "Dan Sosedoff",
|
27
|
+
"email": "dan.sosedoff@gmail.com"
|
28
|
+
}
|
29
|
+
},
|
30
|
+
"pusher": {
|
31
|
+
"name": "sosedoff",
|
32
|
+
"email": "dan.sosedoff@gmail.com"
|
33
|
+
},
|
34
|
+
"repository": {
|
35
|
+
"has_downloads": true,
|
36
|
+
"size": 252,
|
37
|
+
"watchers": 6,
|
38
|
+
"stargazers": 6,
|
39
|
+
"has_wiki": true,
|
40
|
+
"pushed_at": 1365892380,
|
41
|
+
"master_branch": "master",
|
42
|
+
"owner": {
|
43
|
+
"name": "sosedoff",
|
44
|
+
"email": "dan.sosedoff@gmail.com"
|
45
|
+
},
|
46
|
+
"fork": false,
|
47
|
+
"id": 6552072,
|
48
|
+
"open_issues": 0,
|
49
|
+
"has_issues": true,
|
50
|
+
"name": "net-ssh-session",
|
51
|
+
"language": "Ruby",
|
52
|
+
"created_at": 1352151005,
|
53
|
+
"description": "Shell session for Net::SSH connections",
|
54
|
+
"private": false,
|
55
|
+
"url": "https://github.com/sosedoff/net-ssh-session",
|
56
|
+
"forks": 0
|
57
|
+
}
|
58
|
+
}
|
@@ -0,0 +1,113 @@
|
|
1
|
+
{
|
2
|
+
"after": "9d227f327e725164c3266be74cf5c00678edad13",
|
3
|
+
"before": "0e46f019e391e5f7dc09cb2aaf364be346e36793",
|
4
|
+
"commits": [{
|
5
|
+
"added": [],
|
6
|
+
"author": {
|
7
|
+
"email": "dan.sosedoff@gmail.com",
|
8
|
+
"name": "Dan Sosedoff",
|
9
|
+
"username": "sosedoff"
|
10
|
+
},
|
11
|
+
"committer": {
|
12
|
+
"email": "dan.sosedoff@gmail.com",
|
13
|
+
"name": "Dan Sosedoff",
|
14
|
+
"username": "sosedoff"
|
15
|
+
},
|
16
|
+
"distinct": true,
|
17
|
+
"id": "a7b32aed43bf4942090e310899e554d0e31b9757",
|
18
|
+
"message": "Update travis build config",
|
19
|
+
"modified": [".travis.yml"],
|
20
|
+
"removed": [],
|
21
|
+
"timestamp": "2012-11-16T10:27:05-08:00",
|
22
|
+
"url": "https://github.com/sosedoff/lxc-ruby/commit/a7b32aed43bf4942090e310899e554d0e31b9757"
|
23
|
+
}, {
|
24
|
+
"added": [],
|
25
|
+
"author": {
|
26
|
+
"email": "dan.sosedoff@gmail.com",
|
27
|
+
"name": "Dan Sosedoff",
|
28
|
+
"username": "sosedoff"
|
29
|
+
},
|
30
|
+
"committer": {
|
31
|
+
"email": "dan.sosedoff@gmail.com",
|
32
|
+
"name": "Dan Sosedoff",
|
33
|
+
"username": "sosedoff"
|
34
|
+
},
|
35
|
+
"distinct": true,
|
36
|
+
"id": "2f6036026ef382cd7f5a9cc2fd6c2d6598525d55",
|
37
|
+
"message": "Change gem name",
|
38
|
+
"modified": ["lxc.gemspec"],
|
39
|
+
"removed": [],
|
40
|
+
"timestamp": "2012-11-16T10:30:15-08:00",
|
41
|
+
"url": "https://github.com/sosedoff/lxc-ruby/commit/2f6036026ef382cd7f5a9cc2fd6c2d6598525d55"
|
42
|
+
}, {
|
43
|
+
"added": [],
|
44
|
+
"author": {
|
45
|
+
"email": "dan.sosedoff@gmail.com",
|
46
|
+
"name": "Dan Sosedoff",
|
47
|
+
"username": "sosedoff"
|
48
|
+
},
|
49
|
+
"committer": {
|
50
|
+
"email": "dan.sosedoff@gmail.com",
|
51
|
+
"name": "Dan Sosedoff",
|
52
|
+
"username": "sosedoff"
|
53
|
+
},
|
54
|
+
"distinct": true,
|
55
|
+
"id": "9d227f327e725164c3266be74cf5c00678edad13",
|
56
|
+
"message": "Remove jruby from test matrix",
|
57
|
+
"modified": [".travis.yml"],
|
58
|
+
"removed": [],
|
59
|
+
"timestamp": "2012-11-16T10:37:50-08:00",
|
60
|
+
"url": "https://github.com/sosedoff/lxc-ruby/commit/9d227f327e725164c3266be74cf5c00678edad13"
|
61
|
+
}],
|
62
|
+
"compare": "https://github.com/sosedoff/lxc-ruby/compare/0e46f019e391...9d227f327e72",
|
63
|
+
"created": false,
|
64
|
+
"deleted": false,
|
65
|
+
"forced": false,
|
66
|
+
"head_commit": {
|
67
|
+
"added": [],
|
68
|
+
"author": {
|
69
|
+
"email": "dan.sosedoff@gmail.com",
|
70
|
+
"name": "Dan Sosedoff",
|
71
|
+
"username": "sosedoff"
|
72
|
+
},
|
73
|
+
"committer": {
|
74
|
+
"email": "dan.sosedoff@gmail.com",
|
75
|
+
"name": "Dan Sosedoff",
|
76
|
+
"username": "sosedoff"
|
77
|
+
},
|
78
|
+
"distinct": true,
|
79
|
+
"id": "9d227f327e725164c3266be74cf5c00678edad13",
|
80
|
+
"message": "Remove jruby from test matrix",
|
81
|
+
"modified": [".travis.yml"],
|
82
|
+
"removed": [],
|
83
|
+
"timestamp": "2012-11-16T10:37:50-08:00",
|
84
|
+
"url": "https://github.com/sosedoff/lxc-ruby/commit/9d227f327e725164c3266be74cf5c00678edad13"
|
85
|
+
},
|
86
|
+
"pusher": {
|
87
|
+
"name": "none"
|
88
|
+
},
|
89
|
+
"ref": "refs/heads/master",
|
90
|
+
"repository": {
|
91
|
+
"created_at": "2012-05-25T18:17:04-07:00",
|
92
|
+
"description": "Ruby wrapper for LXC cli tools",
|
93
|
+
"fork": false,
|
94
|
+
"forks": 6,
|
95
|
+
"has_downloads": true,
|
96
|
+
"has_issues": true,
|
97
|
+
"has_wiki": true,
|
98
|
+
"id": 4451730,
|
99
|
+
"language": "Ruby",
|
100
|
+
"name": "lxc-ruby",
|
101
|
+
"open_issues": 0,
|
102
|
+
"owner": {
|
103
|
+
"email": "dan.sosedoff@gmail.com",
|
104
|
+
"name": "sosedoff"
|
105
|
+
},
|
106
|
+
"private": false,
|
107
|
+
"pushed_at": "2012-11-16T10:38:31-08:00",
|
108
|
+
"size": 204,
|
109
|
+
"stargazers": 27,
|
110
|
+
"url": "https://github.com/sosedoff/lxc-ruby",
|
111
|
+
"watchers": 27
|
112
|
+
}
|
113
|
+
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
{
|
2
|
+
"after": "a96a0df33262e2d2fd1b20162553aae6750f8c00",
|
3
|
+
"before": "0188ef243dd8083a4d4761766342b523d521247d",
|
4
|
+
"commits": [{
|
5
|
+
"author": {
|
6
|
+
"email": "dan.sosedoff@gmail.com",
|
7
|
+
"name": "Dan Sosedoff"
|
8
|
+
},
|
9
|
+
"id": "bce85c7015af8ff5e50bab160f8bd1aa9b2738e1",
|
10
|
+
"message": "Commit 1",
|
11
|
+
"timestamp": "2013-03-22T19:44:53+00:00",
|
12
|
+
"url": "https://gitlab.com/sosedoff/bar/commit/bce85c7015af8ff5e50bab160f8bd1aa9b2738e1"
|
13
|
+
}, {
|
14
|
+
"author": {
|
15
|
+
"email": "dan.sosedoff@gmail.com",
|
16
|
+
"name": "Dan Sosedoff"
|
17
|
+
},
|
18
|
+
"id": "a96a0df33262e2d2fd1b20162553aae6750f8c00",
|
19
|
+
"message": "Commit 2",
|
20
|
+
"timestamp": "2013-03-22T19:44:56+00:00",
|
21
|
+
"url": "https://gitlab.com/sosedoff/bar/commit/a96a0df33262e2d2fd1b20162553aae6750f8c00"
|
22
|
+
}
|
23
|
+
],
|
24
|
+
"ref": "refs/heads/master",
|
25
|
+
"repository": {
|
26
|
+
"description": null,
|
27
|
+
"homepage": "https://gitlab.com/sosedoff/bar",
|
28
|
+
"name": "bar",
|
29
|
+
"url": "git@gitlab.com:sosedoff/bar.git"
|
30
|
+
},
|
31
|
+
"total_commits_count": 2,
|
32
|
+
"user_id": 3686,
|
33
|
+
"user_name": "Dan Sosedoff"
|
34
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
{
|
2
|
+
"after": "0188ef243dd8083a4d4761766342b523d521247d",
|
3
|
+
"before": "0000000000000000000000000000000000000000",
|
4
|
+
"commits": [],
|
5
|
+
"ref": "refs/heads/foobar",
|
6
|
+
"repository": {
|
7
|
+
"description": null,
|
8
|
+
"homepage": "https://gitlab.com/sosedoff/bar",
|
9
|
+
"name": "bar",
|
10
|
+
"url": "git@gitlab.com:sosedoff/bar.git"
|
11
|
+
},
|
12
|
+
"total_commits_count": 0,
|
13
|
+
"user_id": 3686,
|
14
|
+
"user_name": "Dan Sosedoff"
|
15
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
{
|
2
|
+
"after": "0000000000000000000000000000000000000000",
|
3
|
+
"before": "a99dce54125b4b8a4afbddbb1881f32cf93d3d3b",
|
4
|
+
"commits": [],
|
5
|
+
"ref": "refs/heads/new-branch",
|
6
|
+
"repository": {
|
7
|
+
"description": null,
|
8
|
+
"homepage": "https://gitlab.com/sosedoff/bar",
|
9
|
+
"name": "bar",
|
10
|
+
"url": "git@gitlab.com:sosedoff/bar.git"
|
11
|
+
},
|
12
|
+
"total_commits_count": 0,
|
13
|
+
"user_id": 3686,
|
14
|
+
"user_name": "Dan Sosedoff"
|
15
|
+
}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
{
|
2
|
+
"commit": "177d757ad97214f4546fb999e0be0783360e614e",
|
3
|
+
"message": "Add initial 404 page",
|
4
|
+
"author": "Dan Sosedoff",
|
5
|
+
"committer": "Dan Sosedoff",
|
6
|
+
"branch": "source-type",
|
7
|
+
"commit_url": "http://gitslice.com/magnum-ci/commit/177d757ad97214f4546fb999e0be0783360e614e",
|
8
|
+
"compare_url": "http://gitslice.com/magnum-ci/compare/b0445d963b7e3efaf47610ef710acc0ba3067a39...177d757ad97214f4546fb999e0be0783360e614e"
|
9
|
+
}
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Magnum::Payload::Base do
|
4
|
+
before do
|
5
|
+
Magnum::Payload::Base.any_instance.stub(:parse!)
|
6
|
+
end
|
7
|
+
|
8
|
+
describe '#new' do
|
9
|
+
it 'assigns raw data attribute' do
|
10
|
+
Magnum::Payload::Base.any_instance.stub(:parse_payload)
|
11
|
+
|
12
|
+
payload = Magnum::Payload::Base.new("raw data")
|
13
|
+
payload.raw_data.should eq 'raw data'
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'assigns data attribute' do
|
17
|
+
payload = Magnum::Payload::Base.new({'foo' => 'bar'})
|
18
|
+
payload.data.should be_a Hashr
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'accepts a String' do
|
22
|
+
payload = Magnum::Payload::Base.new('{"foo":"bar"}')
|
23
|
+
payload.data.should be_a Hashr
|
24
|
+
payload.data.foo.should eq 'bar'
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'accepts a Hash' do
|
28
|
+
payload = Magnum::Payload::Base.new({'foo' => 'bar'})
|
29
|
+
payload.data.should be_a Hashr
|
30
|
+
payload.data.foo.should eq('bar')
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'raises error on invalid input type' do
|
34
|
+
expect { Magnum::Payload::Base.new(nil) }.to raise_error "String or Hash required"
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'raises error on invalid json' do
|
38
|
+
expect { Magnum::Payload::Base.new("invalid json") }.
|
39
|
+
to raise_error Magnum::Payload::ParseError, "Valid JSON required"
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
describe '#skip' do
|
44
|
+
before do
|
45
|
+
Magnum::Payload::Base.any_instance.stub(:parse_payload)
|
46
|
+
end
|
47
|
+
|
48
|
+
it 'should be false' do
|
49
|
+
Magnum::Payload::Base.new('data').skip.should eq false
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,114 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Magnum::Payload::Beanstalk do
|
4
|
+
let(:payload) { Magnum::Payload::Beanstalk.new(data) }
|
5
|
+
|
6
|
+
describe '#parse!' do
|
7
|
+
context 'with git payload' do
|
8
|
+
let(:data) { fixture('beanstalk/git.json') }
|
9
|
+
|
10
|
+
it 'sets commit SHA' do
|
11
|
+
payload.commit.should eq '1111111111111111111111111111111111111111'
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'sets commit branch' do
|
15
|
+
payload.branch.should eq 'master'
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'sets commit message' do
|
19
|
+
payload.message.should eq 'Fake commit message'
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'sets author and committer' do
|
23
|
+
payload.author.should eq 'Mr Jones'
|
24
|
+
payload.author_email.should eq 'john.jones@gmail.com'
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'sets commit view url' do
|
28
|
+
payload.commit_url.should eq 'http://sosedoff.beanstalkapp.com/xml-sitemap/changesets/1111111111111111111111111111111111111111'
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'sets compare url' do
|
32
|
+
payload.compare_url.should eq nil
|
33
|
+
end
|
34
|
+
|
35
|
+
context 'when fake' do
|
36
|
+
let(:data) { fixture('beanstalk/git.json') }
|
37
|
+
|
38
|
+
it 'sets skip to true' do
|
39
|
+
payload.skip.should eq true
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'sets test to true' do
|
43
|
+
payload.test.should eq true
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
context 'with svn payload' do
|
49
|
+
let(:data) { fixture('beanstalk/svn.json') }
|
50
|
+
|
51
|
+
it 'sets commit number' do
|
52
|
+
payload.commit.should eq 1
|
53
|
+
end
|
54
|
+
|
55
|
+
it 'sets commit message' do
|
56
|
+
payload.message.should eq 'Creating initial repository structure'
|
57
|
+
end
|
58
|
+
|
59
|
+
it 'sets branch to master' do
|
60
|
+
payload.branch.should eq 'master'
|
61
|
+
end
|
62
|
+
|
63
|
+
it 'sets author and committer' do
|
64
|
+
payload.author.should eq 'admin'
|
65
|
+
payload.committer.should eq 'admin'
|
66
|
+
end
|
67
|
+
|
68
|
+
it 'sets commit view url' do
|
69
|
+
payload.commit_url.should_not eq nil
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
context 'with mercurial payload' do
|
74
|
+
let(:data) { fixture('beanstalk/hg.json') }
|
75
|
+
|
76
|
+
it 'sets commit SHA' do
|
77
|
+
payload.commit.should eq '1111111111111111111111111111111111111111'
|
78
|
+
end
|
79
|
+
|
80
|
+
it 'sets commit branch' do
|
81
|
+
payload.branch.should eq 'default'
|
82
|
+
end
|
83
|
+
|
84
|
+
it 'sets commit message' do
|
85
|
+
payload.message.should eq 'Fake commit message'
|
86
|
+
end
|
87
|
+
|
88
|
+
it 'sets author and committer' do
|
89
|
+
payload.author.should eq 'Mr Jones'
|
90
|
+
payload.author_email.should eq 'john.jones@gmail.com'
|
91
|
+
end
|
92
|
+
|
93
|
+
it 'sets commit view url' do
|
94
|
+
payload.commit_url.should eq 'http://sosedoff.beanstalkapp.com/beanstalk-hg1/changesets/1111111111111111111111111111111111111111'
|
95
|
+
end
|
96
|
+
|
97
|
+
it 'sets compare url' do
|
98
|
+
payload.compare_url.should eq nil
|
99
|
+
end
|
100
|
+
|
101
|
+
context 'when fake' do
|
102
|
+
let(:data) { fixture('beanstalk/hg.json') }
|
103
|
+
|
104
|
+
it 'sets skip to true' do
|
105
|
+
payload.skip.should eq true
|
106
|
+
end
|
107
|
+
|
108
|
+
it 'sets test to true' do
|
109
|
+
payload.test.should eq true
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
@@ -0,0 +1,94 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Magnum::Payload::Bitbucket do
|
4
|
+
let(:data) { fixture('bitbucket/git.json') }
|
5
|
+
let(:payload) { Magnum::Payload::Bitbucket.new(data) }
|
6
|
+
|
7
|
+
describe '#parse!' do
|
8
|
+
context 'with git payload' do
|
9
|
+
let(:data) { fixture('bitbucket/git.json') }
|
10
|
+
|
11
|
+
it 'sets commit SHA' do
|
12
|
+
payload.commit.should eq 'f15566c42759198fd32a70963d2509f3f8309586'
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'sets commit branch' do
|
16
|
+
payload.branch.should eq 'master'
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'sets commit message' do
|
20
|
+
payload.message.should eq 'Commit Sat Jan 19 18:42:40 CST 2013'
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'sets author and committer' do
|
24
|
+
payload.committer.should be_nil
|
25
|
+
payload.committer_email.should be_nil
|
26
|
+
|
27
|
+
payload.author.should eq 'Dan Sosedoff'
|
28
|
+
payload.author_email.should eq 'dan.sosedoff@gmail.com'
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'sets commit view url' do
|
32
|
+
payload.commit_url.should eq 'https://bitbucket.org/sosedoff/test1/commits/f15566c42759198fd32a70963d2509f3f8309586'
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'sets compare url' do
|
36
|
+
payload.compare_url.should eq 'https://bitbucket.org/sosedoff/test1/compare/e15c6013c0f6232153e53b003b97da51d338da3a..f15566c42759198fd32a70963d2509f3f8309586'
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
context 'with mercurial payload' do
|
41
|
+
let(:data) { fixture('bitbucket/hg.json') }
|
42
|
+
|
43
|
+
it 'sets commit SHA' do
|
44
|
+
payload.commit.should eq 4
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'sets commit branch' do
|
48
|
+
payload.branch.should eq 'default'
|
49
|
+
end
|
50
|
+
|
51
|
+
it 'sets commit message' do
|
52
|
+
payload.message.should eq 'Commit 2'
|
53
|
+
end
|
54
|
+
|
55
|
+
it 'sets author and committer' do
|
56
|
+
payload.committer.should be_nil
|
57
|
+
payload.committer_email.should be_nil
|
58
|
+
|
59
|
+
payload.author.should eq 'Dan Sosedoff'
|
60
|
+
payload.author_email.should eq 'dan.sosedoff@gmail.com'
|
61
|
+
end
|
62
|
+
|
63
|
+
it 'sets commit view url' do
|
64
|
+
payload.commit_url.should eq 'https://bitbucket.org/sosedoff/mercurial-test/commits/4'
|
65
|
+
end
|
66
|
+
|
67
|
+
it 'sets compare url' do
|
68
|
+
payload.compare_url.should eq 'https://bitbucket.org/sosedoff/mercurial-test/compare/3..4'
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
describe '#site_url' do
|
74
|
+
it 'returns website url without a path' do
|
75
|
+
payload.site_url.should eq 'https://bitbucket.org'
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
describe '#repo_url' do
|
80
|
+
it 'return relative repository path' do
|
81
|
+
payload.repo_url.should eq '/sosedoff/test1/'
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
describe '#make_url' do
|
86
|
+
it 'returns a full url to the repository' do
|
87
|
+
payload.make_url.should eq 'https://bitbucket.org/sosedoff/test1/'
|
88
|
+
end
|
89
|
+
|
90
|
+
it 'returns a full url to the repository action' do
|
91
|
+
payload.make_url('commits/1234').should eq 'https://bitbucket.org/sosedoff/test1/commits/1234'
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|