Skip to content

Commit 9f52bc1

Browse files
committed
test for nulled & default fields
1 parent 7cb9d67 commit 9f52bc1

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

Diff for: elasticgit/commands/tests/test_avro.py

+16-2
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,7 @@ class Foo(models.Model):
391391

392392
class TestAvroDataWriter(ToolBaseTest):
393393

394-
def assertBinaryRoundTrip(self, model_class, data):
394+
def binary_roundtrip(self, model_class, data):
395395
model = model_class(data)
396396
schema_dumper = self.mk_schema_dumper()
397397
schema = avro.schema.parse(schema_dumper.dump_schema(model_class))
@@ -404,7 +404,11 @@ def assertBinaryRoundTrip(self, model_class, data):
404404
open(file_name, 'rb'),
405405
DatumReader(readers_schema=schema)) as reader:
406406
[row] = reader
407-
self.assertEqual(model, model_class(row))
407+
return row
408+
409+
def assertBinaryRoundTrip(self, model_class, data):
410+
round_tripped = self.binary_roundtrip(model_class, data)
411+
self.assertEqual(model_class(data), model_class(round_tripped))
408412

409413
def test_empty_model(self):
410414

@@ -431,3 +435,13 @@ class Foo(models.Model):
431435

432436
self.assertBinaryRoundTrip(
433437
Foo, {'dict_': {'int': 1, 'text': 'texts'}})
438+
439+
def test_null_fields(self):
440+
class Foo(models.Model):
441+
name = models.TextField('name')
442+
age = models.IntegerField('age', default=5)
443+
444+
data = self.binary_roundtrip(Foo, {})
445+
model = Foo(data)
446+
self.assertEqual(model.age, 5)
447+
self.assertEqual(model.name, None)

0 commit comments

Comments
 (0)