diff --git a/.flake8 b/.flake8
index ed93163..29227d4 100644
--- a/.flake8
+++ b/.flake8
@@ -26,6 +26,7 @@ exclude =
*_pb2.py
# Standard linting exemptions.
+ **/.nox/**
__pycache__,
.git,
*.pyc,
diff --git a/.kokoro/test-samples.sh b/.kokoro/test-samples.sh
index 5d432b7..5cd6a8b 100755
--- a/.kokoro/test-samples.sh
+++ b/.kokoro/test-samples.sh
@@ -87,11 +87,11 @@ for file in samples/**/requirements.txt; do
python3.6 -m nox -s "$RUN_TESTS_SESSION"
EXIT=$?
- # If this is a periodic build, send the test log to the Build Cop Bot.
- # See https://github.com/googleapis/repo-automation-bots/tree/master/packages/buildcop.
+ # If this is a periodic build, send the test log to the FlakyBot.
+ # See https://github.com/googleapis/repo-automation-bots/tree/master/packages/flakybot.
if [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"periodic"* ]]; then
- chmod +x $KOKORO_GFILE_DIR/linux_amd64/buildcop
- $KOKORO_GFILE_DIR/linux_amd64/buildcop
+ chmod +x $KOKORO_GFILE_DIR/linux_amd64/flakybot
+ $KOKORO_GFILE_DIR/linux_amd64/flakybot
fi
if [[ $EXIT -ne 0 ]]; then
diff --git a/.kokoro/trampoline_v2.sh b/.kokoro/trampoline_v2.sh
index 719bcd5..4af6cdc 100755
--- a/.kokoro/trampoline_v2.sh
+++ b/.kokoro/trampoline_v2.sh
@@ -159,7 +159,7 @@ if [[ -n "${KOKORO_BUILD_ID:-}" ]]; then
"KOKORO_GITHUB_COMMIT"
"KOKORO_GITHUB_PULL_REQUEST_NUMBER"
"KOKORO_GITHUB_PULL_REQUEST_COMMIT"
- # For Build Cop Bot
+ # For FlakyBot
"KOKORO_GITHUB_COMMIT_URL"
"KOKORO_GITHUB_PULL_REQUEST_URL"
)
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
new file mode 100644
index 0000000..a9024b1
--- /dev/null
+++ b/.pre-commit-config.yaml
@@ -0,0 +1,17 @@
+# See https://pre-commit.com for more information
+# See https://pre-commit.com/hooks.html for more hooks
+repos:
+- repo: https://github.com/pre-commit/pre-commit-hooks
+ rev: v3.4.0
+ hooks:
+ - id: trailing-whitespace
+ - id: end-of-file-fixer
+ - id: check-yaml
+- repo: https://github.com/psf/black
+ rev: 19.10b0
+ hooks:
+ - id: black
+- repo: https://gitlab.com/pycqa/flake8
+ rev: 3.8.4
+ hooks:
+ - id: flake8
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c480169..235baa0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,11 @@
# Changelog
+### [1.1.1](https://www.github.com/googleapis/python-billingbudgets/compare/v1.1.0...v1.1.1) (2021-02-12)
+
+
+### Bug Fixes
+
+* remove grpc send/recv limit ([#62](https://www.github.com/googleapis/python-billingbudgets/issues/62)) ([62cd894](https://www.github.com/googleapis/python-billingbudgets/commit/62cd894af1cc1aeaca48725dcd4665c8ce48df20))
+
## [1.1.0](https://www.github.com/googleapis/python-billingbudgets/compare/v1.0.1...v1.1.0) (2020-11-05)
diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst
index 903bf40..30e55e3 100644
--- a/CONTRIBUTING.rst
+++ b/CONTRIBUTING.rst
@@ -21,8 +21,8 @@ In order to add a feature:
- The feature must be documented in both the API and narrative
documentation.
-- The feature must work fully on the following CPython versions: 2.7,
- 3.5, 3.6, 3.7 and 3.8 on both UNIX and Windows.
+- The feature must work fully on the following CPython versions:
+ 3.6, 3.7, 3.8 and 3.9 on both UNIX and Windows.
- The feature must not add unnecessary dependencies (where
"unnecessary" is of course subjective, but new dependencies should
@@ -111,6 +111,16 @@ Coding Style
should point to the official ``googleapis`` checkout and the
the branch should be the main branch on that remote (``master``).
+- This repository contains configuration for the
+ `pre-commit `__ tool, which automates checking
+ our linters during a commit. If you have it installed on your ``$PATH``,
+ you can enable enforcing those checks via:
+
+.. code-block:: bash
+
+ $ pre-commit install
+ pre-commit installed at .git/hooks/pre-commit
+
Exceptions to PEP8:
- Many unit tests use a helper method, ``_call_fut`` ("FUT" is short for
@@ -192,25 +202,24 @@ Supported Python Versions
We support:
-- `Python 3.5`_
- `Python 3.6`_
- `Python 3.7`_
- `Python 3.8`_
+- `Python 3.9`_
-.. _Python 3.5: https://docs.python.org/3.5/
.. _Python 3.6: https://docs.python.org/3.6/
.. _Python 3.7: https://docs.python.org/3.7/
.. _Python 3.8: https://docs.python.org/3.8/
+.. _Python 3.9: https://docs.python.org/3.9/
Supported versions can be found in our ``noxfile.py`` `config`_.
.. _config: https://github.com/googleapis/python-billingbudgets/blob/master/noxfile.py
-Python 2.7 support is deprecated. All code changes should maintain Python 2.7 compatibility until January 1, 2020.
We also explicitly decided to support Python 3 beginning with version
-3.5. Reasons for this include:
+3.6. Reasons for this include:
- Encouraging use of newest versions of Python 3
- Taking the lead of `prominent`_ open-source `projects`_
diff --git a/LICENSE b/LICENSE
index a8ee855..d645695 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,7 @@
- Apache License
+
+ Apache License
Version 2.0, January 2004
- https://www.apache.org/licenses/
+ http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
@@ -192,7 +193,7 @@
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
+ http://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,
diff --git a/docs/_static/custom.css b/docs/_static/custom.css
index 0abaf22..bcd37bb 100644
--- a/docs/_static/custom.css
+++ b/docs/_static/custom.css
@@ -1,4 +1,9 @@
div#python2-eol {
border-color: red;
border-width: medium;
-}
\ No newline at end of file
+}
+
+/* Ensure minimum width for 'Parameters' / 'Returns' column */
+dl.field-list > dt {
+ min-width: 100px
+}
diff --git a/docs/conf.py b/docs/conf.py
index fb4f52a..eeab0b7 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -345,10 +345,10 @@
# Example configuration for intersphinx: refer to the Python standard library.
intersphinx_mapping = {
- "python": ("http://python.readthedocs.org/en/latest/", None),
- "google-auth": ("https://google-auth.readthedocs.io/en/stable", None),
+ "python": ("https://python.readthedocs.org/en/latest/", None),
+ "google-auth": ("https://googleapis.dev/python/google-auth/latest/", None),
"google.api_core": ("https://googleapis.dev/python/google-api-core/latest/", None,),
- "grpc": ("https://grpc.io/grpc/python/", None),
+ "grpc": ("https://grpc.github.io/grpc/python/", None),
"proto-plus": ("https://proto-plus-python.readthedocs.io/en/latest/", None),
}
diff --git a/google/cloud/billing/budgets_v1/services/budget_service/transports/__init__.py b/google/cloud/billing/budgets_v1/services/budget_service/transports/__init__.py
index 8f54d9e..0ab5ac1 100644
--- a/google/cloud/billing/budgets_v1/services/budget_service/transports/__init__.py
+++ b/google/cloud/billing/budgets_v1/services/budget_service/transports/__init__.py
@@ -28,7 +28,6 @@
_transport_registry["grpc"] = BudgetServiceGrpcTransport
_transport_registry["grpc_asyncio"] = BudgetServiceGrpcAsyncIOTransport
-
__all__ = (
"BudgetServiceTransport",
"BudgetServiceGrpcTransport",
diff --git a/google/cloud/billing/budgets_v1/services/budget_service/transports/grpc.py b/google/cloud/billing/budgets_v1/services/budget_service/transports/grpc.py
index ec12f7c..9da459d 100644
--- a/google/cloud/billing/budgets_v1/services/budget_service/transports/grpc.py
+++ b/google/cloud/billing/budgets_v1/services/budget_service/transports/grpc.py
@@ -150,6 +150,10 @@ def __init__(
ssl_credentials=ssl_credentials,
scopes=scopes or self.AUTH_SCOPES,
quota_project_id=quota_project_id,
+ options=[
+ ("grpc.max_send_message_length", -1),
+ ("grpc.max_receive_message_length", -1),
+ ],
)
self._ssl_channel_credentials = ssl_credentials
else:
@@ -168,6 +172,10 @@ def __init__(
ssl_credentials=ssl_channel_credentials,
scopes=scopes or self.AUTH_SCOPES,
quota_project_id=quota_project_id,
+ options=[
+ ("grpc.max_send_message_length", -1),
+ ("grpc.max_receive_message_length", -1),
+ ],
)
self._stubs = {} # type: Dict[str, Callable]
@@ -194,7 +202,7 @@ def create_channel(
) -> grpc.Channel:
"""Create and return a gRPC channel object.
Args:
- address (Optionsl[str]): The host for the channel to use.
+ address (Optional[str]): The host for the channel to use.
credentials (Optional[~.Credentials]): The
authorization credentials to attach to requests. These
credentials identify this application to the service. If
diff --git a/google/cloud/billing/budgets_v1/services/budget_service/transports/grpc_asyncio.py b/google/cloud/billing/budgets_v1/services/budget_service/transports/grpc_asyncio.py
index 4a007b7..6f365d0 100644
--- a/google/cloud/billing/budgets_v1/services/budget_service/transports/grpc_asyncio.py
+++ b/google/cloud/billing/budgets_v1/services/budget_service/transports/grpc_asyncio.py
@@ -195,6 +195,10 @@ def __init__(
ssl_credentials=ssl_credentials,
scopes=scopes or self.AUTH_SCOPES,
quota_project_id=quota_project_id,
+ options=[
+ ("grpc.max_send_message_length", -1),
+ ("grpc.max_receive_message_length", -1),
+ ],
)
self._ssl_channel_credentials = ssl_credentials
else:
@@ -213,6 +217,10 @@ def __init__(
ssl_credentials=ssl_channel_credentials,
scopes=scopes or self.AUTH_SCOPES,
quota_project_id=quota_project_id,
+ options=[
+ ("grpc.max_send_message_length", -1),
+ ("grpc.max_receive_message_length", -1),
+ ],
)
# Run the base constructor.
diff --git a/google/cloud/billing/budgets_v1/types/__init__.py b/google/cloud/billing/budgets_v1/types/__init__.py
index 6720cb4..52e66d6 100644
--- a/google/cloud/billing/budgets_v1/types/__init__.py
+++ b/google/cloud/billing/budgets_v1/types/__init__.py
@@ -32,7 +32,6 @@
DeleteBudgetRequest,
)
-
__all__ = (
"Budget",
"BudgetAmount",
diff --git a/google/cloud/billing/budgets_v1beta1/proto/budget_model.proto b/google/cloud/billing/budgets_v1beta1/proto/budget_model.proto
index 10f149f..050737b 100644
--- a/google/cloud/billing/budgets_v1beta1/proto/budget_model.proto
+++ b/google/cloud/billing/budgets_v1beta1/proto/budget_model.proto
@@ -187,13 +187,17 @@ message Filter {
// Only zero or one project can be specified currently.
repeated string projects = 1 [(google.api.field_behavior) = OPTIONAL];
- // Optional. A list of credit types to be subtracted from gross cost to
- // determine the spend for threshold calculations if and only if
- // credit_types_treatment is INCLUDE_SPECIFIED_CREDITS. If
- // credit_types_treatment is not INCLUDE_SPECIFIED_CREDITS, this field must be
- // empty. See credits.type at
- // https://cloud.google.com/billing/docs/how-to/export-data-bigquery-tables#data-schema
- // for a list of acceptable credit type values in this field.
+ // Optional. If
+ // [Filter.credit_types_treatment][google.cloud.billing.budgets.v1beta1.Filter.credit_types_treatment]
+ // is INCLUDE_SPECIFIED_CREDITS, this is a list of credit types to be
+ // subtracted from gross cost to determine the spend for threshold
+ // calculations.
+ //
+ // If
+ // [Filter.credit_types_treatment][google.cloud.billing.budgets.v1beta1.Filter.credit_types_treatment]
+ // is **not** INCLUDE_SPECIFIED_CREDITS, this field must be empty. See [a list
+ // of acceptable credit type
+ // values](https://cloud.google.com/billing/docs/how-to/export-data-bigquery-tables#credits-type).
repeated string credit_types = 7 [(google.api.field_behavior) = OPTIONAL];
// Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.
diff --git a/google/cloud/billing/budgets_v1beta1/services/budget_service/transports/__init__.py b/google/cloud/billing/budgets_v1beta1/services/budget_service/transports/__init__.py
index 8f54d9e..0ab5ac1 100644
--- a/google/cloud/billing/budgets_v1beta1/services/budget_service/transports/__init__.py
+++ b/google/cloud/billing/budgets_v1beta1/services/budget_service/transports/__init__.py
@@ -28,7 +28,6 @@
_transport_registry["grpc"] = BudgetServiceGrpcTransport
_transport_registry["grpc_asyncio"] = BudgetServiceGrpcAsyncIOTransport
-
__all__ = (
"BudgetServiceTransport",
"BudgetServiceGrpcTransport",
diff --git a/google/cloud/billing/budgets_v1beta1/services/budget_service/transports/grpc.py b/google/cloud/billing/budgets_v1beta1/services/budget_service/transports/grpc.py
index d926f9a..6d7ab32 100644
--- a/google/cloud/billing/budgets_v1beta1/services/budget_service/transports/grpc.py
+++ b/google/cloud/billing/budgets_v1beta1/services/budget_service/transports/grpc.py
@@ -150,6 +150,10 @@ def __init__(
ssl_credentials=ssl_credentials,
scopes=scopes or self.AUTH_SCOPES,
quota_project_id=quota_project_id,
+ options=[
+ ("grpc.max_send_message_length", -1),
+ ("grpc.max_receive_message_length", -1),
+ ],
)
self._ssl_channel_credentials = ssl_credentials
else:
@@ -168,6 +172,10 @@ def __init__(
ssl_credentials=ssl_channel_credentials,
scopes=scopes or self.AUTH_SCOPES,
quota_project_id=quota_project_id,
+ options=[
+ ("grpc.max_send_message_length", -1),
+ ("grpc.max_receive_message_length", -1),
+ ],
)
self._stubs = {} # type: Dict[str, Callable]
@@ -194,7 +202,7 @@ def create_channel(
) -> grpc.Channel:
"""Create and return a gRPC channel object.
Args:
- address (Optionsl[str]): The host for the channel to use.
+ address (Optional[str]): The host for the channel to use.
credentials (Optional[~.Credentials]): The
authorization credentials to attach to requests. These
credentials identify this application to the service. If
diff --git a/google/cloud/billing/budgets_v1beta1/services/budget_service/transports/grpc_asyncio.py b/google/cloud/billing/budgets_v1beta1/services/budget_service/transports/grpc_asyncio.py
index d0f6a21..c84197d 100644
--- a/google/cloud/billing/budgets_v1beta1/services/budget_service/transports/grpc_asyncio.py
+++ b/google/cloud/billing/budgets_v1beta1/services/budget_service/transports/grpc_asyncio.py
@@ -195,6 +195,10 @@ def __init__(
ssl_credentials=ssl_credentials,
scopes=scopes or self.AUTH_SCOPES,
quota_project_id=quota_project_id,
+ options=[
+ ("grpc.max_send_message_length", -1),
+ ("grpc.max_receive_message_length", -1),
+ ],
)
self._ssl_channel_credentials = ssl_credentials
else:
@@ -213,6 +217,10 @@ def __init__(
ssl_credentials=ssl_channel_credentials,
scopes=scopes or self.AUTH_SCOPES,
quota_project_id=quota_project_id,
+ options=[
+ ("grpc.max_send_message_length", -1),
+ ("grpc.max_receive_message_length", -1),
+ ],
)
# Run the base constructor.
diff --git a/google/cloud/billing/budgets_v1beta1/types/__init__.py b/google/cloud/billing/budgets_v1beta1/types/__init__.py
index 02b0409..4e7b3b3 100644
--- a/google/cloud/billing/budgets_v1beta1/types/__init__.py
+++ b/google/cloud/billing/budgets_v1beta1/types/__init__.py
@@ -32,7 +32,6 @@
DeleteBudgetRequest,
)
-
__all__ = (
"Budget",
"BudgetAmount",
diff --git a/google/cloud/billing/budgets_v1beta1/types/budget_model.py b/google/cloud/billing/budgets_v1beta1/types/budget_model.py
index c5b7056..e5a44ca 100644
--- a/google/cloud/billing/budgets_v1beta1/types/budget_model.py
+++ b/google/cloud/billing/budgets_v1beta1/types/budget_model.py
@@ -217,14 +217,17 @@ class Filter(proto.Message):
account, regardless of which project the usage occurred on.
Only zero or one project can be specified currently.
credit_types (Sequence[str]):
- Optional. A list of credit types to be subtracted from gross
- cost to determine the spend for threshold calculations if
- and only if credit_types_treatment is
- INCLUDE_SPECIFIED_CREDITS. If credit_types_treatment is not
- INCLUDE_SPECIFIED_CREDITS, this field must be empty. See
- credits.type at
- https://cloud.google.com/billing/docs/how-to/export-data-bigquery-tables#data-schema
- for a list of acceptable credit type values in this field.
+ Optional. If
+ [Filter.credit_types_treatment][google.cloud.billing.budgets.v1beta1.Filter.credit_types_treatment]
+ is INCLUDE_SPECIFIED_CREDITS, this is a list of credit types
+ to be subtracted from gross cost to determine the spend for
+ threshold calculations.
+
+ If
+ [Filter.credit_types_treatment][google.cloud.billing.budgets.v1beta1.Filter.credit_types_treatment]
+ is **not** INCLUDE_SPECIFIED_CREDITS, this field must be
+ empty. See `a list of acceptable credit type
+ values `__.
credit_types_treatment (~.budget_model.Filter.CreditTypesTreatment):
Optional. If not set, default behavior is
``INCLUDE_ALL_CREDITS``.
diff --git a/noxfile.py b/noxfile.py
index 45efcaa..a57e24b 100644
--- a/noxfile.py
+++ b/noxfile.py
@@ -28,7 +28,7 @@
DEFAULT_PYTHON_VERSION = "3.8"
SYSTEM_TEST_PYTHON_VERSIONS = ["3.8"]
-UNIT_TEST_PYTHON_VERSIONS = ["3.6", "3.7", "3.8"]
+UNIT_TEST_PYTHON_VERSIONS = ["3.6", "3.7", "3.8", "3.9"]
@nox.session(python=DEFAULT_PYTHON_VERSION)
@@ -81,9 +81,8 @@ def default(session):
session.run(
"py.test",
"--quiet",
- "--cov=google.cloud.billing.budgets",
- "--cov=google.cloud",
- "--cov=tests.unit",
+ "--cov=google/cloud",
+ "--cov=tests/unit",
"--cov-append",
"--cov-config=.coveragerc",
"--cov-report=",
diff --git a/setup.py b/setup.py
index 76bb25c..1887472 100644
--- a/setup.py
+++ b/setup.py
@@ -22,7 +22,7 @@
name = "google-cloud-billing-budgets"
description = "Cloud Billing Budget API API client library"
-version = "1.1.0"
+version = "1.1.1"
release_status = "Development Status :: 4 - Beta"
dependencies = [
"google-api-core[grpc] >= 1.22.0, < 2.0.0dev",
diff --git a/synth.metadata b/synth.metadata
index 8dd8c4c..67f8821 100644
--- a/synth.metadata
+++ b/synth.metadata
@@ -3,15 +3,23 @@
{
"git": {
"name": ".",
- "remote": "git@github.com:googleapis/python-billingbudgets",
- "sha": "b3f7a148ff069f5eede18f0f9d04c7c6174caae4"
+ "remote": "https://github.com/googleapis/python-billingbudgets.git",
+ "sha": "09a543dba8845a1fbb8759bb3b07b35be77fbaad"
+ }
+ },
+ {
+ "git": {
+ "name": "googleapis",
+ "remote": "https://github.com/googleapis/googleapis.git",
+ "sha": "dd372aa22ded7a8ba6f0e03a80e06358a3fa0907",
+ "internalRef": "347055288"
}
},
{
"git": {
"name": "synthtool",
"remote": "https://github.com/googleapis/synthtool.git",
- "sha": "c7824ea48ff6d4d42dfae0849aec8a85acd90bd9"
+ "sha": "41a4e56982620d3edcf110d76f4fcdfdec471ac8"
}
}
],
@@ -34,5 +42,118 @@
"generator": "bazel"
}
}
+ ],
+ "generatedFiles": [
+ ".flake8",
+ ".github/CONTRIBUTING.md",
+ ".github/ISSUE_TEMPLATE/bug_report.md",
+ ".github/ISSUE_TEMPLATE/feature_request.md",
+ ".github/ISSUE_TEMPLATE/support_request.md",
+ ".github/PULL_REQUEST_TEMPLATE.md",
+ ".github/release-please.yml",
+ ".github/snippet-bot.yml",
+ ".gitignore",
+ ".kokoro/build.sh",
+ ".kokoro/continuous/common.cfg",
+ ".kokoro/continuous/continuous.cfg",
+ ".kokoro/docker/docs/Dockerfile",
+ ".kokoro/docker/docs/fetch_gpg_keys.sh",
+ ".kokoro/docs/common.cfg",
+ ".kokoro/docs/docs-presubmit.cfg",
+ ".kokoro/docs/docs.cfg",
+ ".kokoro/populate-secrets.sh",
+ ".kokoro/presubmit/common.cfg",
+ ".kokoro/presubmit/presubmit.cfg",
+ ".kokoro/publish-docs.sh",
+ ".kokoro/release.sh",
+ ".kokoro/release/common.cfg",
+ ".kokoro/release/release.cfg",
+ ".kokoro/samples/lint/common.cfg",
+ ".kokoro/samples/lint/continuous.cfg",
+ ".kokoro/samples/lint/periodic.cfg",
+ ".kokoro/samples/lint/presubmit.cfg",
+ ".kokoro/samples/python3.6/common.cfg",
+ ".kokoro/samples/python3.6/continuous.cfg",
+ ".kokoro/samples/python3.6/periodic.cfg",
+ ".kokoro/samples/python3.6/presubmit.cfg",
+ ".kokoro/samples/python3.7/common.cfg",
+ ".kokoro/samples/python3.7/continuous.cfg",
+ ".kokoro/samples/python3.7/periodic.cfg",
+ ".kokoro/samples/python3.7/presubmit.cfg",
+ ".kokoro/samples/python3.8/common.cfg",
+ ".kokoro/samples/python3.8/continuous.cfg",
+ ".kokoro/samples/python3.8/periodic.cfg",
+ ".kokoro/samples/python3.8/presubmit.cfg",
+ ".kokoro/test-samples.sh",
+ ".kokoro/trampoline.sh",
+ ".kokoro/trampoline_v2.sh",
+ ".pre-commit-config.yaml",
+ ".trampolinerc",
+ "CODE_OF_CONDUCT.md",
+ "CONTRIBUTING.rst",
+ "LICENSE",
+ "MANIFEST.in",
+ "docs/_static/custom.css",
+ "docs/_templates/layout.html",
+ "docs/budgets_v1/services.rst",
+ "docs/budgets_v1/types.rst",
+ "docs/budgets_v1beta1/services.rst",
+ "docs/budgets_v1beta1/types.rst",
+ "docs/conf.py",
+ "docs/multiprocessing.rst",
+ "google/cloud/billing/budgets/__init__.py",
+ "google/cloud/billing/budgets/py.typed",
+ "google/cloud/billing/budgets_v1/__init__.py",
+ "google/cloud/billing/budgets_v1/proto/budget_model.proto",
+ "google/cloud/billing/budgets_v1/proto/budget_service.proto",
+ "google/cloud/billing/budgets_v1/py.typed",
+ "google/cloud/billing/budgets_v1/services/__init__.py",
+ "google/cloud/billing/budgets_v1/services/budget_service/__init__.py",
+ "google/cloud/billing/budgets_v1/services/budget_service/async_client.py",
+ "google/cloud/billing/budgets_v1/services/budget_service/client.py",
+ "google/cloud/billing/budgets_v1/services/budget_service/pagers.py",
+ "google/cloud/billing/budgets_v1/services/budget_service/transports/__init__.py",
+ "google/cloud/billing/budgets_v1/services/budget_service/transports/base.py",
+ "google/cloud/billing/budgets_v1/services/budget_service/transports/grpc.py",
+ "google/cloud/billing/budgets_v1/services/budget_service/transports/grpc_asyncio.py",
+ "google/cloud/billing/budgets_v1/types/__init__.py",
+ "google/cloud/billing/budgets_v1/types/budget_model.py",
+ "google/cloud/billing/budgets_v1/types/budget_service.py",
+ "google/cloud/billing/budgets_v1beta1/__init__.py",
+ "google/cloud/billing/budgets_v1beta1/proto/budget_model.proto",
+ "google/cloud/billing/budgets_v1beta1/proto/budget_service.proto",
+ "google/cloud/billing/budgets_v1beta1/py.typed",
+ "google/cloud/billing/budgets_v1beta1/services/__init__.py",
+ "google/cloud/billing/budgets_v1beta1/services/budget_service/__init__.py",
+ "google/cloud/billing/budgets_v1beta1/services/budget_service/async_client.py",
+ "google/cloud/billing/budgets_v1beta1/services/budget_service/client.py",
+ "google/cloud/billing/budgets_v1beta1/services/budget_service/pagers.py",
+ "google/cloud/billing/budgets_v1beta1/services/budget_service/transports/__init__.py",
+ "google/cloud/billing/budgets_v1beta1/services/budget_service/transports/base.py",
+ "google/cloud/billing/budgets_v1beta1/services/budget_service/transports/grpc.py",
+ "google/cloud/billing/budgets_v1beta1/services/budget_service/transports/grpc_asyncio.py",
+ "google/cloud/billing/budgets_v1beta1/types/__init__.py",
+ "google/cloud/billing/budgets_v1beta1/types/budget_model.py",
+ "google/cloud/billing/budgets_v1beta1/types/budget_service.py",
+ "mypy.ini",
+ "noxfile.py",
+ "renovate.json",
+ "samples/AUTHORING_GUIDE.md",
+ "samples/CONTRIBUTING.md",
+ "scripts/decrypt-secrets.sh",
+ "scripts/fixup_budgets_v1_keywords.py",
+ "scripts/fixup_budgets_v1beta1_keywords.py",
+ "scripts/readme-gen/readme_gen.py",
+ "scripts/readme-gen/templates/README.tmpl.rst",
+ "scripts/readme-gen/templates/auth.tmpl.rst",
+ "scripts/readme-gen/templates/auth_api_key.tmpl.rst",
+ "scripts/readme-gen/templates/install_deps.tmpl.rst",
+ "scripts/readme-gen/templates/install_portaudio.tmpl.rst",
+ "setup.cfg",
+ "testing/.gitignore",
+ "tests/unit/gapic/budgets_v1/__init__.py",
+ "tests/unit/gapic/budgets_v1/test_budget_service.py",
+ "tests/unit/gapic/budgets_v1beta1/__init__.py",
+ "tests/unit/gapic/budgets_v1beta1/test_budget_service.py"
]
}
\ No newline at end of file
diff --git a/testing/constraints-3.10.txt b/testing/constraints-3.10.txt
new file mode 100644
index 0000000..e69de29
diff --git a/testing/constraints-3.11.txt b/testing/constraints-3.11.txt
new file mode 100644
index 0000000..e69de29
diff --git a/testing/constraints-3.6.txt b/testing/constraints-3.6.txt
new file mode 100644
index 0000000..08972fd
--- /dev/null
+++ b/testing/constraints-3.6.txt
@@ -0,0 +1,10 @@
+# This constraints file is used to check that lower bounds
+# are correct in setup.py
+# List *all* library dependencies and extras in this file.
+# Pin the version to the lower bound.
+#
+# e.g., if setup.py has "foo >= 1.14.0, < 2.0.0dev",
+# Then this file should have foo==1.14.0
+google-api-core==1.22.0
+proto-plus==1.10.0
+libcst==0.2.5
\ No newline at end of file
diff --git a/testing/constraints-3.7.txt b/testing/constraints-3.7.txt
new file mode 100644
index 0000000..e69de29
diff --git a/testing/constraints-3.8.txt b/testing/constraints-3.8.txt
new file mode 100644
index 0000000..e69de29
diff --git a/testing/constraints-3.9.txt b/testing/constraints-3.9.txt
new file mode 100644
index 0000000..e69de29
diff --git a/tests/unit/gapic/budgets_v1/test_budget_service.py b/tests/unit/gapic/budgets_v1/test_budget_service.py
index 324fe39..58bc53a 100644
--- a/tests/unit/gapic/budgets_v1/test_budget_service.py
+++ b/tests/unit/gapic/budgets_v1/test_budget_service.py
@@ -1837,6 +1837,10 @@ def test_budget_service_transport_channel_mtls_with_client_cert_source(transport
),
ssl_credentials=mock_ssl_cred,
quota_project_id=None,
+ options=[
+ ("grpc.max_send_message_length", -1),
+ ("grpc.max_receive_message_length", -1),
+ ],
)
assert transport.grpc_channel == mock_grpc_channel
assert transport._ssl_channel_credentials == mock_ssl_cred
@@ -1881,6 +1885,10 @@ def test_budget_service_transport_channel_mtls_with_adc(transport_class):
),
ssl_credentials=mock_ssl_cred,
quota_project_id=None,
+ options=[
+ ("grpc.max_send_message_length", -1),
+ ("grpc.max_receive_message_length", -1),
+ ],
)
assert transport.grpc_channel == mock_grpc_channel
diff --git a/tests/unit/gapic/budgets_v1beta1/test_budget_service.py b/tests/unit/gapic/budgets_v1beta1/test_budget_service.py
index 79ffd3b..42a2f9a 100644
--- a/tests/unit/gapic/budgets_v1beta1/test_budget_service.py
+++ b/tests/unit/gapic/budgets_v1beta1/test_budget_service.py
@@ -1486,6 +1486,10 @@ def test_budget_service_transport_channel_mtls_with_client_cert_source(transport
),
ssl_credentials=mock_ssl_cred,
quota_project_id=None,
+ options=[
+ ("grpc.max_send_message_length", -1),
+ ("grpc.max_receive_message_length", -1),
+ ],
)
assert transport.grpc_channel == mock_grpc_channel
assert transport._ssl_channel_credentials == mock_ssl_cred
@@ -1530,6 +1534,10 @@ def test_budget_service_transport_channel_mtls_with_adc(transport_class):
),
ssl_credentials=mock_ssl_cred,
quota_project_id=None,
+ options=[
+ ("grpc.max_send_message_length", -1),
+ ("grpc.max_receive_message_length", -1),
+ ],
)
assert transport.grpc_channel == mock_grpc_channel