Exemple #1
0
    def testMakeDescriptorWithUnsignedIntField(self):
        file_descriptor_proto = descriptor_pb2.FileDescriptorProto()
        file_descriptor_proto.name = 'Foo'
        message_type = file_descriptor_proto.message_type.add()
        message_type.name = file_descriptor_proto.name
        enum_type = message_type.enum_type.add()
        enum_type.name = 'FOO'
        enum_type_val = enum_type.value.add()
        enum_type_val.name = 'BAR'
        enum_type_val.number = 3
        field = message_type.field.add()
        field.number = 1
        field.name = 'uint64_field'
        field.label = descriptor.FieldDescriptor.LABEL_REQUIRED
        field.type = descriptor.FieldDescriptor.TYPE_UINT64
        enum_field = message_type.field.add()
        enum_field.number = 2
        enum_field.name = 'bar_field'
        enum_field.label = descriptor.FieldDescriptor.LABEL_REQUIRED
        enum_field.type = descriptor.FieldDescriptor.TYPE_ENUM
        enum_field.type_name = 'Foo.FOO'

        result = descriptor.MakeDescriptor(message_type)
        self.assertEqual(result.fields[0].cpp_type,
                         descriptor.FieldDescriptor.CPPTYPE_UINT64)
Exemple #2
0
    def testMakeDescriptorWithOptions(self):
        descriptor_proto = descriptor_pb2.DescriptorProto()
        aggregate_message = unittest_custom_options_pb2.AggregateMessage
        aggregate_message.DESCRIPTOR.CopyToProto(descriptor_proto)
        reformed_descriptor = descriptor.MakeDescriptor(descriptor_proto)

        options = reformed_descriptor.GetOptions()
        self.assertEqual(
            101, options.Extensions[unittest_custom_options_pb2.msgopt].i)
Exemple #3
0
def state():
    try:
        request_debug("Get state", request)
        mesos_handler = MesosHttp.get_mesos_handler()
        state_json = json.dumps({
            'version': mesos_handler.MESOS_VERSION,
            'cluster': 'urb-uge-cluster',
            'flags': {},
            'slaves': [],
            'frameworks': [],
            'completed_frameworks': [],
            'orphan_tasks': [],
            'unregistered_frameworks': []
        })
        if True:
            #        if request.is_json:
            resp = Response(state_json,
                            status=200,
                            mimetype="application/json")
        else:
            try:
                descriptor_proto = descriptor_pb2.DescriptorProto()
                descriptor_proto.name = "state"
                descriptor_proto.field.add(
                    name='version',
                    number=1,
                    type=descriptor_pb2.FieldDescriptorProto.TYPE_STRING,
                    label=descriptor_pb2.FieldDescriptorProto.LABEL_OPTIONAL)
                descriptor_proto.field.add(
                    name='cluster',
                    number=2,
                    type=descriptor_pb2.FieldDescriptorProto.TYPE_STRING,
                    label=descriptor_pb2.FieldDescriptorProto.LABEL_OPTIONAL)
                desc = descriptor.MakeDescriptor(descriptor_proto)
                clazz = reflection.MakeClass(desc)
                msg = clazz(version=mesos_handler.MESOS_VERSION,
                            cluster='urb-uge-cluster')
                ser_msg = msg.SerializeToString()
                logger.info("state content=%s" % ser_msg)
                #            msg = json_format.Parse(state_json, xxx_pb2.Event(), ignore_unknown_fields=False)
                resp = Response(ser_msg,
                                status=200,
                                mimetype="application/x-protobuf")
            except Exception as se:
                msg = "Exception: %s" % se
                logger.error(msg)
                return Response(msg, status=500)
        return resp
    except Exception as e:
        msg = "Exception handling: %s" % (request.url_rule, e)
        logger.error(msg)
        return Response(msg, status=500)
