subiquity.common.serialize: test that a certain style of embedding works
Some snapd APIs do this sort of thing. It works fine without code changes, luckily.
This commit is contained in:
parent
64acb295c9
commit
4b6e34454b
|
@ -208,6 +208,31 @@ class TestSerializer(CommonSerializerTests, unittest.TestCase):
|
||||||
self.assertSerialization(
|
self.assertSerialization(
|
||||||
Object, Object(1, 2), {"x": 1, "field-y": 2, "field-z": 0})
|
Object, Object(1, 2), {"x": 1, "field-y": 2, "field-z": 0})
|
||||||
|
|
||||||
|
def test_embedding(self):
|
||||||
|
|
||||||
|
@attr.s(auto_attribs=True)
|
||||||
|
class Base1:
|
||||||
|
x: str
|
||||||
|
|
||||||
|
@attr.s(auto_attribs=True)
|
||||||
|
class Base2:
|
||||||
|
b: Base1
|
||||||
|
|
||||||
|
@attr.s(auto_attribs=True)
|
||||||
|
class Derived1(Base1):
|
||||||
|
y: int
|
||||||
|
|
||||||
|
@attr.s(auto_attribs=True)
|
||||||
|
@attr.s(auto_attribs=True)
|
||||||
|
class Derived2(Base2):
|
||||||
|
b: Derived1
|
||||||
|
c: int
|
||||||
|
|
||||||
|
self.assertSerialization(
|
||||||
|
Derived2,
|
||||||
|
Derived2(b=Derived1(x="a", y=1), c=2),
|
||||||
|
{"b": {"x": "a", "y": 1}, "c": 2})
|
||||||
|
|
||||||
|
|
||||||
class TestCompactSerializer(CommonSerializerTests, unittest.TestCase):
|
class TestCompactSerializer(CommonSerializerTests, unittest.TestCase):
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue