deimos-ruby 2.0.1 → 2.0.2

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.
@@ -3,7 +3,6 @@
3
3
  describe Deimos::ActiveRecordProducer do
4
4
 
5
5
  include_context 'with widgets'
6
- include_context 'with widget_with_union_types'
7
6
 
8
7
  prepend_before(:each) do
9
8
  producer_class = Class.new(Deimos::ActiveRecordProducer)
@@ -41,12 +40,6 @@ describe Deimos::ActiveRecordProducer do
41
40
  end
42
41
 
43
42
  stub_const('MyProducerWithPostProcess', producer_class)
44
-
45
- producer_class = Class.new(Deimos::ActiveRecordProducer) do
46
- record_class WidgetWithUnionType
47
- end
48
- stub_const('MyProducerWithUnionType', producer_class)
49
-
50
43
  Karafka::App.routes.redraw do
51
44
  topic 'my-topic' do
52
45
  schema 'MySchema'
@@ -78,13 +71,6 @@ describe Deimos::ActiveRecordProducer do
78
71
  key_config none: true
79
72
  producer_class MyProducerWithPostProcess
80
73
  end
81
- topic 'my-topic-with-union-type' do
82
- schema 'MySchemaWithUnionType'
83
- namespace 'com.my-namespace'
84
- key_config none: true
85
- producer_class MyProducerWithUnionType
86
- end
87
-
88
74
  end
89
75
 
90
76
  end
@@ -104,98 +90,6 @@ describe Deimos::ActiveRecordProducer do
104
90
  expect('my-topic').to have_sent(test_id: 'abc', some_int: 3)
105
91
  end
106
92
 
107
- it 'should coerce values for a UnionSchema' do
108
- MyProducerWithUnionType.send_event(WidgetWithUnionType.new(
109
- test_id: "abc",
110
- test_long: 399999,
111
- test_union_type: %w(hello world)
112
- ))
113
-
114
- expect('my-topic-with-union-type').to have_sent(
115
- test_id: "abc",
116
- test_long: 399999,
117
- test_union_type: %w(hello world)
118
- )
119
-
120
- MyProducerWithUnionType.send_event(WidgetWithUnionType.new(
121
- test_id: "abc",
122
- test_long: 399999,
123
- test_union_type: {
124
- record1_map:{ a:9999, b:234 },
125
- record1_id: 567
126
- }
127
- ))
128
-
129
- expect('my-topic-with-union-type').to have_sent(
130
- test_id: "abc",
131
- test_long: 399999,
132
- test_union_type:{
133
- record1_map:{ a:9999, b:234 },
134
- record1_id: 567
135
- }
136
- )
137
-
138
- MyProducerWithUnionType.send_event(WidgetWithUnionType.new(
139
- test_id: "abc",
140
- test_long: 399999,
141
- test_union_type: 1010101
142
- ))
143
-
144
- expect('my-topic-with-union-type').to have_sent(
145
- test_id: "abc",
146
- test_long: 399999,
147
- test_union_type:1010101
148
- )
149
-
150
- MyProducerWithUnionType.send_event(WidgetWithUnionType.new(
151
- test_id: "abc",
152
- test_long: 399999,
153
- test_union_type: {
154
- record2_id: "hello world"
155
- }
156
- ))
157
-
158
- expect('my-topic-with-union-type').to have_sent(
159
- test_id: "abc",
160
- test_long: 399999,
161
- test_union_type: {
162
- record2_id: "hello world"
163
- }
164
- )
165
-
166
- MyProducerWithUnionType.send_event(WidgetWithUnionType.new(
167
- test_id: "abc",
168
- test_long: 399999,
169
- test_union_type: {
170
- record3_id:10.1010
171
- }
172
- ))
173
-
174
- expect('my-topic-with-union-type').to have_sent(
175
- test_id: "abc",
176
- test_long: 399999,
177
- test_union_type: {
178
- record3_id:10.1010
179
- }
180
- )
181
-
182
- MyProducerWithUnionType.send_event(WidgetWithUnionType.new(
183
- test_id: "abc",
184
- test_long: 399999,
185
- test_union_type: {
186
- record4_id:101010
187
- }
188
- ))
189
-
190
- expect('my-topic-with-union-type').to have_sent(
191
- test_id: "abc",
192
- test_long: 399999,
193
- test_union_type: {
194
- record4_id:101010
195
- }
196
- )
197
- end
198
-
199
93
  it 'should coerce values' do
200
94
  MyProducer.send_event(Widget.new(test_id: 'abc', some_int: '3'))
