artifactory 2.1.1 → 2.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/artifactory/resources/group.rb +7 -2
- data/lib/artifactory/resources/repository.rb +15 -1
- data/lib/artifactory/resources/user.rb +7 -2
- data/lib/artifactory/version.rb +1 -1
- data/spec/support/api_server/repository_endpoints.rb +5 -0
- data/spec/unit/resources/group_spec.rb +30 -0
- data/spec/unit/resources/repository_spec.rb +20 -3
- data/spec/unit/resources/user_spec.rb +30 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cebccbe5005de8daa87ddb5c2cff9e7fd3a47d28
|
4
|
+
data.tar.gz: 8a616316ec8cbcf35a53fb49646273fad0e8ac09
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3e66007bc0e0c3a17bf27df588bd10ef21b7f60b39581c464254723f57d18d44d6299cd52deacf8a735b59fdf1e5d9d136799b57d00ae41fca11cc215c28b049
|
7
|
+
data.tar.gz: dac023ee6fea73f52003e52840b018996ad77b0fe425522bd03457798e2558b94599ae6376a36ffe7dd67886821f458306e0543e2e9230ce690f98ed33e1a4bf
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,10 @@ Artifactory Client CHANGELOG
|
|
3
3
|
This file is used to document the changes between releases of the Artifactory
|
4
4
|
Ruby client.
|
5
5
|
|
6
|
+
v2.1.2 (08-26-2014)
|
7
|
+
-------------------
|
8
|
+
- Use the proper REST verbs on various resources to prevent a bug
|
9
|
+
|
6
10
|
v2.1.1 (08-25-2014)
|
7
11
|
-------------------
|
8
12
|
- Use the proper name for POM consistency checks
|
@@ -70,12 +70,17 @@ module Artifactory
|
|
70
70
|
end
|
71
71
|
|
72
72
|
#
|
73
|
-
#
|
73
|
+
# Creates or updates a group configuration depending on if the
|
74
|
+
# group configuration previously existed.
|
74
75
|
#
|
75
76
|
# @return [Boolean]
|
76
77
|
#
|
77
78
|
def save
|
78
|
-
|
79
|
+
if self.class.find(name, client: client)
|
80
|
+
client.post(api_path, to_json, headers)
|
81
|
+
else
|
82
|
+
client.put(api_path, to_json, headers)
|
83
|
+
end
|
79
84
|
true
|
80
85
|
end
|
81
86
|
|
@@ -65,8 +65,22 @@ module Artifactory
|
|
65
65
|
attribute :snapshot_version_behavior, 'non-unique'
|
66
66
|
attribute :suppress_pom_consistency_checks, false
|
67
67
|
|
68
|
+
#
|
69
|
+
# Creates or updates a repository configuration depending on if the
|
70
|
+
# repository configuration previously existed. This method also works
|
71
|
+
# around Artifactory's dangerous default behavior:
|
72
|
+
#
|
73
|
+
# > An existing repository with the same key are removed from the
|
74
|
+
# > configuration and its content is removed!
|
75
|
+
#
|
76
|
+
# @return [Boolean]
|
77
|
+
#
|
68
78
|
def save
|
69
|
-
|
79
|
+
if self.class.find(key, client: client)
|
80
|
+
client.post(api_path, to_json, headers)
|
81
|
+
else
|
82
|
+
client.put(api_path, to_json, headers)
|
83
|
+
end
|
70
84
|
true
|
71
85
|
end
|
72
86
|
|
@@ -74,12 +74,17 @@ module Artifactory
|
|
74
74
|
end
|
75
75
|
|
76
76
|
#
|
77
|
-
#
|
77
|
+
# Creates or updates a user configuration depending on if the
|
78
|
+
# user configuration previously existed.
|
78
79
|
#
|
79
80
|
# @return [Boolean]
|
80
81
|
#
|
81
82
|
def save
|
82
|
-
|
83
|
+
if self.class.find(name, client: client)
|
84
|
+
client.post(api_path, to_json, headers)
|
85
|
+
else
|
86
|
+
client.put(api_path, to_json, headers)
|
87
|
+
end
|
83
88
|
true
|
84
89
|
end
|
85
90
|
|
data/lib/artifactory/version.rb
CHANGED
@@ -71,6 +71,11 @@ module Artifactory
|
|
71
71
|
})
|
72
72
|
end
|
73
73
|
|
74
|
+
# Simulate a non-existent repository
|
75
|
+
app.get('/api/repositories/libs-testing-local') do
|
76
|
+
status 400
|
77
|
+
end
|
78
|
+
|
74
79
|
app.put('/api/repositories/libs-testing-local') do
|
75
80
|
content_type 'text/plain'
|
76
81
|
"Repository libs-resting-local created successfully!\n"
|
@@ -71,5 +71,35 @@ module Artifactory
|
|
71
71
|
expect(instance.realm_attributes).to be_nil
|
72
72
|
end
|
73
73
|
end
|
74
|
+
|
75
|
+
describe '#save' do
|
76
|
+
let(:client) { double }
|
77
|
+
before do
|
78
|
+
subject.client = client
|
79
|
+
subject.name = 'deployers'
|
80
|
+
end
|
81
|
+
|
82
|
+
context 'when the group is new' do
|
83
|
+
before do
|
84
|
+
allow(described_class).to receive(:find).with(subject.name, client: client).and_return(nil)
|
85
|
+
end
|
86
|
+
|
87
|
+
it 'PUTS the group to the server' do
|
88
|
+
expect(client).to receive(:put).with("/api/security/groups/#{subject.name}", kind_of(String), kind_of(Hash))
|
89
|
+
subject.save
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
context 'when the group exists' do
|
94
|
+
before do
|
95
|
+
allow(described_class).to receive(:find).with(subject.name, client: client).and_return({name: subject.name})
|
96
|
+
end
|
97
|
+
|
98
|
+
it 'POSTS the group to the server' do
|
99
|
+
expect(client).to receive(:post).with("/api/security/groups/#{subject.name}", kind_of(String), kind_of(Hash))
|
100
|
+
subject.save
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
74
104
|
end
|
75
105
|
end
|
@@ -94,9 +94,26 @@ module Artifactory
|
|
94
94
|
subject.key = 'libs-release-local'
|
95
95
|
end
|
96
96
|
|
97
|
-
|
98
|
-
|
99
|
-
|
97
|
+
context 'when the repository is new' do
|
98
|
+
before do
|
99
|
+
allow(described_class).to receive(:find).with(subject.key, client: client).and_return(nil)
|
100
|
+
end
|
101
|
+
|
102
|
+
it 'PUTS the file to the server' do
|
103
|
+
expect(client).to receive(:put).with("/api/repositories/#{subject.key}", kind_of(String), kind_of(Hash))
|
104
|
+
subject.save
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
context 'when the repository exists' do
|
109
|
+
before do
|
110
|
+
allow(described_class).to receive(:find).with(subject.key, client: client).and_return({key: subject.key})
|
111
|
+
end
|
112
|
+
|
113
|
+
it 'POSTS the file to the server' do
|
114
|
+
expect(client).to receive(:post).with("/api/repositories/#{subject.key}", kind_of(String), kind_of(Hash))
|
115
|
+
subject.save
|
116
|
+
end
|
100
117
|
end
|
101
118
|
end
|
102
119
|
|
@@ -78,5 +78,35 @@ module Artifactory
|
|
78
78
|
expect(instance.realm).to eq('artifactory')
|
79
79
|
end
|
80
80
|
end
|
81
|
+
|
82
|
+
describe '#save' do
|
83
|
+
let(:client) { double }
|
84
|
+
before do
|
85
|
+
subject.client = client
|
86
|
+
subject.name = 'schisamo'
|
87
|
+
end
|
88
|
+
|
89
|
+
context 'when the user is new' do
|
90
|
+
before do
|
91
|
+
allow(described_class).to receive(:find).with(subject.name, client: client).and_return(nil)
|
92
|
+
end
|
93
|
+
|
94
|
+
it 'PUTS the user to the server' do
|
95
|
+
expect(client).to receive(:put).with("/api/security/users/#{subject.name}", kind_of(String), kind_of(Hash))
|
96
|
+
subject.save
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
context 'when the user exists' do
|
101
|
+
before do
|
102
|
+
allow(described_class).to receive(:find).with(subject.name, client: client).and_return({name: subject.name})
|
103
|
+
end
|
104
|
+
|
105
|
+
it 'POSTS the user to the server' do
|
106
|
+
expect(client).to receive(:post).with("/api/security/users/#{subject.name}", kind_of(String), kind_of(Hash))
|
107
|
+
subject.save
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
81
111
|
end
|
82
112
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: artifactory
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Seth Vargo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-08-
|
11
|
+
date: 2014-08-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|