global-registry-bindings 0.3.2 → 0.3.3
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4dd8d8a7069e77c3eff998918b8481ebb8c961ef
|
4
|
+
data.tar.gz: 9bb711799fc0cc935d1fcb564901f4acad662de4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: abd20332493b5b8551079714b63d3eb2e14302586730ed3de4d8324c2c849ac7099533f60615b0bcdcbd830ec8b5c11f3073865c793dde86c4ec17909b4b3878
|
7
|
+
data.tar.gz: 7c1a0eeec3b0ff7a3b5c9f01d3bfe2ed77b227231ec51a66536201328209293b685d7db4986d987684b8f66aae5d4c4f45bf2cbdb4683897d5753577e5fbb449
|
@@ -22,15 +22,15 @@ module GlobalRegistry #:nodoc:
|
|
22
22
|
else
|
23
23
|
create_entity_in_global_registry
|
24
24
|
end
|
25
|
-
rescue RestClient::ResourceNotFound
|
26
|
-
global_registry_entity.id_value = nil
|
27
|
-
push_entity_to_global_registry
|
28
25
|
end
|
29
26
|
|
30
27
|
def update_entity_in_global_registry
|
31
28
|
entity_attributes = { global_registry_entity.type => model.entity_attributes_to_push }
|
32
29
|
GlobalRegistry::Entity.put(global_registry_entity.id_value, entity: entity_attributes)
|
33
30
|
update_fingerprint
|
31
|
+
rescue RestClient::ResourceNotFound
|
32
|
+
global_registry_entity.id_value = nil
|
33
|
+
create_entity_in_global_registry
|
34
34
|
end
|
35
35
|
|
36
36
|
def create_entity_in_global_registry
|
@@ -246,14 +246,16 @@ RSpec.describe GlobalRegistry::Bindings::Workers::PushEntityWorker do
|
|
246
246
|
end
|
247
247
|
|
248
248
|
context 'invalid entity id' do
|
249
|
-
let!(:requests)
|
250
|
-
|
251
|
-
|
249
|
+
let!(:requests) { [update_request, create_request] }
|
250
|
+
let!(:update_request) do
|
251
|
+
stub_request(:put, 'https://backend.global-registry.org/entities/f8d20318-2ff2-4a98-a5eb-e9d840508bf1')
|
252
|
+
.with(body: entity_body)
|
253
|
+
.to_return(status: 404)
|
254
|
+
end
|
255
|
+
let!(:create_request) do
|
256
|
+
stub_request(:post, 'https://backend.global-registry.org/entities')
|
252
257
|
.with(body: entity_body)
|
253
|
-
.to_return(status:
|
254
|
-
stub_request(:post, 'https://backend.global-registry.org/entities')
|
255
|
-
.with(body: entity_body)
|
256
|
-
.to_return(body: file_fixture('post_entities_person.json'), status: 200)]
|
258
|
+
.to_return(body: file_fixture('post_entities_person.json'), status: 200)
|
257
259
|
end
|
258
260
|
|
259
261
|
it 'should push entity as create' do
|
@@ -262,6 +264,18 @@ RSpec.describe GlobalRegistry::Bindings::Workers::PushEntityWorker do
|
|
262
264
|
expect(person.global_registry_id).to eq '22527d88-3cba-11e7-b876-129bd0521531'
|
263
265
|
expect(person.global_registry_fingerprint).to eq '4c671c203b5dd19cdc1920ba5434cf64'
|
264
266
|
end
|
267
|
+
|
268
|
+
context 'response is also not found on create' do
|
269
|
+
let!(:create_request) do
|
270
|
+
stub_request(:post, 'https://backend.global-registry.org/entities')
|
271
|
+
.with(body: entity_body)
|
272
|
+
.to_return(status: 404)
|
273
|
+
end
|
274
|
+
|
275
|
+
it 'should raise an error' do
|
276
|
+
expect { worker.push_entity_to_global_registry }.to raise_error(RestClient::NotFound)
|
277
|
+
end
|
278
|
+
end
|
265
279
|
end
|
266
280
|
|
267
281
|
context 'fingerprints match' do
|
@@ -446,17 +460,29 @@ RSpec.describe GlobalRegistry::Bindings::Workers::PushEntityWorker do
|
|
446
460
|
client_integration_id: address.id,
|
447
461
|
client_updated_at: '2001-02-03 00:00:00'
|
448
462
|
} } } })
|
449
|
-
.to_return(
|
463
|
+
.to_return(response)
|
450
464
|
end
|
465
|
+
let!(:response) { { body: file_fixture('put_entities_address.json'), status: 200 } }
|
451
466
|
|
452
|
-
|
467
|
+
subject do
|
453
468
|
address.address1 = '100 Sesame Street'
|
454
469
|
address.primary = false
|
455
|
-
|
456
|
-
|
457
|
-
|
470
|
+
worker.push_entity_to_global_registry
|
471
|
+
end
|
472
|
+
|
473
|
+
it 'should push address entity' do
|
474
|
+
expect { subject }.to_not(change { address.global_registry_id })
|
458
475
|
expect(request).to have_been_requested.once
|
459
476
|
end
|
477
|
+
|
478
|
+
context 'response not found' do
|
479
|
+
let!(:response) { { status: 404 } }
|
480
|
+
|
481
|
+
it 'should raise an error' do
|
482
|
+
expect { subject }.to raise_error(RestClient::NotFound)
|
483
|
+
expect(request).to have_been_requested.once
|
484
|
+
end
|
485
|
+
end
|
460
486
|
end
|
461
487
|
end
|
462
488
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: global-registry-bindings
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Zoetewey
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-03-
|
11
|
+
date: 2019-03-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|