cocoapods-trunk 0.4.1 → 0.5.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 +4 -4
- data/CHANGELOG.md +14 -0
- data/Gemfile +1 -0
- data/Gemfile.lock +30 -22
- data/lib/cocoapods_trunk.rb +1 -1
- data/lib/pod/command/trunk.rb +2 -0
- data/lib/pod/command/trunk/add_owner.rb +1 -1
- data/lib/pod/command/trunk/info.rb +33 -0
- data/lib/pod/command/trunk/remove_owner.rb +43 -0
- data/spec/command/trunk/addowner_spec.rb +42 -1
- data/spec/command/trunk/info_spec.rb +36 -0
- data/spec/command/trunk/push_spec.rb +7 -0
- data/spec/command/trunk/register_spec.rb +21 -1
- data/spec/command/trunk/remove_owner_spec.rb +51 -0
- data/spec/spec_helper.rb +15 -0
- metadata +8 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 59b4de692c8f9b3d9e59e840e3293eec2d40d491
|
|
4
|
+
data.tar.gz: 1ac058c477bf478299066aab29c63f47b404fbdf
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 250a29d1c1052e3f042a4d3aa1b114f665c303f288fab9912baecbfd65d8c9016310eb58f6f90ba58a196a1cd5147738bf94069323a962a1e1b6ef09b4462d61
|
|
7
|
+
data.tar.gz: d54b60e9653e0e37f0cc4a7182f3a80681727e583d8e67706ac538af8ebf7f0c07a6b0115853f7e0e3cdecb6494cb7974e8a2a32e26eda490e9baa907e849bcf
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## 0.5.0
|
|
2
|
+
|
|
3
|
+
##### Enhancements
|
|
4
|
+
|
|
5
|
+
* Added `pod trunk remove-owner` command to remove an owner from a pod.
|
|
6
|
+
[Samuel Giddins](https://github.com/segiddins)
|
|
7
|
+
[#35](https://github.com/CocoaPods/cocoapods-trunk/issues/35)
|
|
8
|
+
|
|
9
|
+
* Added `pod trunk info` command to get information for a pod, including the
|
|
10
|
+
owners.
|
|
11
|
+
[Kyle Fuller](https://github.com/kylef)
|
|
12
|
+
[#15](https://github.com/CocoaPods/cocoapods-trunk/issues/15)
|
|
13
|
+
|
|
14
|
+
|
|
1
15
|
## 0.4.1
|
|
2
16
|
|
|
3
17
|
##### Enhancements
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
GIT
|
|
2
2
|
remote: https://github.com/CocoaPods/CLAide.git
|
|
3
|
-
revision:
|
|
3
|
+
revision: 9e8b9072fd66f69b91999cd3838a4bbba043a7e5
|
|
4
4
|
branch: master
|
|
5
5
|
specs:
|
|
6
|
-
claide (0.
|
|
6
|
+
claide (0.8.0)
|
|
7
7
|
|
|
8
8
|
GIT
|
|
9
9
|
remote: https://github.com/CocoaPods/CocoaPods.git
|
|
10
|
-
revision:
|
|
10
|
+
revision: 26b9a555f1fa57675d46a0fb678f8ed7f37e361f
|
|
11
11
|
branch: master
|
|
12
12
|
specs:
|
|
13
|
-
cocoapods (0.35.0
|
|
13
|
+
cocoapods (0.35.0)
|
|
14
14
|
activesupport (>= 3.2.15)
|
|
15
|
-
claide (~> 0.
|
|
16
|
-
cocoapods-core (= 0.35.0
|
|
15
|
+
claide (~> 0.8.0)
|
|
16
|
+
cocoapods-core (= 0.35.0)
|
|
17
17
|
cocoapods-downloader (~> 0.8.0)
|
|
18
18
|
cocoapods-plugins (~> 0.3.1)
|
|
19
|
-
cocoapods-trunk (~> 0.
|
|
20
|
-
cocoapods-try (~> 0.4.
|
|
19
|
+
cocoapods-trunk (~> 0.5.0)
|
|
20
|
+
cocoapods-try (~> 0.4.3)
|
|
21
21
|
colored (~> 1.2)
|
|
22
22
|
escape (~> 0.0.4)
|
|
23
|
-
molinillo (~> 0.
|
|
23
|
+
molinillo (~> 0.2.0)
|
|
24
24
|
nap (~> 0.8)
|
|
25
25
|
open4 (~> 1.3)
|
|
26
|
-
xcodeproj (~> 0.
|
|
26
|
+
xcodeproj (~> 0.21.0)
|
|
27
27
|
|
|
28
28
|
GIT
|
|
29
29
|
remote: https://github.com/CocoaPods/Core.git
|
|
30
|
-
revision:
|
|
30
|
+
revision: 7d2b3c0cba15d4c62639c5b390df306a30cc1d40
|
|
31
31
|
branch: master
|
|
32
32
|
specs:
|
|
33
|
-
cocoapods-core (0.35.0
|
|
33
|
+
cocoapods-core (0.35.0)
|
|
34
34
|
activesupport (>= 3.2.15)
|
|
35
35
|
fuzzy_match (~> 2.0.4)
|
|
36
36
|
nap (~> 0.8.0)
|
|
@@ -38,19 +38,20 @@ GIT
|
|
|
38
38
|
PATH
|
|
39
39
|
remote: .
|
|
40
40
|
specs:
|
|
41
|
-
cocoapods-trunk (0.
|
|
41
|
+
cocoapods-trunk (0.5.0)
|
|
42
42
|
nap (>= 0.8)
|
|
43
43
|
netrc (= 0.7.8)
|
|
44
44
|
|
|
45
45
|
GEM
|
|
46
46
|
remote: https://rubygems.org/
|
|
47
47
|
specs:
|
|
48
|
-
activesupport (4.
|
|
49
|
-
i18n (~> 0.
|
|
48
|
+
activesupport (4.2.0)
|
|
49
|
+
i18n (~> 0.7)
|
|
50
50
|
json (~> 1.7, >= 1.7.7)
|
|
51
51
|
minitest (~> 5.1)
|
|
52
|
-
thread_safe (~> 0.
|
|
52
|
+
thread_safe (~> 0.3, >= 0.3.4)
|
|
53
53
|
tzinfo (~> 1.1)
|
|
54
|
+
addressable (2.3.6)
|
|
54
55
|
ast (2.0.0)
|
|
55
56
|
astrolabe (1.3.0)
|
|
56
57
|
parser (>= 2.2.0.pre.3, < 3.0)
|
|
@@ -58,15 +59,17 @@ GEM
|
|
|
58
59
|
cocoapods-downloader (0.8.0)
|
|
59
60
|
cocoapods-plugins (0.3.2)
|
|
60
61
|
nap
|
|
61
|
-
cocoapods-try (0.4.
|
|
62
|
+
cocoapods-try (0.4.3)
|
|
62
63
|
codeclimate-test-reporter (0.4.1)
|
|
63
64
|
simplecov (>= 0.7.1, < 1.0.0)
|
|
64
65
|
colored (1.2)
|
|
66
|
+
crack (0.4.2)
|
|
67
|
+
safe_yaml (~> 1.0.0)
|
|
65
68
|
docile (1.1.5)
|
|
66
69
|
escape (0.0.4)
|
|
67
70
|
ffi (1.9.6)
|
|
68
71
|
fuzzy_match (2.0.4)
|
|
69
|
-
i18n (0.
|
|
72
|
+
i18n (0.7.0)
|
|
70
73
|
json (1.7.7)
|
|
71
74
|
kicker (3.0.0)
|
|
72
75
|
listen (~> 1.3.0)
|
|
@@ -76,18 +79,18 @@ GEM
|
|
|
76
79
|
rb-inotify (>= 0.9)
|
|
77
80
|
rb-kqueue (>= 0.2)
|
|
78
81
|
metaclass (0.0.4)
|
|
79
|
-
minitest (5.
|
|
82
|
+
minitest (5.5.0)
|
|
80
83
|
mocha (1.1.0)
|
|
81
84
|
metaclass (~> 0.0.1)
|
|
82
85
|
mocha-on-bacon (0.2.2)
|
|
83
86
|
mocha (>= 0.13.0)
|
|
84
|
-
molinillo (0.
|
|
87
|
+
molinillo (0.2.0)
|
|
85
88
|
multi_json (1.10.1)
|
|
86
89
|
nap (0.8.0)
|
|
87
90
|
netrc (0.7.8)
|
|
88
91
|
notify (0.5.2)
|
|
89
92
|
open4 (1.3.4)
|
|
90
|
-
parser (2.2.0.pre.
|
|
93
|
+
parser (2.2.0.pre.8)
|
|
91
94
|
ast (>= 1.1, < 3.0)
|
|
92
95
|
slop (~> 3.4, >= 3.4.5)
|
|
93
96
|
powerpack (0.0.9)
|
|
@@ -107,6 +110,7 @@ GEM
|
|
|
107
110
|
rainbow (>= 1.99.1, < 3.0)
|
|
108
111
|
ruby-progressbar (~> 1.4)
|
|
109
112
|
ruby-progressbar (1.7.0)
|
|
113
|
+
safe_yaml (1.0.4)
|
|
110
114
|
simplecov (0.9.1)
|
|
111
115
|
docile (~> 1.1.0)
|
|
112
116
|
multi_json (~> 1.0)
|
|
@@ -116,7 +120,10 @@ GEM
|
|
|
116
120
|
thread_safe (0.3.4)
|
|
117
121
|
tzinfo (1.2.2)
|
|
118
122
|
thread_safe (~> 0.1)
|
|
119
|
-
|
|
123
|
+
webmock (1.20.4)
|
|
124
|
+
addressable (>= 2.3.6)
|
|
125
|
+
crack (>= 0.3.2)
|
|
126
|
+
xcodeproj (0.21.0)
|
|
120
127
|
activesupport (>= 3)
|
|
121
128
|
colored (~> 1.2)
|
|
122
129
|
|
|
@@ -138,3 +145,4 @@ DEPENDENCIES
|
|
|
138
145
|
prettybacon
|
|
139
146
|
rake
|
|
140
147
|
rubocop
|
|
148
|
+
webmock
|
data/lib/cocoapods_trunk.rb
CHANGED
data/lib/pod/command/trunk.rb
CHANGED
|
@@ -16,7 +16,9 @@ module Pod
|
|
|
16
16
|
require 'pod/command/trunk/register'
|
|
17
17
|
require 'pod/command/trunk/me'
|
|
18
18
|
require 'pod/command/trunk/add_owner'
|
|
19
|
+
require 'pod/command/trunk/remove_owner'
|
|
19
20
|
require 'pod/command/trunk/push'
|
|
21
|
+
require 'pod/command/trunk/info'
|
|
20
22
|
|
|
21
23
|
private
|
|
22
24
|
|
|
@@ -7,7 +7,7 @@ module Pod
|
|
|
7
7
|
Adds the registered user with specified `OWNER-EMAIL` as an owner
|
|
8
8
|
of the given `POD`.
|
|
9
9
|
An ‘owner’ is a registered user whom is allowed to make changes to a
|
|
10
|
-
pod, such as pushing new versions and adding other ‘owners’.
|
|
10
|
+
pod, such as pushing new versions and adding and removing other ‘owners’.
|
|
11
11
|
DESC
|
|
12
12
|
|
|
13
13
|
self.arguments = [
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module Pod
|
|
2
|
+
class Command
|
|
3
|
+
class Trunk
|
|
4
|
+
class Info < Trunk
|
|
5
|
+
self.summary = 'Returns information about a Pod.'
|
|
6
|
+
self.arguments = [
|
|
7
|
+
CLAide::Argument.new('NAME', true),
|
|
8
|
+
]
|
|
9
|
+
|
|
10
|
+
def initialize(argv)
|
|
11
|
+
@name = argv.shift_argument
|
|
12
|
+
super
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def validate!
|
|
16
|
+
super
|
|
17
|
+
help! 'Please specify a pod name.' unless @name
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def run
|
|
21
|
+
response = json(request_path(:get, "pods/#{@name}", auth_headers))
|
|
22
|
+
versions = response['versions'] || []
|
|
23
|
+
owners = response['owners'] || []
|
|
24
|
+
|
|
25
|
+
UI.title(@name) do
|
|
26
|
+
UI.labeled 'Versions', versions.map { |v| "#{v['name']} (#{v['created_at']})" }
|
|
27
|
+
UI.labeled 'Owners', owners.map { |o| "#{o['name']} <#{o['email']}>" }
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
module Pod
|
|
2
|
+
class Command
|
|
3
|
+
class Trunk
|
|
4
|
+
class RemoveOwner < Trunk
|
|
5
|
+
self.summary = 'Remove an owner from a pod'
|
|
6
|
+
self.description = <<-DESC
|
|
7
|
+
Removes the user with specified `OWNER-EMAIL` from being an owner
|
|
8
|
+
of the given `POD`.
|
|
9
|
+
An ‘owner’ is a registered user whom is allowed to make changes to a
|
|
10
|
+
pod, such as pushing new versions and adding and removing other ‘owners’.
|
|
11
|
+
DESC
|
|
12
|
+
|
|
13
|
+
self.arguments = [
|
|
14
|
+
CLAide::Argument.new('POD', true),
|
|
15
|
+
CLAide::Argument.new('OWNER-EMAIL', true),
|
|
16
|
+
]
|
|
17
|
+
|
|
18
|
+
def initialize(argv)
|
|
19
|
+
@pod, @email = argv.shift_argument, argv.shift_argument
|
|
20
|
+
super
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def validate!
|
|
24
|
+
super
|
|
25
|
+
unless token
|
|
26
|
+
help! 'You need to register a session first.'
|
|
27
|
+
end
|
|
28
|
+
unless @pod && @email
|
|
29
|
+
help! 'Specify the pod name and the owner’s email address.'
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def run
|
|
34
|
+
json = json(request_path(:delete, "pods/#{@pod}/owners/#{@email}", auth_headers))
|
|
35
|
+
UI.labeled 'Owners', json.map { |o| "#{o['name']} <#{o['email']}>" }
|
|
36
|
+
rescue REST::Error => e
|
|
37
|
+
raise Informative, "There was an error removing #{@email} from " \
|
|
38
|
+
"#{@pod} on trunk: #{e.message}"
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -4,8 +4,49 @@ module Pod
|
|
|
4
4
|
describe Command::Trunk::AddOwner do
|
|
5
5
|
describe 'CLAide' do
|
|
6
6
|
it 'registers it self' do
|
|
7
|
-
Command.parse(%w(
|
|
7
|
+
Command.parse(%w( trunk add-owner )).should.be.instance_of Command::Trunk::AddOwner
|
|
8
8
|
end
|
|
9
9
|
end
|
|
10
|
+
|
|
11
|
+
describe 'validation' do
|
|
12
|
+
it "should error if we don't have a token" do
|
|
13
|
+
Netrc.any_instance.stubs(:[]).returns(nil)
|
|
14
|
+
command = Command.parse(%w( trunk push ))
|
|
15
|
+
exception = lambda { command.validate! }.should.raise CLAide::Help
|
|
16
|
+
exception.message.should.include 'register a session'
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
it 'should error if pod name is not supplied' do
|
|
20
|
+
command = Command.parse(%w( trunk add-owner ))
|
|
21
|
+
command.stubs(:token).returns('token')
|
|
22
|
+
exception = lambda { command.validate! }.should.raise CLAide::Help
|
|
23
|
+
exception.message.should.include 'pod name'
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
it 'should error if new owners email is not supplied' do
|
|
27
|
+
command = Command.parse(%w( trunk add-owner QueryKit ))
|
|
28
|
+
command.stubs(:token).returns('token')
|
|
29
|
+
exception = lambda { command.validate! }.should.raise CLAide::Help
|
|
30
|
+
exception.message.should.include 'email'
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
it 'should should validate with valid pod and email' do
|
|
34
|
+
command = Command.parse(%w( trunk add-owner QueryKit kyle@cocoapods.org ))
|
|
35
|
+
command.stubs(:token).returns('token')
|
|
36
|
+
lambda { command.validate! }.should.not.raise CLAide::Help
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
it 'should successfully add an owner' do
|
|
41
|
+
url = 'https://trunk.cocoapods.org/api/v1/pods/QueryKit/owners'
|
|
42
|
+
WebMock::API.stub_request(:patch, url).
|
|
43
|
+
with(:body => "{\"email\":\"kyle@cocoapods.org\"}",
|
|
44
|
+
:headers => { 'Authorization' => 'Token 527d11fe429f3426cb8dbeba183a0d80' }).
|
|
45
|
+
to_return(:status => 200, :body => '[]', :headers => {})
|
|
46
|
+
|
|
47
|
+
command = Command.parse(%w( trunk add-owner QueryKit kyle@cocoapods.org ))
|
|
48
|
+
command.stubs(:token).returns('527d11fe429f3426cb8dbeba183a0d80')
|
|
49
|
+
lambda { command.run }.should.not.raise
|
|
50
|
+
end
|
|
10
51
|
end
|
|
11
52
|
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
require File.expand_path('../../../spec_helper', __FILE__)
|
|
2
|
+
require 'tmpdir'
|
|
3
|
+
|
|
4
|
+
module Pod
|
|
5
|
+
describe Command::Trunk::Info do
|
|
6
|
+
describe 'CLAide' do
|
|
7
|
+
it 'registers it self' do
|
|
8
|
+
Command.parse(%w( trunk info )).should.be.instance_of Command::Trunk::Info
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
it 'should error without a pod name' do
|
|
13
|
+
command = Command.parse(%w( trunk info ))
|
|
14
|
+
lambda { command.validate! }.should.raise CLAide::Help
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
it 'should show information for a pod' do
|
|
18
|
+
url = 'https://trunk.cocoapods.org/api/v1/pods/Stencil'
|
|
19
|
+
WebMock::API.stub_request(:get, url).to_return(:body => {
|
|
20
|
+
'owners' => [
|
|
21
|
+
{
|
|
22
|
+
'name' => 'Kyle Fuller',
|
|
23
|
+
'email' => 'kyle@example.com',
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
}.to_json)
|
|
27
|
+
|
|
28
|
+
command = Command.parse(%w( trunk info Stencil ))
|
|
29
|
+
lambda { command.validate! }.should.not.raise CLAide::Help
|
|
30
|
+
command.run
|
|
31
|
+
|
|
32
|
+
UI.output.should.include 'Owners'
|
|
33
|
+
UI.output.should.include 'Kyle Fuller <kyle@example.com>'
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -9,6 +9,13 @@ module Pod
|
|
|
9
9
|
end
|
|
10
10
|
end
|
|
11
11
|
|
|
12
|
+
it "should error if we don't have a token" do
|
|
13
|
+
Netrc.any_instance.stubs(:[]).returns(nil)
|
|
14
|
+
command = Command.parse(%w( trunk push ))
|
|
15
|
+
exception = lambda { command.validate! }.should.raise CLAide::Help
|
|
16
|
+
exception.message.should.include 'register a session'
|
|
17
|
+
end
|
|
18
|
+
|
|
12
19
|
describe 'PATH' do
|
|
13
20
|
before do
|
|
14
21
|
UI.output = ''
|
|
@@ -4,8 +4,28 @@ module Pod
|
|
|
4
4
|
describe Command::Trunk::Register do
|
|
5
5
|
describe 'CLAide' do
|
|
6
6
|
it 'registers it self' do
|
|
7
|
-
Command.parse(%w(
|
|
7
|
+
Command.parse(%w( trunk register )).should.be.instance_of Command::Trunk::Register
|
|
8
8
|
end
|
|
9
9
|
end
|
|
10
|
+
|
|
11
|
+
it 'should error if email is not supplied' do
|
|
12
|
+
Netrc.any_instance.stubs(:[]).returns(nil)
|
|
13
|
+
command = Command.parse(%w( trunk register ))
|
|
14
|
+
exception = lambda { command.validate! }.should.raise CLAide::Help
|
|
15
|
+
exception.message.should.include 'email address'
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
it 'should register user' do
|
|
19
|
+
url = 'https://trunk.cocoapods.org/api/v1/sessions'
|
|
20
|
+
WebMock::API.stub_request(:post, url).
|
|
21
|
+
with(:body => WebMock::API.hash_including('email' => 'kyle@cocoapods.org')).
|
|
22
|
+
to_return(:status => 200, :body => '{"token": "acct"}')
|
|
23
|
+
Netrc.any_instance.stubs(:[]).returns(nil)
|
|
24
|
+
Netrc.any_instance.expects(:[]=).with('trunk.cocoapods.org', ['kyle@cocoapods.org', 'acct'])
|
|
25
|
+
Netrc.any_instance.expects(:save)
|
|
26
|
+
|
|
27
|
+
command = Command.parse(%w( trunk register kyle@cocoapods.org ))
|
|
28
|
+
lambda { command.run }.should.not.raise
|
|
29
|
+
end
|
|
10
30
|
end
|
|
11
31
|
end
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
require File.expand_path('../../../spec_helper', __FILE__)
|
|
2
|
+
|
|
3
|
+
module Pod
|
|
4
|
+
describe Command::Trunk::RemoveOwner do
|
|
5
|
+
describe 'CLAide' do
|
|
6
|
+
it 'registers itself' do
|
|
7
|
+
Command.parse(%w( trunk remove-owner )).should.be.instance_of Command::Trunk::RemoveOwner
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
describe 'validation' do
|
|
12
|
+
it "should error if we don't have a token" do
|
|
13
|
+
Netrc.any_instance.stubs(:[]).returns(nil)
|
|
14
|
+
command = Command.parse(%w( trunk remove-owner ))
|
|
15
|
+
exception = lambda { command.validate! }.should.raise CLAide::Help
|
|
16
|
+
exception.message.should.include 'register a session'
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
it 'should error if pod name is not supplied' do
|
|
20
|
+
command = Command.parse(%w( trunk remove-owner ))
|
|
21
|
+
command.stubs(:token).returns('token')
|
|
22
|
+
exception = lambda { command.validate! }.should.raise CLAide::Help
|
|
23
|
+
exception.message.should.include 'pod name'
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
it 'should error if new owners email is not supplied' do
|
|
27
|
+
command = Command.parse(%w( trunk remove-owner QueryKit ))
|
|
28
|
+
command.stubs(:token).returns('token')
|
|
29
|
+
exception = lambda { command.validate! }.should.raise CLAide::Help
|
|
30
|
+
exception.message.should.include 'email'
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
it 'should should validate with valid pod and email' do
|
|
34
|
+
command = Command.parse(%w( trunk remove-owner QueryKit kyle@cocoapods.org ))
|
|
35
|
+
command.stubs(:token).returns('token')
|
|
36
|
+
lambda { command.validate! }.should.not.raise CLAide::Help
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
it 'should successfully remove an owner' do
|
|
41
|
+
url = 'https://trunk.cocoapods.org/api/v1/pods/QueryKit/owners/kyle@cocoapods.org'
|
|
42
|
+
WebMock::API.stub_request(:delete, url).
|
|
43
|
+
with(:headers => { 'Authorization' => 'Token 527d11fe429f3426cb8dbeba183a0d80' }).
|
|
44
|
+
to_return(:status => 200, :body => '[]', :headers => {})
|
|
45
|
+
|
|
46
|
+
command = Command.parse(%w( trunk remove-owner QueryKit kyle@cocoapods.org ))
|
|
47
|
+
command.stubs(:token).returns('527d11fe429f3426cb8dbeba183a0d80')
|
|
48
|
+
lambda { command.run }.should.not.raise
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -21,6 +21,9 @@ require 'bundler/setup'
|
|
|
21
21
|
require 'bacon'
|
|
22
22
|
require 'mocha-on-bacon'
|
|
23
23
|
require 'pretty_bacon'
|
|
24
|
+
require 'webmock'
|
|
25
|
+
WebMock.disable_net_connect!(:allow => 'codeclimate.com')
|
|
26
|
+
|
|
24
27
|
require 'cocoapods'
|
|
25
28
|
|
|
26
29
|
require 'cocoapods_plugin'
|
|
@@ -57,3 +60,15 @@ module Pod
|
|
|
57
60
|
end
|
|
58
61
|
end
|
|
59
62
|
end
|
|
63
|
+
|
|
64
|
+
module Bacon
|
|
65
|
+
class Context
|
|
66
|
+
alias_method :after_webmock, :after
|
|
67
|
+
def after(&block)
|
|
68
|
+
after_webmock do
|
|
69
|
+
block.call
|
|
70
|
+
WebMock.reset!
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cocoapods-trunk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.5.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Eloy Durán
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2014-
|
|
11
|
+
date: 2014-12-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: nap
|
|
@@ -90,13 +90,17 @@ files:
|
|
|
90
90
|
- lib/cocoapods_trunk.rb
|
|
91
91
|
- lib/pod/command/trunk.rb
|
|
92
92
|
- lib/pod/command/trunk/add_owner.rb
|
|
93
|
+
- lib/pod/command/trunk/info.rb
|
|
93
94
|
- lib/pod/command/trunk/me.rb
|
|
94
95
|
- lib/pod/command/trunk/push.rb
|
|
95
96
|
- lib/pod/command/trunk/register.rb
|
|
97
|
+
- lib/pod/command/trunk/remove_owner.rb
|
|
96
98
|
- spec/command/trunk/addowner_spec.rb
|
|
99
|
+
- spec/command/trunk/info_spec.rb
|
|
97
100
|
- spec/command/trunk/me_spec.rb
|
|
98
101
|
- spec/command/trunk/push_spec.rb
|
|
99
102
|
- spec/command/trunk/register_spec.rb
|
|
103
|
+
- spec/command/trunk/remove_owner_spec.rb
|
|
100
104
|
- spec/command/trunk_spec.rb
|
|
101
105
|
- spec/spec_helper.rb
|
|
102
106
|
homepage: ''
|
|
@@ -125,8 +129,10 @@ specification_version: 4
|
|
|
125
129
|
summary: Interact with trunk.cocoapods.org
|
|
126
130
|
test_files:
|
|
127
131
|
- spec/command/trunk/addowner_spec.rb
|
|
132
|
+
- spec/command/trunk/info_spec.rb
|
|
128
133
|
- spec/command/trunk/me_spec.rb
|
|
129
134
|
- spec/command/trunk/push_spec.rb
|
|
130
135
|
- spec/command/trunk/register_spec.rb
|
|
136
|
+
- spec/command/trunk/remove_owner_spec.rb
|
|
131
137
|
- spec/command/trunk_spec.rb
|
|
132
138
|
- spec/spec_helper.rb
|