dynamodb_record 0.2.2 → 0.3.1

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.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +55 -0
  3. data/dynamodb_record.gemspec +1 -1
  4. data/lib/dynamodb_record/associations.rb +76 -27
  5. data/lib/dynamodb_record/collection.rb +18 -27
  6. data/lib/dynamodb_record/config.rb +2 -0
  7. data/lib/dynamodb_record/fields.rb +11 -12
  8. data/lib/dynamodb_record/finders.rb +1 -0
  9. data/lib/dynamodb_record/has_and_belongs_to_many_collection.rb +67 -0
  10. data/lib/dynamodb_record/has_many_collection.rb +50 -0
  11. data/lib/dynamodb_record/has_many_through_collection.rb +44 -0
  12. data/lib/dynamodb_record/pager.rb +15 -0
  13. data/lib/dynamodb_record/persistence.rb +19 -19
  14. data/lib/dynamodb_record/query.rb +12 -9
  15. data/lib/dynamodb_record/query_pager.rb +28 -0
  16. data/lib/dynamodb_record/scan_pager.rb +28 -0
  17. data/lib/dynamodb_record/version.rb +1 -1
  18. data/lib/dynamodb_record.rb +6 -0
  19. data/spec/app/models/authorization.rb +0 -1
  20. data/spec/app/models/car.rb +9 -0
  21. data/spec/app/models/insurance.rb +9 -0
  22. data/spec/app/models/service.rb +8 -0
  23. data/spec/app/models/user.rb +2 -0
  24. data/spec/dynamodb_record/association_spec.rb +51 -0
  25. data/spec/dynamodb_record/document_spec.rb +2 -2
  26. data/spec/dynamodb_record/fields_spec.rb +21 -15
  27. data/spec/dynamodb_record/persistence_spec.rb +3 -2
  28. data/spec/dynamodb_record/query_spec.rb +5 -3
  29. data/spec/fixtures/vcr_cassettes/DynamodbRecord_Associations/_belongs_to/get_object.yml +105 -0
  30. data/spec/fixtures/vcr_cassettes/DynamodbRecord_Associations/_has_many/add_list.yml +311 -0
  31. data/spec/fixtures/vcr_cassettes/DynamodbRecord_Associations/_has_many/create_item.yml +156 -0
  32. data/spec/fixtures/vcr_cassettes/DynamodbRecord_Associations/_has_many/get_collection.yml +105 -0
  33. data/spec/fixtures/vcr_cassettes/DynamodbRecord_Associations/has_and_belongs_to_many.yml +157 -0
  34. data/spec/fixtures/vcr_cassettes/DynamodbRecord_Associations/has_and_belongs_to_many_create.yml +207 -0
  35. data/spec/fixtures/vcr_cassettes/DynamodbRecord_Associations/has_many_through.yml +157 -0
  36. data/spec/spec_helper.rb +3 -2
  37. metadata +23 -24
@@ -0,0 +1,311 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://localhost:8000/
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"TableName":"users","Key":{"id":{"S":"hguzman10@gmail.com"}}}'
9
+ headers:
10
+ Accept-Encoding:
11
+ - ''
12
+ Content-Type:
13
+ - application/x-amz-json-1.0
14
+ X-Amz-Target:
15
+ - DynamoDB_20120810.GetItem
16
+ User-Agent:
17
+ - aws-sdk-ruby3/3.191.3 ua/2.0 api/dynamodb#1.105.0 os/macos#20 md/x86_64 lang/ruby#3.2.3
18
+ md/3.2.3 cfg/retry-mode#legacy
19
+ Host:
20
+ - localhost:8000
21
+ X-Amz-Date:
22
+ - 20240513T221654Z
23
+ X-Amz-Content-Sha256:
24
+ - 7e2248df156bd85d1c08add1aaa7b84ed6041fe96165fb6879ddbb1424663802
25
+ Authorization:
26
+ - AWS4-HMAC-SHA256 Credential=key/20240513/us-east-1/dynamodb/aws4_request,
27
+ SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date;x-amz-target,
28
+ Signature=5d36d58a7b9e3a813cb337310b4e9d00c02289f75c535f244cedfb44fa11eb7a
29
+ Content-Length:
30
+ - '62'
31
+ Accept:
32
+ - "*/*"
33
+ response:
34
+ status:
35
+ code: 200
36
+ message: OK
37
+ headers:
38
+ Date:
39
+ - Mon, 13 May 2024 22:16:54 GMT
40
+ X-Amzn-Requestid:
41
+ - 711a1017-0f68-4957-9676-646de4682adb
42
+ Content-Type:
43
+ - application/x-amz-json-1.0
44
+ X-Amz-Crc32:
45
+ - '3262869781'
46
+ Content-Length:
47
+ - '157'
48
+ Server:
49
+ - Jetty(11.0.17)
50
+ body:
51
+ encoding: UTF-8
52
+ string: '{"Item":{"created_at":{"S":"2024-05-07T14:10:09-05:00"},"id":{"S":"hguzman10@gmail.com"},"balance":{"N":"0"},"updated_at":{"S":"2024-05-07T14:10:09-05:00"}}}'
53
+ recorded_at: Mon, 13 May 2024 22:16:54 GMT
54
+ - request:
55
+ method: post
56
+ uri: http://localhost:8000/
57
+ body:
58
+ encoding: UTF-8
59
+ string: '{"TableName":"cars","Key":{"id":{"S":"UVX455"}}}'
60
+ headers:
61
+ Accept-Encoding:
62
+ - ''
63
+ Content-Type:
64
+ - application/x-amz-json-1.0
65
+ X-Amz-Target:
66
+ - DynamoDB_20120810.GetItem
67
+ User-Agent:
68
+ - aws-sdk-ruby3/3.191.3 ua/2.0 api/dynamodb#1.105.0 os/macos#20 md/x86_64 lang/ruby#3.2.3
69
+ md/3.2.3 cfg/retry-mode#legacy
70
+ Host:
71
+ - localhost:8000
72
+ X-Amz-Date:
73
+ - 20240513T221654Z
74
+ X-Amz-Content-Sha256:
75
+ - 53644a2bbab903704867eb87df0fdfe6dd8cb8ac9e1dae5715033d0f636fd592
76
+ Authorization:
77
+ - AWS4-HMAC-SHA256 Credential=key/20240513/us-east-1/dynamodb/aws4_request,
78
+ SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date;x-amz-target,
79
+ Signature=1a726edf9229b92796291ec3955d631f15042e898d2cdd1af503eb97c941d9fe
80
+ Content-Length:
81
+ - '48'
82
+ Accept:
83
+ - "*/*"
84
+ response:
85
+ status:
86
+ code: 200
87
+ message: OK
88
+ headers:
89
+ Date:
90
+ - Mon, 13 May 2024 22:16:54 GMT
91
+ X-Amzn-Requestid:
92
+ - dc46ebd9-194b-4de1-8a2e-7a5dff2694c0
93
+ Content-Type:
94
+ - application/x-amz-json-1.0
95
+ X-Amz-Crc32:
96
+ - '590923779'
97
+ Content-Length:
98
+ - '149'
99
+ Server:
100
+ - Jetty(11.0.17)
101
+ body:
102
+ encoding: UTF-8
103
+ string: '{"Item":{"marca":{"S":"Chvrolet"},"created_at":{"S":"2024-05-07T14:09:25-05:00"},"id":{"S":"UVX455"},"updated_at":{"S":"2024-05-07T14:09:25-05:00"}}}'
104
+ recorded_at: Mon, 13 May 2024 22:16:54 GMT
105
+ - request:
106
+ method: post
107
+ uri: http://localhost:8000/
108
+ body:
109
+ encoding: UTF-8
110
+ string: '{"TableName":"cars-users","IndexName":"cars-users-index","KeyConditionExpression":"#user_id
111
+ = :user_id","ExpressionAttributeNames":{"#user_id":"user_id"},"ExpressionAttributeValues":{":user_id":{"S":"hguzman10@gmail.com"}}}'
112
+ headers:
113
+ Accept-Encoding:
114
+ - ''
115
+ Content-Type:
116
+ - application/x-amz-json-1.0
117
+ X-Amz-Target:
118
+ - DynamoDB_20120810.Query
119
+ User-Agent:
120
+ - aws-sdk-ruby3/3.191.3 ua/2.0 api/dynamodb#1.105.0 os/macos#20 md/x86_64 lang/ruby#3.2.3
121
+ md/3.2.3 cfg/retry-mode#legacy
122
+ Host:
123
+ - localhost:8000
124
+ X-Amz-Date:
125
+ - 20240513T221654Z
126
+ X-Amz-Content-Sha256:
127
+ - 861742c900d1730c7df19f7946fa6aac3875ce336013c8c99084372c1dab4405
128
+ Authorization:
129
+ - AWS4-HMAC-SHA256 Credential=key/20240513/us-east-1/dynamodb/aws4_request,
130
+ SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date;x-amz-target,
131
+ Signature=ef7169d848223d72e60f810eab3ed7d6bb1ae25372b898fd796ff3a26c4dd70e
132
+ Content-Length:
133
+ - '223'
134
+ Accept:
135
+ - "*/*"
136
+ response:
137
+ status:
138
+ code: 200
139
+ message: OK
140
+ headers:
141
+ Date:
142
+ - Mon, 13 May 2024 22:16:54 GMT
143
+ X-Amzn-Requestid:
144
+ - 86006016-6670-4107-8ad7-696d8fef517d
145
+ Content-Type:
146
+ - application/x-amz-json-1.0
147
+ X-Amz-Crc32:
148
+ - '583912891'
149
+ Content-Length:
150
+ - '39'
151
+ Server:
152
+ - Jetty(11.0.17)
153
+ body:
154
+ encoding: UTF-8
155
+ string: '{"Items":[],"Count":0,"ScannedCount":0}'
156
+ recorded_at: Mon, 13 May 2024 22:16:54 GMT
157
+ - request:
158
+ method: post
159
+ uri: http://localhost:8000/
160
+ body:
161
+ encoding: UTF-8
162
+ string: '{"TableName":"cars-users","Item":{"user_id":{"S":"hguzman10@gmail.com"},"car_id":{"S":"UVX455"}}}'
163
+ headers:
164
+ Accept-Encoding:
165
+ - ''
166
+ Content-Type:
167
+ - application/x-amz-json-1.0
168
+ X-Amz-Target:
169
+ - DynamoDB_20120810.PutItem
170
+ User-Agent:
171
+ - aws-sdk-ruby3/3.191.3 ua/2.0 api/dynamodb#1.105.0 os/macos#20 md/x86_64 lang/ruby#3.2.3
172
+ md/3.2.3 cfg/retry-mode#legacy
173
+ Host:
174
+ - localhost:8000
175
+ X-Amz-Date:
176
+ - 20240513T221654Z
177
+ X-Amz-Content-Sha256:
178
+ - e587d0399718d407bf4455227d39690706f3801ff9426a66599b446990bab89c
179
+ Authorization:
180
+ - AWS4-HMAC-SHA256 Credential=key/20240513/us-east-1/dynamodb/aws4_request,
181
+ SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date;x-amz-target,
182
+ Signature=8369b75f615867caf534d5f75461ab3d3fc42580bcf244dbef28607ec667bf89
183
+ Content-Length:
184
+ - '97'
185
+ Accept:
186
+ - "*/*"
187
+ response:
188
+ status:
189
+ code: 200
190
+ message: OK
191
+ headers:
192
+ Date:
193
+ - Mon, 13 May 2024 22:16:54 GMT
194
+ X-Amzn-Requestid:
195
+ - 864c54ef-15c9-4b63-be26-77cdb6c952b6
196
+ Content-Type:
197
+ - application/x-amz-json-1.0
198
+ X-Amz-Crc32:
199
+ - '2745614147'
200
+ Content-Length:
201
+ - '2'
202
+ Server:
203
+ - Jetty(11.0.17)
204
+ body:
205
+ encoding: UTF-8
206
+ string: "{}"
207
+ recorded_at: Mon, 13 May 2024 22:16:54 GMT
208
+ - request:
209
+ method: post
210
+ uri: http://localhost:8000/
211
+ body:
212
+ encoding: UTF-8
213
+ string: '{"TableName":"cars-users","IndexName":"cars-users-index","KeyConditionExpression":"#user_id
214
+ = :user_id","ExpressionAttributeNames":{"#user_id":"user_id"},"ExpressionAttributeValues":{":user_id":{"S":"hguzman10@gmail.com"}}}'
215
+ headers:
216
+ Accept-Encoding:
217
+ - ''
218
+ Content-Type:
219
+ - application/x-amz-json-1.0
220
+ X-Amz-Target:
221
+ - DynamoDB_20120810.Query
222
+ User-Agent:
223
+ - aws-sdk-ruby3/3.191.3 ua/2.0 api/dynamodb#1.105.0 os/macos#20 md/x86_64 lang/ruby#3.2.3
224
+ md/3.2.3 cfg/retry-mode#legacy
225
+ Host:
226
+ - localhost:8000
227
+ X-Amz-Date:
228
+ - 20240513T221654Z
229
+ X-Amz-Content-Sha256:
230
+ - 861742c900d1730c7df19f7946fa6aac3875ce336013c8c99084372c1dab4405
231
+ Authorization:
232
+ - AWS4-HMAC-SHA256 Credential=key/20240513/us-east-1/dynamodb/aws4_request,
233
+ SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date;x-amz-target,
234
+ Signature=ef7169d848223d72e60f810eab3ed7d6bb1ae25372b898fd796ff3a26c4dd70e
235
+ Content-Length:
236
+ - '223'
237
+ Accept:
238
+ - "*/*"
239
+ response:
240
+ status:
241
+ code: 200
242
+ message: OK
243
+ headers:
244
+ Date:
245
+ - Mon, 13 May 2024 22:16:54 GMT
246
+ X-Amzn-Requestid:
247
+ - 451f0c47-2990-42e2-a056-09def02719c8
248
+ Content-Type:
249
+ - application/x-amz-json-1.0
250
+ X-Amz-Crc32:
251
+ - '1919856377'
252
+ Content-Length:
253
+ - '102'
254
+ Server:
255
+ - Jetty(11.0.17)
256
+ body:
257
+ encoding: UTF-8
258
+ string: '{"Items":[{"user_id":{"S":"hguzman10@gmail.com"},"car_id":{"S":"UVX455"}}],"Count":1,"ScannedCount":1}'
259
+ recorded_at: Mon, 13 May 2024 22:16:54 GMT
260
+ - request:
261
+ method: post
262
+ uri: http://localhost:8000/
263
+ body:
264
+ encoding: UTF-8
265
+ string: '{"TableName":"cars","Key":{"id":{"S":"UVX455"}}}'
266
+ headers:
267
+ Accept-Encoding:
268
+ - ''
269
+ Content-Type:
270
+ - application/x-amz-json-1.0
271
+ X-Amz-Target:
272
+ - DynamoDB_20120810.GetItem
273
+ User-Agent:
274
+ - aws-sdk-ruby3/3.191.3 ua/2.0 api/dynamodb#1.105.0 os/macos#20 md/x86_64 lang/ruby#3.2.3
275
+ md/3.2.3 cfg/retry-mode#legacy
276
+ Host:
277
+ - localhost:8000
278
+ X-Amz-Date:
279
+ - 20240513T221654Z
280
+ X-Amz-Content-Sha256:
281
+ - 53644a2bbab903704867eb87df0fdfe6dd8cb8ac9e1dae5715033d0f636fd592
282
+ Authorization:
283
+ - AWS4-HMAC-SHA256 Credential=key/20240513/us-east-1/dynamodb/aws4_request,
284
+ SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date;x-amz-target,
285
+ Signature=1a726edf9229b92796291ec3955d631f15042e898d2cdd1af503eb97c941d9fe
286
+ Content-Length:
287
+ - '48'
288
+ Accept:
289
+ - "*/*"
290
+ response:
291
+ status:
292
+ code: 200
293
+ message: OK
294
+ headers:
295
+ Date:
296
+ - Mon, 13 May 2024 22:16:54 GMT
297
+ X-Amzn-Requestid:
298
+ - 9d01d52e-6a41-48a4-99ed-fda216f6dd30
299
+ Content-Type:
300
+ - application/x-amz-json-1.0
301
+ X-Amz-Crc32:
302
+ - '590923779'
303
+ Content-Length:
304
+ - '149'
305
+ Server:
306
+ - Jetty(11.0.17)
307
+ body:
308
+ encoding: UTF-8
309
+ string: '{"Item":{"marca":{"S":"Chvrolet"},"created_at":{"S":"2024-05-07T14:09:25-05:00"},"id":{"S":"UVX455"},"updated_at":{"S":"2024-05-07T14:09:25-05:00"}}}'
310
+ recorded_at: Mon, 13 May 2024 22:16:54 GMT
311
+ recorded_with: VCR 6.2.0
@@ -0,0 +1,156 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://localhost:8000/
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"TableName":"cars","Key":{"id":{"S":"UVX455"}}}'
9
+ headers:
10
+ Accept-Encoding:
11
+ - ''
12
+ Content-Type:
13
+ - application/x-amz-json-1.0
14
+ X-Amz-Target:
15
+ - DynamoDB_20120810.GetItem
16
+ User-Agent:
17
+ - aws-sdk-ruby3/3.191.3 ua/2.0 api/dynamodb#1.105.0 os/macos#20 md/x86_64 lang/ruby#3.2.3
18
+ md/3.2.3 cfg/retry-mode#legacy
19
+ Host:
20
+ - localhost:8000
21
+ X-Amz-Date:
22
+ - 20240512T011502Z
23
+ X-Amz-Content-Sha256:
24
+ - 53644a2bbab903704867eb87df0fdfe6dd8cb8ac9e1dae5715033d0f636fd592
25
+ Authorization:
26
+ - AWS4-HMAC-SHA256 Credential=key/20240512/us-east-1/dynamodb/aws4_request,
27
+ SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date;x-amz-target,
28
+ Signature=22c32bafc8b7e925c8e531160020d4bd9246b0add5aac561884d4868a45967c6
29
+ Content-Length:
30
+ - '48'
31
+ Accept:
32
+ - "*/*"
33
+ response:
34
+ status:
35
+ code: 200
36
+ message: OK
37
+ headers:
38
+ Date:
39
+ - Sun, 12 May 2024 01:15:02 GMT
40
+ X-Amzn-Requestid:
41
+ - fb6cd7bb-8417-40b9-803c-6d2b4935d19d
42
+ Content-Type:
43
+ - application/x-amz-json-1.0
44
+ X-Amz-Crc32:
45
+ - '590923779'
46
+ Content-Length:
47
+ - '149'
48
+ Server:
49
+ - Jetty(11.0.17)
50
+ body:
51
+ encoding: UTF-8
52
+ string: '{"Item":{"marca":{"S":"Chvrolet"},"created_at":{"S":"2024-05-07T14:09:25-05:00"},"id":{"S":"UVX455"},"updated_at":{"S":"2024-05-07T14:09:25-05:00"}}}'
53
+ recorded_at: Sun, 12 May 2024 01:15:02 GMT
54
+ - request:
55
+ method: post
56
+ uri: http://localhost:8000/
57
+ body:
58
+ encoding: UTF-8
59
+ string: '{"TableName":"insurances","KeyConditionExpression":"#car_id = :car_id","ExpressionAttributeNames":{"#car_id":"car_id"},"IndexName":"car_id_index","ExpressionAttributeValues":{":car_id":{"S":"UVX455"}}}'
60
+ headers:
61
+ Accept-Encoding:
62
+ - ''
63
+ Content-Type:
64
+ - application/x-amz-json-1.0
65
+ X-Amz-Target:
66
+ - DynamoDB_20120810.Query
67
+ User-Agent:
68
+ - aws-sdk-ruby3/3.191.3 ua/2.0 api/dynamodb#1.105.0 os/macos#20 md/x86_64 lang/ruby#3.2.3
69
+ md/3.2.3 cfg/retry-mode#legacy
70
+ Host:
71
+ - localhost:8000
72
+ X-Amz-Date:
73
+ - 20240512T011502Z
74
+ X-Amz-Content-Sha256:
75
+ - fac478ef4d5e254f316f0e0816ee2d7598517ef6a29e429ca939dcd7c4d3f78b
76
+ Authorization:
77
+ - AWS4-HMAC-SHA256 Credential=key/20240512/us-east-1/dynamodb/aws4_request,
78
+ SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date;x-amz-target,
79
+ Signature=c4472ed1a979116134d818aa3ae37edc69eda0ebab8e6acad784dc5c22b169df
80
+ Content-Length:
81
+ - '201'
82
+ Accept:
83
+ - "*/*"
84
+ response:
85
+ status:
86
+ code: 200
87
+ message: OK
88
+ headers:
89
+ Date:
90
+ - Sun, 12 May 2024 01:15:02 GMT
91
+ X-Amzn-Requestid:
92
+ - dd77fd3a-5472-4e46-9afb-f1ee622a9349
93
+ Content-Type:
94
+ - application/x-amz-json-1.0
95
+ X-Amz-Crc32:
96
+ - '2864220309'
97
+ Content-Length:
98
+ - '110'
99
+ Server:
100
+ - Jetty(11.0.17)
101
+ body:
102
+ encoding: UTF-8
103
+ string: '{"Items":[{"name":{"S":"Colcerautos"},"car_id":{"S":"UVX455"},"id":{"S":"12345"}}],"Count":1,"ScannedCount":1}'
104
+ recorded_at: Sun, 12 May 2024 01:15:02 GMT
105
+ - request:
106
+ method: post
107
+ uri: http://localhost:8000/
108
+ body:
109
+ encoding: UTF-8
110
+ string: '{"TableName":"insurances","Item":{"name":{"S":"fasecolda"},"car_id":{"S":"UVX455"},"id":{"S":"9dad2f9c-5351-4205-87a4-afacc5a3216a"},"created_at":{"S":"2024-05-11T20:15:02-05:00"},"updated_at":{"S":"2024-05-11T20:15:02-05:00"}}}'
111
+ headers:
112
+ Accept-Encoding:
113
+ - ''
114
+ Content-Type:
115
+ - application/x-amz-json-1.0
116
+ X-Amz-Target:
117
+ - DynamoDB_20120810.PutItem
118
+ User-Agent:
119
+ - aws-sdk-ruby3/3.191.3 ua/2.0 api/dynamodb#1.105.0 os/macos#20 md/x86_64 lang/ruby#3.2.3
120
+ md/3.2.3 cfg/retry-mode#legacy
121
+ Host:
122
+ - localhost:8000
123
+ X-Amz-Date:
124
+ - 20240512T011502Z
125
+ X-Amz-Content-Sha256:
126
+ - 512e130948e11b8ca0fa5135e9b657889bb3dc6442626447583c4ea913c0417d
127
+ Authorization:
128
+ - AWS4-HMAC-SHA256 Credential=key/20240512/us-east-1/dynamodb/aws4_request,
129
+ SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date;x-amz-target,
130
+ Signature=b4d7ede66c516d2304128b0323180b040265c3c57dedafceab5de37d8aaef83c
131
+ Content-Length:
132
+ - '228'
133
+ Accept:
134
+ - "*/*"
135
+ response:
136
+ status:
137
+ code: 200
138
+ message: OK
139
+ headers:
140
+ Date:
141
+ - Sun, 12 May 2024 01:15:02 GMT
142
+ X-Amzn-Requestid:
143
+ - b754c058-4015-474b-8756-475edec657ac
144
+ Content-Type:
145
+ - application/x-amz-json-1.0
146
+ X-Amz-Crc32:
147
+ - '2745614147'
148
+ Content-Length:
149
+ - '2'
150
+ Server:
151
+ - Jetty(11.0.17)
152
+ body:
153
+ encoding: UTF-8
154
+ string: "{}"
155
+ recorded_at: Sun, 12 May 2024 01:15:02 GMT
156
+ recorded_with: VCR 6.2.0
@@ -0,0 +1,105 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://localhost:8000/
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"TableName":"cars","Key":{"id":{"S":"UVX455"}}}'
9
+ headers:
10
+ Accept-Encoding:
11
+ - ''
12
+ Content-Type:
13
+ - application/x-amz-json-1.0
14
+ X-Amz-Target:
15
+ - DynamoDB_20120810.GetItem
16
+ User-Agent:
17
+ - aws-sdk-ruby3/3.191.3 ua/2.0 api/dynamodb#1.105.0 os/macos#20 md/x86_64 lang/ruby#3.2.3
18
+ md/3.2.3 cfg/retry-mode#legacy
19
+ Host:
20
+ - localhost:8000
21
+ X-Amz-Date:
22
+ - 20240512T004358Z
23
+ X-Amz-Content-Sha256:
24
+ - 53644a2bbab903704867eb87df0fdfe6dd8cb8ac9e1dae5715033d0f636fd592
25
+ Authorization:
26
+ - AWS4-HMAC-SHA256 Credential=key/20240512/us-east-1/dynamodb/aws4_request,
27
+ SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date;x-amz-target,
28
+ Signature=e4513e23bf93211ab065a785f50374cbff2f6c9577bf2e11243f94aacc525c43
29
+ Content-Length:
30
+ - '48'
31
+ Accept:
32
+ - "*/*"
33
+ response:
34
+ status:
35
+ code: 200
36
+ message: OK
37
+ headers:
38
+ Date:
39
+ - Sun, 12 May 2024 00:43:58 GMT
40
+ X-Amzn-Requestid:
41
+ - 4d01cd81-bd7e-4ece-882e-eb02e18115d6
42
+ Content-Type:
43
+ - application/x-amz-json-1.0
44
+ X-Amz-Crc32:
45
+ - '590923779'
46
+ Content-Length:
47
+ - '149'
48
+ Server:
49
+ - Jetty(11.0.17)
50
+ body:
51
+ encoding: UTF-8
52
+ string: '{"Item":{"marca":{"S":"Chvrolet"},"created_at":{"S":"2024-05-07T14:09:25-05:00"},"id":{"S":"UVX455"},"updated_at":{"S":"2024-05-07T14:09:25-05:00"}}}'
53
+ recorded_at: Sun, 12 May 2024 00:43:58 GMT
54
+ - request:
55
+ method: post
56
+ uri: http://localhost:8000/
57
+ body:
58
+ encoding: UTF-8
59
+ string: '{"TableName":"insurances","KeyConditionExpression":"#car_id = :car_id","ExpressionAttributeNames":{"#car_id":"car_id"},"IndexName":"car_id_index","ExpressionAttributeValues":{":car_id":{"S":"UVX455"}}}'
60
+ headers:
61
+ Accept-Encoding:
62
+ - ''
63
+ Content-Type:
64
+ - application/x-amz-json-1.0
65
+ X-Amz-Target:
66
+ - DynamoDB_20120810.Query
67
+ User-Agent:
68
+ - aws-sdk-ruby3/3.191.3 ua/2.0 api/dynamodb#1.105.0 os/macos#20 md/x86_64 lang/ruby#3.2.3
69
+ md/3.2.3 cfg/retry-mode#legacy
70
+ Host:
71
+ - localhost:8000
72
+ X-Amz-Date:
73
+ - 20240512T004358Z
74
+ X-Amz-Content-Sha256:
75
+ - fac478ef4d5e254f316f0e0816ee2d7598517ef6a29e429ca939dcd7c4d3f78b
76
+ Authorization:
77
+ - AWS4-HMAC-SHA256 Credential=key/20240512/us-east-1/dynamodb/aws4_request,
78
+ SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date;x-amz-target,
79
+ Signature=5e3fd77ef50b4a48f37c0f2cd6c0f0f34dc4072193bca4773a45d1520e7646c1
80
+ Content-Length:
81
+ - '201'
82
+ Accept:
83
+ - "*/*"
84
+ response:
85
+ status:
86
+ code: 200
87
+ message: OK
88
+ headers:
89
+ Date:
90
+ - Sun, 12 May 2024 00:43:58 GMT
91
+ X-Amzn-Requestid:
92
+ - d7d20e79-f124-424b-b7cb-18741588e97f
93
+ Content-Type:
94
+ - application/x-amz-json-1.0
95
+ X-Amz-Crc32:
96
+ - '2864220309'
97
+ Content-Length:
98
+ - '110'
99
+ Server:
100
+ - Jetty(11.0.17)
101
+ body:
102
+ encoding: UTF-8
103
+ string: '{"Items":[{"name":{"S":"Colcerautos"},"car_id":{"S":"UVX455"},"id":{"S":"12345"}}],"Count":1,"ScannedCount":1}'
104
+ recorded_at: Sun, 12 May 2024 00:43:58 GMT
105
+ recorded_with: VCR 6.2.0