fix(deps): Require proto-plus >= 1.22.3 (#626)

* fix(deps): add dependency on proto-plus

* remove unused import
diff --git a/noxfile.py b/noxfile.py
index a6fdecd..2c7ec6c 100644
--- a/noxfile.py
+++ b/noxfile.py
@@ -44,16 +44,6 @@
 ]
 
 
-def _greater_or_equal_than_37(version_string):
-    tokens = version_string.split(".")
-    for i, token in enumerate(tokens):
-        try:
-            tokens[i] = int(token)
-        except ValueError:
-            pass
-    return tokens >= [3, 7]
-
-
 @nox.session(python=DEFAULT_PYTHON_VERSION)
 def lint(session):
     """Run linters.
@@ -129,16 +119,13 @@
         ),
     ]
 
-    # Inject AsyncIO content and proto-plus, if version >= 3.7.
-    # proto-plus is needed for a field mask test in test_protobuf_helpers.py
-    if _greater_or_equal_than_37(session.python):
-        session.install("asyncmock", "pytest-asyncio", "proto-plus")
+    session.install("asyncmock", "pytest-asyncio")
 
-        # Having positional arguments means the user wants to run specific tests.
-        # Best not to add additional tests to that list.
-        if not session.posargs:
-            pytest_args.append("--cov=tests.asyncio")
-            pytest_args.append(os.path.join("tests", "asyncio"))
+    # Having positional arguments means the user wants to run specific tests.
+    # Best not to add additional tests to that list.
+    if not session.posargs:
+        pytest_args.append("--cov=tests.asyncio")
+        pytest_args.append(os.path.join("tests", "asyncio"))
 
     session.run(*pytest_args)
 
diff --git a/setup.py b/setup.py
index 47a3c20..47e0b45 100644
--- a/setup.py
+++ b/setup.py
@@ -31,6 +31,7 @@
 dependencies = [
     "googleapis-common-protos >= 1.56.2, < 2.0.dev0",
     "protobuf>=3.19.5,<5.0.0.dev0,!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5",
+    "proto-plus >= 1.22.3, <2.0.0dev",
     "google-auth >= 2.14.1, < 3.0.dev0",
     "requests >= 2.18.0, < 3.0.0.dev0",
 ]
diff --git a/testing/constraints-3.7.txt b/testing/constraints-3.7.txt
index ec04129..fcc9831 100644
--- a/testing/constraints-3.7.txt
+++ b/testing/constraints-3.7.txt
@@ -13,3 +13,4 @@
 grpcio==1.33.2
 grpcio-status==1.33.2
 grpcio-gcp==0.2.2
+proto-plus==1.22.3
diff --git a/tests/unit/test_protobuf_helpers.py b/tests/unit/test_protobuf_helpers.py
index 3df45df..5b2c6df 100644
--- a/tests/unit/test_protobuf_helpers.py
+++ b/tests/unit/test_protobuf_helpers.py
@@ -12,8 +12,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-import sys
-
 import pytest
 
 from google.api import http_pb2
@@ -476,11 +474,6 @@
     ]
 
 
-@pytest.mark.skipif(
-    sys.version_info.major == 2,
-    reason="Field names with trailing underscores can only be created"
-    "through proto-plus, which is Python 3 only.",
-)
 def test_field_mask_ignore_trailing_underscore():
     import proto
 
@@ -496,11 +489,6 @@
     ]
 
 
-@pytest.mark.skipif(
-    sys.version_info.major == 2,
-    reason="Field names with trailing underscores can only be created"
-    "through proto-plus, which is Python 3 only.",
-)
 def test_field_mask_ignore_trailing_underscore_with_nesting():
     import proto