Skip to content
Novus Examples
proto464 B

Protocol Buffers Schema (proto3)

A proto3 Protocol Buffers schema with messages, an enum, and a repeated field — for testing protobuf compilers (protoc), codegen, and schema tooling.

Preview — first 31 linesproto
syntax = "proto3";

package novus.example.v1;

// A tiny example schema for testing protobuf tooling and codegen.

message User {
  int64 id = 1;
  string name = 2;
  string email = 3;
  Role role = 4;
}

enum Role {
  ROLE_UNSPECIFIED = 0;
  ROLE_ADMIN = 1;
  ROLE_MEMBER = 2;
  ROLE_GUEST = 3;
}

message ListUsersRequest {
  int32 page = 1;
  int32 page_size = 2;
}

message ListUsersResponse {
  int32 page = 1;
  int32 total = 2;
  repeated User items = 3;
}

Specifications

Format
Protocol Buffers (proto3)
Messages
3
Enum
Role

What is a .proto file?

Proto files define Protocol Buffers schemas, Google's language-neutral interface definition language for serializing structured data. They declare typed messages, fields, and services that a compiler turns into efficient binary serialization code in many languages. They underpin gRPC and high-performance data interchange.

How to use this file

Use an example proto file to test schema parsers, code generation across languages, and gRPC service or message-definition tooling.

How to use this file for testing

“Protocol Buffers Schema (proto3)” is a deterministic Novus Examples fixture for API testing, Conversion testing. OpenAPI/Swagger specs, GraphQL SDL, JSON Schema, paginated and problem+json error payloads, and webhook samples — for testing API clients, mock servers, contract tests, and schema validators.

Documented properties for this file: 3 messages · Protocol Buffers (proto3). Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

Data fixtures document their exact quirks — delimiters, encodings, null handling, schema, and row counts — in the spec table. Point your parser or importer at the file and assert it handles the documented edge cases; clean and deliberately-messy siblings make before/after diffs straightforward.

Generated by generation/data_dev_fixtures.py. Free for any use, no attribution required — license.