201
95
  MyProducer.send_event(Widget.new(test_id: 'abc', some_int: 4.5))
@@ -215,11 +109,11 @@ describe Deimos::ActiveRecordProducer do
215
109
  widget = Widget.create!(test_id: 'abc2', some_int: 3)
216
110
  MyProducerWithID.send_event({id: widget.id, test_id: 'abc2', some_int: 3})
217
111
  expect('my-topic-with-id').to have_sent(
218
- test_id: 'abc2',
219
- some_int: 3,
220
- message_id: 'generated_id',
221
- timestamp: anything
222
- )
112
+ test_id: 'abc2',
113
+ some_int: 3,
114
+ message_id: 'generated_id',
115
+ timestamp: anything
116
+ )
223
117
  end
224
118
 
225
119
  it 'should post process the batch of records in #send_events' do
@@ -999,63 +999,6 @@ module Schemas
999
999
  end
1000
1000
 
1001
1001
 
1002
- spec/app/lib/schema_classes/my_schema_with_union_type.rb:
1003
- # frozen_string_literal: true
1004
-
1005
- # This file is autogenerated by Deimos, Do NOT modify
1006
- module Schemas
1007
- ### Primary Schema Class ###
1008
- # Autogenerated Schema for Record at com.my-namespace.MySchemaWithUnionType
1009
- class MySchemaWithUnionType < Deimos::SchemaClass::Record
1010
-
1011
- ### Attribute Readers ###
1012
- # @return [nil, Record1, Record2, Record3, Record4, Integer, Array<String>]
1013
- attr_reader :test_union_type
1014
-
1015
- ### Attribute Accessors ###
1016
- # @return [String]
1017
- attr_accessor :test_id
1018
- # @return [nil, Integer]
1019
- attr_accessor :test_long
1020
-
1021
- ### Attribute Writers ###
1022
- # @return [nil, Record1, Record2, Record3, Record4, Integer, Array<String>]
1023
- def test_union_type=(value)
1024
- @test_union_type = Record1.initialize_from_value(value)
1025
- end
1026
-
1027
- # @override
1028
- def initialize(test_id: "",
1029
- test_long: nil,
1030
- test_union_type: nil)
1031
- super
1032
- self.test_id = test_id
1033
- self.test_long = test_long
1034
- self.test_union_type = test_union_type
1035
- end
1036
-
1037
- # @override
1038
- def schema
1039
- 'MySchemaWithUnionType'
1040
- end
1041
-
1042
- # @override
1043
- def namespace
1044
- 'com.my-namespace'
1045
- end
1046
-
1047
- # @override
1048
- def as_json(_opts={})
1049
- {
1050
- 'test_id' => @test_id,
1051
- 'test_long' => @test_long,
1052
- 'test_union_type' => @test_union_type&.as_json
1053
- }
1054
- end
1055
- end
1056
- end
1057
-
1058
-
1059
1002
  spec/app/lib/schema_classes/my_schema_with_unique_id.rb:
1060
1003
  # frozen_string_literal: true
1061
1004
 
@@ -1154,167 +1097,6 @@ module Schemas
1154
1097
  end
1155
1098
 
1156
1099
 
