chromium/third_party/private_membership/src/internal/testing/regression_test_data/regression_test_data.proto

syntax = "proto3";

option optimize_for = LITE_RUNTIME;

package private_membership.rlwe;

import "private_membership_rlwe.proto";

// The regression test data consists of multiple test cases.
message PrivateMembershipRlweClientRegressionTestData {
  message TestCase {
    // Use case to check for the membership.
    RlweUseCase use_case = 1;

    // Plaintext id to check for the membership.
    RlwePlaintextId plaintext_id = 2;

    // EC commutative cipher key.
    bytes ec_cipher_key = 3;

    // Seed for PRNG seed generator.
    bytes seed = 4;

    // Expected OPRF request to be generated by the client.
    PrivateMembershipRlweOprfRequest expected_oprf_request = 5;

    // OPRF response to be supplied to the client.
    PrivateMembershipRlweOprfResponse oprf_response = 6;

    // Expected query request to be generated by the client.
    PrivateMembershipRlweQueryRequest expected_query_request = 7;

    // Query response to be supplied to the client.
    PrivateMembershipRlweQueryResponse query_response = 8;

    // Whether the plaintext id is expected to be a member.
    bool is_positive_membership_expected = 9;
  }
  repeated TestCase test_cases = 1;
}