def get_data_values(self): # Data values list_value = ListValue() list_value.add_all([IntegerValue(val) for val in range(1,15)]) data_values = [ VoidValue(), IntegerValue(3), DoubleValue(decimal.Decimal('7.2')), StringValue('blah'), SecretValue(), BooleanValue(True), BlobValue(b"a blob"), BlobValue(b"0\x82\x04\x00"), list_value, OptionalValue(), OptionalValue(IntegerValue(7)), StructValue('name'), self.get_struct_value(), self.get_error_value(), ] struct_value = StructValue('struct') for idx, data_val in enumerate(data_values): struct_value.set_field(str(idx), data_val) data_values.append(struct_value) return data_values
def test_error_value_as_data_value(self): ev = make_error_value_from_msgs(self.error_def, *self.multiple_messages) self.assertTrue(isinstance(ev, StructValue)) self.assertEqual(self.error_name, ev.name) self.assertFalse(ev.get_field_names() is None) self.assertEqual(2, len(ev.get_field_names())) self.assertTrue('messages' in ev.get_field_names()) msg_struct1 = StructValue('localizable_message') msg_struct1.set_field('id', StringValue(self.message1.id)) msg_struct1.set_field('default_message', StringValue(self.message1.def_msg)) args_list = ListValue() args_list.add_all((StringValue(s) for s in self.message1.args)) msg_struct1.set_field('args', args_list) msg_struct2 = StructValue('localizable_message') msg_struct2.set_field('id', StringValue(self.message2.id)) msg_struct2.set_field('default_message', StringValue(self.message2.def_msg)) msg_struct2.set_field('args', ListValue()) msg_struct3 = StructValue('localizable_message') msg_struct3.set_field('id', StringValue(self.message3.id)) msg_struct3.set_field('default_message', StringValue(self.message3.def_msg)) msg_struct3.set_field('args', ListValue()) messages = ListValue() messages.add_all([msg_struct1, msg_struct2, msg_struct3]) expected_data_value = ev = make_error_value_from_msgs(self.error_def) expected_data_value.set_field('messages', messages) self.assertEqual(expected_data_value, ev)