1157
- spec/app/lib/schema_classes/record1.rb:
1158
- # frozen_string_literal: true
1159
-
1160
- # This file is autogenerated by Deimos, Do NOT modify
1161
- module Schemas
1162
- ### Primary Schema Class ###
1163
- # Autogenerated Schema for Record at com.flipp.content.Record1
1164
- class Record1 < Deimos::SchemaClass::Record
1165
-
1166
- ### Attribute Accessors ###
1167
- # @return [Hash<String, Integer>]
1168
- attr_accessor :record1_map
1169
- # @return [Integer]
1170
- attr_accessor :record1_id
1171
-
1172
- # @override
1173
- def initialize(record1_map: {},
1174
- record1_id: 0)
1175
- super
1176
- self.record1_map = record1_map
1177
- self.record1_id = record1_id
1178
- end
1179
-
1180
- # @override
1181
- def schema
1182
- 'Record1'
1183
- end
1184
-
1185
- # @override
1186
- def namespace
1187
- 'com.flipp.content'
1188
- end
1189
-
1190
- # @override
1191
- def as_json(_opts={})
1192
- {
1193
- 'record1_map' => @record1_map,
1194
- 'record1_id' => @record1_id
1195
- }
1196
- end
1197
- end
1198
- end
1199
-
1200
-
1201
- spec/app/lib/schema_classes/record2.rb:
1202
- # frozen_string_literal: true
1203
-
1204
- # This file is autogenerated by Deimos, Do NOT modify
1205
- module Schemas
1206
- ### Primary Schema Class ###
1207
- # Autogenerated Schema for Record at com.flipp.content.Record2
1208
- class Record2 < Deimos::SchemaClass::Record
1209
-
1210
- ### Attribute Accessors ###
1211
- # @return [String]
1212
- attr_accessor :record2_id
1213
-
1214
- # @override
1215
- def initialize(record2_id: "")
1216
- super
1217
- self.record2_id = record2_id
1218
- end
1219
-
1220
- # @override
1221
- def schema
1222
- 'Record2'
1223
- end
1224
-
1225
- # @override
1226
- def namespace
1227
- 'com.flipp.content'
1228
- end
1229
-
1230
- # @override
1231
- def as_json(_opts={})
1232
- {
1233
- 'record2_id' => @record2_id
1234
- }
1235
- end
1236
- end
1237
- end
1238
-
1239
-
1240
- spec/app/lib/schema_classes/record3.rb:
1241
- # frozen_string_literal: true
1242
-
1243
- # This file is autogenerated by Deimos, Do NOT modify
1244
- module Schemas
1245
- ### Primary Schema Class ###
1246
- # Autogenerated Schema for Record at com.flipp.content.Record3
1247
- class Record3 < Deimos::SchemaClass::Record
1248
-
1249
- ### Attribute Accessors ###
1250
- # @return [Float]
1251
- attr_accessor :record3_id
1252
-
1253
- # @override
1254
- def initialize(record3_id: 0.0)
1255
- super
1256
- self.record3_id = record3_id
1257
- end
1258
-
1259
- # @override
1260
- def schema
1261
- 'Record3'
1262
- end
1263
-
1264
- # @override
1265
- def namespace
1266
- 'com.flipp.content'
1267
- end
1268
-
1269
- # @override
1270
- def as_json(_opts={})
1271
- {
1272
- 'record3_id' => @record3_id
1273
- }
1274
- end
1275
- end
1276
- end
1277
-
1278
-
1279
- spec/app/lib/schema_classes/record4.rb:
1280
- # frozen_string_literal: true
1281
-
1282
- # This file is autogenerated by Deimos, Do NOT modify
1283
- module Schemas
1284
- ### Primary Schema Class ###
1285
- # Autogenerated Schema for Record at com.flipp.content.Record4
1286
- class Record4 < Deimos::SchemaClass::Record
1287
-
1288
- ### Attribute Accessors ###
1289
- # @return [Integer]
1290
- attr_accessor :record4_id
1291
-
1292
- # @override
1293
- def initialize(record4_id: 0)
1294
- super
1295
- self.record4_id = record4_id
1296
- end
1297
-
1298
- # @override
1299
- def schema
1300
- 'Record4'
1301
- end
1302
-
1303
- # @override
1304
- def namespace
1305
- 'com.flipp.content'
1306
- end
1307
-
1308
- # @override
1309
- def as_json(_opts={})
1310
- {
1311
- 'record4_id' => @record4_id
1312
- }
1313
- end
1314
- end
1315
- end
1316
-
1317
-
1318
1100
  spec/app/lib/schema_classes/update_request.rb:
1319
1101
  # frozen_string_literal: true
1320
1102
 
@@ -1059,194 +1059,6 @@ module Schemas
1059
1059
  end
1060
1060
 
1061
1061
 
