diff --git a/tests/components/influxdb/test_sensor.py b/tests/components/influxdb/test_sensor.py
index 2247559a486d6d62318b15ae3cb1c040f8677384..d87746e3cc431086fdeee9d44036b362ba2f04c7 100644
--- a/tests/components/influxdb/test_sensor.py
+++ b/tests/components/influxdb/test_sensor.py
@@ -11,6 +11,8 @@ from voluptuous import Invalid
 from homeassistant.components.influxdb.const import (
     API_VERSION_2,
     DEFAULT_API_VERSION,
+    DEFAULT_BUCKET,
+    DEFAULT_DATABASE,
     DOMAIN,
     TEST_QUERY_V1,
     TEST_QUERY_V2,
@@ -75,24 +77,6 @@ def mock_client_fixture(request):
         yield client
 
 
-@pytest.fixture(autouse=True)
-def mock_influx_platform():
-    """
-    Mock the influx client and queue in the main platform.
-
-    Successful sensor setup is really independent of the main platform.
-    But since its one integration there is an internal dependency.
-    Mocking the client library there prevents failures and mocking the queue
-    to return `None` on get makes the listener shutdown immediately after initialization.
-    """
-    with patch(f"{INFLUXDB_PATH}.InfluxDBClient") as mock_v1_client, patch(
-        f"{INFLUXDB_PATH}.InfluxDBClientV2"
-    ) as mock_v2_client, patch(
-        f"{INFLUXDB_PATH}.queue.Queue.get", return_value=None
-    ) as queue_get:
-        yield (mock_v1_client, mock_v2_client, queue_get)
-
-
 @pytest.fixture(autouse=True, scope="module")
 def mock_client_close():
     """Mock close method of clients at module scope."""
@@ -108,6 +92,12 @@ def _make_v1_resultset(*args):
         yield {"value": arg}
 
 
+def _make_v1_databases_resultset():
+    """Create a mock V1 'show databases' resultset."""
+    for name in [DEFAULT_DATABASE, "db2"]:
+        yield {"name": name}
+
+
 def _make_v2_resultset(*args):
     """Create a mock V2 resultset."""
     tables = []
@@ -120,7 +110,18 @@ def _make_v2_resultset(*args):
     return tables
 
 
-def _set_query_mock_v1(mock_influx_client, return_value=None, side_effect=None):
+def _make_v2_buckets_resultset():
+    """Create a mock V2 'buckets()' resultset."""
+    records = []
+    for name in [DEFAULT_BUCKET, "bucket2"]:
+        records.append(Record({"name": name}))
+
+    return [Table(records)]
+
+
+def _set_query_mock_v1(
+    mock_influx_client, return_value=None, query_exception=None, side_effect=None
+):
     """Set return value or side effect for the V1 client."""
     query_api = mock_influx_client.return_value.query
     if side_effect:
@@ -133,10 +134,14 @@ def _set_query_mock_v1(mock_influx_client, return_value=None, side_effect=None):
         def get_return_value(query, **kwargs):
             """Return mock for test query, return value otherwise."""
             if query == TEST_QUERY_V1:
-                return MagicMock()
+                points = _make_v1_databases_resultset()
+            else:
+                if query_exception:
+                    raise query_exception
+                points = return_value
 
             query_output = MagicMock()
-            query_output.get_points.return_value = return_value
+            query_output.get_points.return_value = points
             return query_output
 
         query_api.side_effect = get_return_value
@@ -144,7 +149,9 @@ def _set_query_mock_v1(mock_influx_client, return_value=None, side_effect=None):
     return query_api
 
 
-def _set_query_mock_v2(mock_influx_client, return_value=None, side_effect=None):
+def _set_query_mock_v2(
+    mock_influx_client, return_value=None, query_exception=None, side_effect=None
+):
     """Set return value or side effect for the V2 client."""
     query_api = mock_influx_client.return_value.query_api.return_value.query
     if side_effect:
@@ -153,7 +160,17 @@ def _set_query_mock_v2(mock_influx_client, return_value=None, side_effect=None):
         if return_value is None:
             return_value = []
 
-        query_api.return_value = return_value
+        def get_return_value(query):
+            """Return buckets list for test query, return value otherwise."""
+            if query == TEST_QUERY_V2:
+                return _make_v2_buckets_resultset()
+
+            if query_exception:
+                raise query_exception
+
+            return return_value
+
+        query_api.side_effect = get_return_value
 
     return query_api
 
@@ -161,7 +178,7 @@ def _set_query_mock_v2(mock_influx_client, return_value=None, side_effect=None):
 async def _setup(hass, config_ext, queries, expected_sensors):
     """Create client and test expected sensors."""
     config = {
-        DOMAIN: {},
+        DOMAIN: config_ext,
         sensor.DOMAIN: {"platform": DOMAIN},
     }
     influx_config = config[sensor.DOMAIN]
@@ -181,20 +198,21 @@ async def _setup(hass, config_ext, queries, expected_sensors):
 
 
 @pytest.mark.parametrize(
-    "mock_client, config_ext, queries",
+    "mock_client, config_ext, queries, set_query_mock",
     [
-        (DEFAULT_API_VERSION, BASE_V1_CONFIG, BASE_V1_QUERY),
-        (API_VERSION_2, BASE_V2_CONFIG, BASE_V2_QUERY),
+        (DEFAULT_API_VERSION, BASE_V1_CONFIG, BASE_V1_QUERY, _set_query_mock_v1),
+        (API_VERSION_2, BASE_V2_CONFIG, BASE_V2_QUERY, _set_query_mock_v2),
     ],
     indirect=["mock_client"],
 )
-async def test_minimal_config(hass, mock_client, config_ext, queries):
+async def test_minimal_config(hass, mock_client, config_ext, queries, set_query_mock):
     """Test the minimal config and defaults."""
+    set_query_mock(mock_client)
     await _setup(hass, config_ext, queries, ["sensor.test"])
 
 
 @pytest.mark.parametrize(
-    "mock_client, config_ext, queries",
+    "mock_client, config_ext, queries, set_query_mock",
     [
         (
             DEFAULT_API_VERSION,
@@ -207,6 +225,8 @@ async def test_minimal_config(hass, mock_client, config_ext, queries):
                 "password": "pass",
                 "database": "db",
                 "verify_ssl": "true",
+            },
+            {
                 "queries": [
                     {
                         "name": "test",
@@ -220,7 +240,7 @@ async def test_minimal_config(hass, mock_client, config_ext, queries):
                     }
                 ],
             },
-            {},
+            _set_query_mock_v1,
         ),
         (
             API_VERSION_2,
@@ -233,6 +253,8 @@ async def test_minimal_config(hass, mock_client, config_ext, queries):
                 "token": "token",
                 "organization": "org",
                 "bucket": "bucket",
+            },
+            {
                 "queries_flux": [
                     {
                         "name": "test",
@@ -246,13 +268,14 @@ async def test_minimal_config(hass, mock_client, config_ext, queries):
                     }
                 ],
             },
-            {},
+            _set_query_mock_v2,
         ),
     ],
     indirect=["mock_client"],
 )
-async def test_full_config(hass, mock_client, config_ext, queries):
+async def test_full_config(hass, mock_client, config_ext, queries, set_query_mock):
     """Test the full config."""
+    set_query_mock(mock_client)
     await _setup(hass, config_ext, queries, ["sensor.test"])
 
 
@@ -403,14 +426,7 @@ async def test_error_querying_influx(
     hass, caplog, mock_client, config_ext, queries, set_query_mock, query_exception
 ):
     """Test behavior of sensor when influx returns error."""
-
-    def mock_query_error(query, **kwargs):
-        """Throw error for any query besides test query."""
-        if query in [TEST_QUERY_V1, TEST_QUERY_V2]:
-            return MagicMock()
-        raise query_exception
-
-    set_query_mock(mock_client, side_effect=mock_query_error)
+    set_query_mock(mock_client, query_exception=query_exception)
 
     sensors = await _setup(hass, config_ext, queries, ["sensor.test"])
     assert sensors[0].state == STATE_UNKNOWN