def test_isset_Error(self) -> None: e = UnusedError() # pyre-fixme[6]: Expected `HasIsSet[Variable[thrift.py3.types._T]]` for 1st # param but got `UnusedError`. self.assertFalse(Struct.isset(e).message) e = UnusedError(message="ACK") # pyre-fixme[6]: Expected `HasIsSet[Variable[thrift.py3.types._T]]` for 1st # param but got `UnusedError`. self.assertTrue(Struct.isset(e).message)
def test_isset_repr(self) -> None: serialized = b'{"name":"/dev/null","type":8}' file = deserialize(File, serialized, protocol=Protocol.JSON) self.assertEqual( "Struct.isset(<File>, name=True, permissions=False, type=True)", repr(Struct.isset(file)), ) self.assertEqual( "Struct.isset(<File>, name=True, permissions=False, type=True)", str(Struct.isset(file)), )
def test_optional_defaults(self) -> None: converted = to_py3_struct( types.OptionalDefaultsStruct, ttypes.OptionalDefaultsStruct(), ) # pyre-fixme[6]: Expected `HasIsSet[Variable[thrift.py3.types._T]]` for 1st # param but got `OptionalDefaultsStruct`. self.assertFalse(Struct.isset(converted).sillyString) # pyre-fixme[6]: Expected `HasIsSet[Variable[thrift.py3.types._T]]` for 1st # param but got `OptionalDefaultsStruct`. self.assertFalse(Struct.isset(converted).sillyColor)
def test_isset_Struct(self) -> None: serialized = b'{"name":"/dev/null","type":8}' file = deserialize(File, serialized, protocol=Protocol.JSON) self.assertTrue(Struct.isset(file).type) self.assertFalse(Struct.isset(file).permissions) # required fields are always set self.assertTrue(Struct.isset(file).name) serialized = b'{"name":"/dev/null"}' file = deserialize(File, serialized, protocol=Protocol.JSON) self.assertEqual(file.type, Kind.REGULAR) self.assertFalse(Struct.isset(file).type)
def test_isset_repr(self) -> None: serialized = b'{"name":"/dev/null","type":8}' file = deserialize(File, serialized, protocol=Protocol.JSON) self.assertEqual( "Struct.isset(<File>, name=True, permissions=False, type=True)", # pyre-fixme[6]: Expected `HasIsSet[Variable[thrift.py3.types._T]]` for # 1st param but got `File`. repr(Struct.isset(file)), ) self.assertEqual( "Struct.isset(<File>, name=True, permissions=False, type=True)", # pyre-fixme[6]: Expected `HasIsSet[Variable[thrift.py3.types._T]]` for # 1st param but got `File`. str(Struct.isset(file)), )
def test_update_invalid_nested_fields(self) -> None: n = Nested1(a=Nested2(b=Nested3(c=easy(val=42, name="foo")))) with self.assertRaises(ValueError): Struct.update_nested_field(n, {"": 0}) with self.assertRaises(ValueError): Struct.update_nested_field(n, {"e": 0}) with self.assertRaises(ValueError): Struct.update_nested_field(n, {"a.b.e": 0}) with self.assertRaises(ValueError): Struct.update_nested_field(n, {"a.e.f": 0})
def test_update_conflicting_nested_fields(self) -> None: n = Nested1(a=Nested2(b=Nested3(c=easy(val=42, name="foo")))) with self.assertRaises(ValueError): n = Struct.update_nested_field( n, { "a.b.c": easy(val=128), "a.b.c.val": 256, }, )
def test_isset_Struct(self) -> None: serialized = b'{"name":"/dev/null","type":8}' file = deserialize(File, serialized, protocol=Protocol.JSON) # pyre-fixme[6]: Expected `HasIsSet[Variable[thrift.py3.types._T]]` for 1st # param but got `File`. self.assertTrue(Struct.isset(file).type) # pyre-fixme[6]: Expected `HasIsSet[Variable[thrift.py3.types._T]]` for 1st # param but got `File`. self.assertFalse(Struct.isset(file).permissions) # required fields are always set # pyre-fixme[6]: Expected `HasIsSet[Variable[thrift.py3.types._T]]` for 1st # param but got `File`. self.assertTrue(Struct.isset(file).name) serialized = b'{"name":"/dev/null"}' file = deserialize(File, serialized, protocol=Protocol.JSON) self.assertEqual(file.type, Kind.REGULAR) # pyre-fixme[6]: Expected `HasIsSet[Variable[thrift.py3.types._T]]` for 1st # param but got `File`. self.assertFalse(Struct.isset(file).type)
def test_update_multiple_nested_fields(self) -> None: n = Nested1(a=Nested2(b=Nested3(c=easy(val=42, name="foo")))) n = Struct.update_nested_field( n, { "a.b.c.name": "bar", "a.b.c.val": 256, }, ) self.assertEqual(n.a.b.c.name, "bar") self.assertEqual(n.a.b.c.val, 256)
def test_isset_Error(self) -> None: e = UnusedError() self.assertFalse(Struct.isset(e).message) e = UnusedError(message="ACK") self.assertTrue(Struct.isset(e).message)
def test_isset_Union(self) -> None: i = Integers(large=2) with self.assertRaises(TypeError): Struct.isset(i).large
def test_isset_Union(self) -> None: i = Integers(large=2) with self.assertRaises(TypeError): # pyre-fixme[6]: Expected `HasIsSet[Variable[thrift.py3.types._T]]` for # 1st param but got `Integers`. Struct.isset(i).large
def test_update_nested_fields(self) -> None: n = Nested1(a=Nested2(b=Nested3(c=easy(val=42, name="foo")))) n = Struct.update_nested_field(n, {"a.b.c": easy(val=128)}) self.assertEqual(n.a.b.c.val, 128)