Skip to content

Commit a7b53e9

Browse files
authoredApr 29, 2024
feat: add google.api_core.version_header (#638)
* feat: add google.api_core.gapic_v1.version_header * fix mypy * clarify comment
1 parent 07dfc93 commit a7b53e9

File tree

2 files changed

+52
-0
lines changed

2 files changed

+52
-0
lines changed
 

Diff for: ‎google/api_core/version_header.py

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Copyright 2024 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
API_VERSION_METADATA_KEY = "x-goog-api-version"
16+
17+
18+
def to_api_version_header(version_identifier):
19+
"""Returns data for the API Version header for the given `version_identifier`.
20+
21+
Args:
22+
version_identifier (str): The version identifier to be used in the
23+
tuple returned.
24+
25+
Returns:
26+
Tuple(str, str): A tuple containing the API Version metadata key and
27+
value.
28+
"""
29+
return (API_VERSION_METADATA_KEY, version_identifier)

Diff for: ‎tests/unit/test_version_header.py

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Copyright 2024 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
import pytest
16+
17+
from google.api_core import version_header
18+
19+
20+
@pytest.mark.parametrize("version_identifier", ["some_value", ""])
21+
def test_to_api_version_header(version_identifier):
22+
value = version_header.to_api_version_header(version_identifier)
23+
assert value == (version_header.API_VERSION_METADATA_KEY, version_identifier)

0 commit comments

Comments
 (0)