maestrano-connector-rails 0.2.17 → 0.2.18
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/app/models/maestrano/connector/rails/concerns/entity.rb +10 -6
- data/app/models/maestrano/connector/rails/sub_entity_base.rb +4 -4
- data/maestrano-connector-rails.gemspec +2 -2
- data/spec/models/complex_entity_spec.rb +20 -1
- data/spec/models/entity_spec.rb +5 -5
- data/spec/models/sub_entity_base_spec.rb +10 -4
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f94f571529c54189a2416028f32c9eaf10f0f496
|
4
|
+
data.tar.gz: ec2a9b0396f561cb157aa909f758b66b07d50cd9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 580f8d9921831198e67a9102ddce992fbe6359b08f0346a32c35af69385ca4f51c6c35a34975b71e7744e74b24fa8d7a03cc4e48ab0e8d31464da2d729091c33
|
7
|
+
data.tar.gz: 46749aca76d739411ea64a4187a7fdfdbe2d1c795481306458c338bac8586628a6706cae51132e1c5538de1c6f490ffed6357f2a52057efacb0dd889b7444c50
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.18
|
@@ -68,6 +68,10 @@ module Maestrano::Connector::Rails::Concerns::Entity
|
|
68
68
|
# Connec! methods
|
69
69
|
# ----------------------------------------------
|
70
70
|
def normalized_connec_entity_name
|
71
|
+
normalize_connec_entity_name(connec_entity_name)
|
72
|
+
end
|
73
|
+
|
74
|
+
def normalize_connec_entity_name(connec_entity_name)
|
71
75
|
if singleton?
|
72
76
|
connec_entity_name.downcase
|
73
77
|
else
|
@@ -133,10 +137,10 @@ module Maestrano::Connector::Rails::Concerns::Entity
|
|
133
137
|
|
134
138
|
begin
|
135
139
|
if idmap.connec_id.blank?
|
136
|
-
connec_entity = create_connec_entity(connec_client, external_entity, connec_entity_name, organization)
|
140
|
+
connec_entity = create_connec_entity(connec_client, external_entity, normalize_connec_entity_name(connec_entity_name), organization)
|
137
141
|
idmap.update_attributes(connec_id: connec_entity['id'], connec_entity: connec_entity_name.downcase, last_push_to_connec: Time.now, message: nil)
|
138
142
|
else
|
139
|
-
connec_entity = update_connec_entity(connec_client, external_entity, idmap.connec_id, connec_entity_name, organization)
|
143
|
+
connec_entity = update_connec_entity(connec_client, external_entity, idmap.connec_id, normalize_connec_entity_name(connec_entity_name), organization)
|
140
144
|
idmap.update_attributes(last_push_to_connec: Time.now, message: nil)
|
141
145
|
end
|
142
146
|
rescue => e
|
@@ -148,18 +152,18 @@ module Maestrano::Connector::Rails::Concerns::Entity
|
|
148
152
|
|
149
153
|
def create_connec_entity(connec_client, mapped_external_entity, connec_entity_name, organization)
|
150
154
|
Maestrano::Connector::Rails::ConnectorLogger.log('info', organization, "Sending create #{connec_entity_name}: #{mapped_external_entity} to Connec!")
|
151
|
-
response = connec_client.post("/#{
|
155
|
+
response = connec_client.post("/#{connec_entity_name}", { "#{connec_entity_name}".to_sym => mapped_external_entity })
|
152
156
|
response = JSON.parse(response.body)
|
153
157
|
raise "Connec!: #{response['errors']['title']}" if response['errors'] && response['errors']['title']
|
154
|
-
response["#{
|
158
|
+
response["#{connec_entity_name}"]
|
155
159
|
end
|
156
160
|
|
157
161
|
def update_connec_entity(connec_client, mapped_external_entity, connec_id, connec_entity_name, organization)
|
158
162
|
Maestrano::Connector::Rails::ConnectorLogger.log('info', organization, "Sending update #{connec_entity_name}: #{mapped_external_entity} to Connec!")
|
159
|
-
response = connec_client.put("/#{
|
163
|
+
response = connec_client.put("/#{connec_entity_name}/#{connec_id}", { "#{connec_entity_name}".to_sym => mapped_external_entity })
|
160
164
|
response = JSON.parse(response.body)
|
161
165
|
raise "Connec!: #{response['errors']['title']}" if response['errors'] && response['errors']['title']
|
162
|
-
response["#{
|
166
|
+
response["#{connec_entity_name}"]
|
163
167
|
end
|
164
168
|
|
165
169
|
def map_to_external_with_idmap(entity, organization)
|
@@ -17,13 +17,13 @@ module Maestrano::Connector::Rails
|
|
17
17
|
if external?
|
18
18
|
entity_name
|
19
19
|
else
|
20
|
-
raise "Forbidden call"
|
20
|
+
raise "Forbidden call: cannot call external_entity_name for a connec entity"
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
24
|
def connec_entity_name
|
25
25
|
if external?
|
26
|
-
raise "Forbidden call"
|
26
|
+
raise "Forbidden call: cannot call connec_entity_name for an external entity"
|
27
27
|
else
|
28
28
|
entity_name
|
29
29
|
end
|
@@ -47,13 +47,13 @@ module Maestrano::Connector::Rails
|
|
47
47
|
})
|
48
48
|
Maestrano::Connector::Rails::IdMap.create(h)
|
49
49
|
else
|
50
|
-
raise 'Forbidden call'
|
50
|
+
raise 'Forbidden call: cannot call create_idmap_from_external_entity for a connec entity'
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
54
54
|
def create_idmap_from_connec_entity(entity, external_entity_name, organization)
|
55
55
|
if external?
|
56
|
-
raise 'Forbidden call'
|
56
|
+
raise 'Forbidden call: cannot call create_idmap_from_connec_entity for an external entity'
|
57
57
|
else
|
58
58
|
h = names_hash.merge({
|
59
59
|
connec_id: entity['id'],
|
@@ -2,11 +2,11 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: maestrano-connector-rails 0.2.
|
5
|
+
# stub: maestrano-connector-rails 0.2.18 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "maestrano-connector-rails"
|
9
|
-
s.version = "0.2.
|
9
|
+
s.version = "0.2.18"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib"]
|
@@ -364,7 +364,8 @@ describe Maestrano::Connector::Rails::ComplexEntity do
|
|
364
364
|
end
|
365
365
|
|
366
366
|
describe 'push_entities_to_connec' do
|
367
|
-
let(:
|
367
|
+
let(:idmap) { nil }
|
368
|
+
let(:mapped_entity_with_idmap) { {entity: {}, idmap: idmap} }
|
368
369
|
let(:external_hash) {
|
369
370
|
{
|
370
371
|
'sc_e1' => {'connec1' => [mapped_entity_with_idmap]},
|
@@ -377,6 +378,24 @@ describe Maestrano::Connector::Rails::ComplexEntity do
|
|
377
378
|
expect_any_instance_of(Entities::SubEntities::ScE2).to receive(:push_entities_to_connec_to).twice
|
378
379
|
subject.push_entities_to_connec(nil, external_hash, nil)
|
379
380
|
end
|
381
|
+
|
382
|
+
describe 'full call' do
|
383
|
+
let(:organization) { create(:organization) }
|
384
|
+
let!(:client) { Maestrano::Connec::Client.new(organization.uid) }
|
385
|
+
let(:idmap) { create(:idmap, organization: organization) }
|
386
|
+
before {
|
387
|
+
[Entities::SubEntities::ScE1, Entities::SubEntities::ScE2].each do |klass|
|
388
|
+
allow_any_instance_of(klass).to receive(:external?).and_return(true)
|
389
|
+
allow_any_instance_of(klass).to receive(:entity_name).and_return('n')
|
390
|
+
end
|
391
|
+
allow(client).to receive(:put).and_return(ActionDispatch::Response.new(200, {}, {people: {}}.to_json, {}))
|
392
|
+
}
|
393
|
+
it 'is successful' do
|
394
|
+
subject.push_entities_to_connec(client, external_hash, organization)
|
395
|
+
idmap.reload
|
396
|
+
expect(idmap.message).to be nil
|
397
|
+
end
|
398
|
+
end
|
380
399
|
end
|
381
400
|
|
382
401
|
|
data/spec/models/entity_spec.rb
CHANGED
@@ -200,8 +200,8 @@ describe Maestrano::Connector::Rails::Entity do
|
|
200
200
|
allow(subject).to receive(:create_connec_entity).and_return({'id' => id})
|
201
201
|
allow(subject).to receive(:external_entity_name).and_return(external_name)
|
202
202
|
|
203
|
-
expect(subject).to receive(:create_connec_entity).with(client, entity2, connec_name, organization)
|
204
|
-
expect(subject).to receive(:update_connec_entity).with(client, entity1, idmap1.connec_id, connec_name, organization)
|
203
|
+
expect(subject).to receive(:create_connec_entity).with(client, entity2, connec_name.downcase.pluralize, organization)
|
204
|
+
expect(subject).to receive(:update_connec_entity).with(client, entity1, idmap1.connec_id, connec_name.downcase.pluralize, organization)
|
205
205
|
old_push_date = idmap1.last_push_to_connec
|
206
206
|
|
207
207
|
subject.push_entities_to_connec_to(client, entities_with_idmaps, connec_name, organization)
|
@@ -224,11 +224,11 @@ describe Maestrano::Connector::Rails::Entity do
|
|
224
224
|
|
225
225
|
it 'sends a post to connec' do
|
226
226
|
expect(client).to receive(:post).with("/#{connec_name.downcase.pluralize}", {"#{connec_name.downcase.pluralize}".to_sym => entity})
|
227
|
-
subject.create_connec_entity(client, entity, connec_name, organization)
|
227
|
+
subject.create_connec_entity(client, entity, connec_name.downcase.pluralize, organization)
|
228
228
|
end
|
229
229
|
|
230
230
|
it 'returns the created entity' do
|
231
|
-
expect(subject.create_connec_entity(client, entity, connec_name, organization)).to eql(JSON.parse(entity.to_json))
|
231
|
+
expect(subject.create_connec_entity(client, entity, connec_name.downcase.pluralize, organization)).to eql(JSON.parse(entity.to_json))
|
232
232
|
end
|
233
233
|
end
|
234
234
|
|
@@ -242,7 +242,7 @@ describe Maestrano::Connector::Rails::Entity do
|
|
242
242
|
|
243
243
|
it 'sends a put to connec' do
|
244
244
|
expect(client).to receive(:put).with("/#{connec_name.downcase.pluralize}/#{id}", {"#{connec_name.downcase.pluralize}".to_sym => entity})
|
245
|
-
subject.update_connec_entity(client, entity, id, connec_name, organization)
|
245
|
+
subject.update_connec_entity(client, entity, id, connec_name.downcase.pluralize, organization)
|
246
246
|
end
|
247
247
|
end
|
248
248
|
|
@@ -28,7 +28,10 @@ describe Maestrano::Connector::Rails::SubEntityBase do
|
|
28
28
|
end
|
29
29
|
|
30
30
|
context 'when entity is not external' do
|
31
|
-
|
31
|
+
before {
|
32
|
+
allow_any_instance_of(Maestrano::Connector::Rails::SubEntityBase).to receive(:external?).and_return(false)
|
33
|
+
}
|
34
|
+
it { expect{ subject.external_entity_name }.to raise_error('Forbidden call: cannot call external_entity_name for a connec entity') }
|
32
35
|
end
|
33
36
|
end
|
34
37
|
|
@@ -45,7 +48,10 @@ describe Maestrano::Connector::Rails::SubEntityBase do
|
|
45
48
|
end
|
46
49
|
|
47
50
|
context 'when entity is external' do
|
48
|
-
|
51
|
+
before {
|
52
|
+
allow_any_instance_of(Maestrano::Connector::Rails::SubEntityBase).to receive(:external?).and_return(true)
|
53
|
+
}
|
54
|
+
it { expect{ subject.connec_entity_name }.to raise_error('Forbidden call: cannot call connec_entity_name for an external entity') }
|
49
55
|
end
|
50
56
|
end
|
51
57
|
|
@@ -83,7 +89,7 @@ describe Maestrano::Connector::Rails::SubEntityBase do
|
|
83
89
|
end
|
84
90
|
context 'when not external' do
|
85
91
|
let(:bool) { false }
|
86
|
-
it { expect{ subject.create_idmap_from_external_entity({}, '', organization) }.to raise_error('Forbidden call') }
|
92
|
+
it { expect{ subject.create_idmap_from_external_entity({}, '', organization) }.to raise_error('Forbidden call: cannot call create_idmap_from_external_entity for a connec entity') }
|
87
93
|
end
|
88
94
|
end
|
89
95
|
|
@@ -97,7 +103,7 @@ describe Maestrano::Connector::Rails::SubEntityBase do
|
|
97
103
|
}
|
98
104
|
|
99
105
|
context 'when external' do
|
100
|
-
it { expect{ subject.create_idmap_from_connec_entity({}, '', organization) }.to raise_error('Forbidden call') }
|
106
|
+
it { expect{ subject.create_idmap_from_connec_entity({}, '', organization) }.to raise_error('Forbidden call: cannot call create_idmap_from_connec_entity for an external entity') }
|
101
107
|
end
|
102
108
|
context 'when not external' do
|
103
109
|
let(:bool) { false }
|