# Path: e2e-test-server/e2e_test_server/constants.py
# INSTRUMENTING_MODULE_NAME = "opentelemetry-ops-e2e-test-server"
# 
# PROJECT_ID = os.environ["PROJECT_ID"]
# 
# TEST_ID = "test_id"
# 
# TRACE_ID = "trace_id"


import contextlib
import dataclasses
from typing import Callable, Iterator, Mapping
from google.rpc import code_pb2
from opentelemetry.exporter.cloud_trace import CloudTraceSpanExporter
from opentelemetry.propagators.cloud_trace_propagator import (
    CloudTraceFormatPropagator,
)
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.sdk.trace.sampling import ALWAYS_ON
from opentelemetry.trace import SpanKind, Tracer, format_trace_id
from pydantic import BaseModel
from .constants import INSTRUMENTING_MODULE_NAME, PROJECT_ID, TEST_ID, TRACE_ID
# Copyright 2021 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.





class Request(BaseModel):
    test_id: str
    headers: Mapping[str, str]
    data: bytes


@dataclasses.dataclass
class Response:

# Path: e2e-test-server/e2e_test_server/constants.py
# INSTRUMENTING_MODULE_NAME = "opentelemetry-ops-e2e-test-server"
# 
# PROJECT_ID = os.environ["PROJECT_ID"]
# 
# TEST_ID = "test_id"
# 
# TRACE_ID = "trace_id"


# Path: e2e-test-server/e2e_test_server/scenarios.py
import contextlib
import dataclasses
from typing import Callable, Iterator, Mapping
from google.rpc import code_pb2
from opentelemetry.exporter.cloud_trace import CloudTraceSpanExporter
from opentelemetry.propagators.cloud_trace_propagator import (
    CloudTraceFormatPropagator,
)
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.sdk.trace.sampling import ALWAYS_ON
from opentelemetry.trace import SpanKind, Tracer, format_trace_id
from pydantic import BaseModel
from .constants import INSTRUMENTING_MODULE_NAME, PROJECT_ID, TEST_ID, TRACE_ID

# Copyright 2021 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.





class Request(BaseModel):
    test_id: str
    headers: Mapping[str, str]
    data: bytes


@dataclasses.dataclass
class Response:

    status_code: code_pb2.Code