Exemple #4
0
 def testCamelcaseName(self):
     descriptor_proto = descriptor_pb2.DescriptorProto()
     descriptor_proto.name = 'Bar'
     names = ['foo_foo', 'FooBar', 'fooBaz', 'fooFoo', 'foobar']
     camelcase_names = ['fooFoo', 'fooBar', 'fooBaz', 'fooFoo', 'foobar']
     for index in range(len(names)):
         field = descriptor_proto.field.add()
         field.number = index + 1
         field.name = names[index]
     result = descriptor.MakeDescriptor(descriptor_proto)
     for index in range(len(camelcase_names)):
         self.assertEqual(result.fields[index].camelcase_name,
                          camelcase_names[index])
 def testMakeDescriptorWithUnsignedIntField(self):
   file_descriptor_proto = descriptor_pb2.FileDescriptorProto()
   file_descriptor_proto.name = 'Foo'
   message_type = file_descriptor_proto.message_type.add()
   message_type.name = file_descriptor_proto.name
   field = message_type.field.add()
   field.number = 1
   field.name = 'uint64_field'
   field.label = descriptor.FieldDescriptor.LABEL_REQUIRED
   field.type = descriptor.FieldDescriptor.TYPE_UINT64
   result = descriptor.MakeDescriptor(message_type)
   self.assertEqual(result.fields[0].cpp_type,
                    descriptor.FieldDescriptor.CPPTYPE_UINT64)
Exemple #6
0
 def testJsonName(self):
   descriptor_proto = descriptor_pb2.DescriptorProto()
   descriptor_proto.name = 'TestJsonName'
   names = ['field_name', 'fieldName', 'FieldName',
            '_field_name', 'FIELD_NAME', 'json_name']
   json_names = ['fieldName', 'fieldName', 'FieldName',
                 'FieldName', 'FIELDNAME', '@type']
   for index in range(len(names)):
     field = descriptor_proto.field.add()
     field.number = index + 1
     field.name = names[index]
   field.json_name = '@type'
   result = descriptor.MakeDescriptor(descriptor_proto)
   for index in range(len(json_names)):
     self.assertEqual(result.fields[index].json_name,
                      json_names[index])
Exemple #7
0
  def testMakeDescriptorWithNestedFields(self):
    file_descriptor_proto = descriptor_pb2.FileDescriptorProto()
    file_descriptor_proto.name = 'Foo2'
    message_type = file_descriptor_proto.message_type.add()
    message_type.name = file_descriptor_proto.name
    nested_type = message_type.nested_type.add()
    nested_type.name = 'Sub'
    enum_type = nested_type.enum_type.add()
    enum_type.name = 'FOO'
    enum_type_val = enum_type.value.add()
    enum_type_val.name = 'BAR'
    enum_type_val.number = 3
    field = message_type.field.add()
    field.number = 1
    field.name = 'uint64_field'
    field.label = descriptor.FieldDescriptor.LABEL_REQUIRED
    field.type = descriptor.FieldDescriptor.TYPE_UINT64
    field = message_type.field.add()
    field.number = 2
    field.name = 'nested_message_field'
    field.label = descriptor.FieldDescriptor.LABEL_REQUIRED
    field.type = descriptor.FieldDescriptor.TYPE_MESSAGE
    field.type_name = 'Sub'
    enum_field = nested_type.field.add()
    enum_field.number = 2
    enum_field.name = 'bar_field'
    enum_field.label = descriptor.FieldDescriptor.LABEL_REQUIRED
    enum_field.type = descriptor.FieldDescriptor.TYPE_ENUM
    enum_field.type_name = 'Foo2.Sub.FOO'

    result = descriptor.MakeDescriptor(message_type)
    self.assertEqual(result.fields[0].cpp_type,
                     descriptor.FieldDescriptor.CPPTYPE_UINT64)
    self.assertEqual(result.fields[1].cpp_type,
                     descriptor.FieldDescriptor.CPPTYPE_MESSAGE)
    self.assertEqual(result.fields[1].message_type.containing_type,
                     result)
    self.assertEqual(result.nested_types[0].fields[0].full_name,
                     'Foo2.Sub.bar_field')
    self.assertEqual(result.nested_types[0].fields[0].enum_type,
                     result.nested_types[0].enum_types[0])
    self.assertFalse(result.has_options)
    self.assertFalse(result.fields[0].has_options)
    if api_implementation.Type() == 'cpp':
      with self.assertRaises(AttributeError):
        result.fields[0].has_options = False