maestrano-connector-rails 0.2.17 → 0.2.18
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/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 }
|