1062
- spec/app/lib/schema_classes/my_schema_with_union_type.rb:
1063
- # frozen_string_literal: true
1064
-
1065
- # This file is autogenerated by Deimos, Do NOT modify
1066
- module Schemas
1067
- ### Primary Schema Class ###
1068
- # Autogenerated Schema for Record at com.my-namespace.MySchemaWithUnionType
1069
- class MySchemaWithUnionType < Deimos::SchemaClass::Record
1070
-
1071
- ### Secondary Schema Classes ###
1072
- # Autogenerated Schema for Record at com.flipp.content.Record1
1073
- class Record1 < Deimos::SchemaClass::Record
1074
-
1075
- ### Attribute Accessors ###
1076
- # @return [Hash<String, Integer>]
1077
- attr_accessor :record1_map
1078
- # @return [Integer]
1079
- attr_accessor :record1_id
1080
-
1081
- # @override
1082
- def initialize(record1_map: {},
1083
- record1_id: 0)
1084
- super
1085
- self.record1_map = record1_map
1086
- self.record1_id = record1_id
1087
- end
1088
-
1089
- # @override
1090
- def schema
1091
- 'Record1'
1092
- end
1093
-
1094
- # @override
1095
- def namespace
1096
- 'com.flipp.content'
1097
- end
1098
-
1099
- # @override
1100
- def as_json(_opts={})
1101
- {
1102
- 'record1_map' => @record1_map,
1103
- 'record1_id' => @record1_id
1104
- }
1105
- end
1106
- end
1107
-
1108
- # Autogenerated Schema for Record at com.flipp.content.Record2
1109
- class Record2 < Deimos::SchemaClass::Record
1110
-
1111
- ### Attribute Accessors ###
1112
- # @return [String]
1113
- attr_accessor :record2_id
1114
-
1115
- # @override
1116
- def initialize(record2_id: "")
1117
- super
1118
- self.record2_id = record2_id
1119
- end
1120
-
1121
- # @override
1122
- def schema
1123
- 'Record2'
1124
- end
1125
-
1126
- # @override
1127
- def namespace
1128
- 'com.flipp.content'
1129
- end
1130
-
1131
- # @override
1132
- def as_json(_opts={})
1133
- {
1134
- 'record2_id' => @record2_id
1135
- }
1136
- end
1137
- end
1138
-
1139
- # Autogenerated Schema for Record at com.flipp.content.Record3
1140
- class Record3 < Deimos::SchemaClass::Record
1141
-
1142
- ### Attribute Accessors ###
1143
- # @return [Float]
1144
- attr_accessor :record3_id
1145
-
1146
- # @override
1147
- def initialize(record3_id: 0.0)
1148
- super
1149
- self.record3_id = record3_id
1150
- end
1151
-
1152
- # @override
1153
- def schema
1154
- 'Record3'
1155
- end
1156
-
1157
- # @override
1158
- def namespace
1159
- 'com.flipp.content'
1160
- end
1161
-
1162
- # @override
1163
- def as_json(_opts={})
1164
- {
1165
- 'record3_id' => @record3_id
1166
- }
1167
- end
1168
- end
1169
-
1170
- # Autogenerated Schema for Record at com.flipp.content.Record4
1171
- class Record4 < Deimos::SchemaClass::Record
1172
-
1173
- ### Attribute Accessors ###
1174
- # @return [Integer]
1175
- attr_accessor :record4_id
1176
-
1177
- # @override
1178
- def initialize(record4_id: 0)
1179
- super
1180
- self.record4_id = record4_id
1181
- end
1182
-
1183
- # @override
1184
- def schema
1185
- 'Record4'
1186
- end
1187
-
1188
- # @override
1189
- def namespace
1190
- 'com.flipp.content'
1191
- end
1192
-
1193
- # @override
1194
- def as_json(_opts={})
1195
- {
1196
- 'record4_id' => @record4_id
1197
- }
1198
- end
1199
- end
1200
-
1201
-
1202
- ### Attribute Readers ###
1203
- # @return [nil, Record1, Record2, Record3, Record4, Integer, Array<String>]
1204
- attr_reader :test_union_type
1205
-
1206
- ### Attribute Accessors ###
1207
- # @return [String]
1208
- attr_accessor :test_id
1209
- # @return [nil, Integer]
1210
- attr_accessor :test_long
1211
-
1212
- ### Attribute Writers ###
1213
- # @return [nil, Record1, Record2, Record3, Record4, Integer, Array<String>]
1214
- def test_union_type=(value)
1215
- @test_union_type = Record1.initialize_from_value(value)
1216
- end
1217
-
1218
- # @override
1219
- def initialize(test_id: "",
1220
- test_long: nil,
1221
- test_union_type: nil)
1222
- super
1223
- self.test_id = test_id
1224
- self.test_long = test_long
1225
- self.test_union_type = test_union_type
1226
- end
1227
-
1228
- # @override
1229
- def schema
1230
- 'MySchemaWithUnionType'
1231
- end
1232
-
1233
- # @override
1234
- def namespace
1235
- 'com.my-namespace'
1236
- end
1237
-
1238
- # @override
1239
- def as_json(_opts={})
1240
- {
1241
- 'test_id' => @test_id,
1242
- 'test_long' => @test_long,
1243
- 'test_union_type' => @test_union_type&.as_json
1244
- }
1245
- end
1246
- end
1247
- end
1248
-
1249
-
1250
1062
  spec/app/lib/schema_classes/my_schema_with_unique_id.rb:
1251
1063
  # frozen_string_literal: true
1252
1064