diff --git a/llama-index-integrations/readers/llama-index-readers-google/CHANGELOG.md b/llama-index-integrations/readers/llama-index-readers-google/CHANGELOG.md
index 34e9ee4085e9cfc32fcfe7630c9886f4cfdfc516..0dbc340e52f326f4454b36f2867427b0dedb5c38 100644
--- a/llama-index-integrations/readers/llama-index-readers-google/CHANGELOG.md
+++ b/llama-index-integrations/readers/llama-index-readers-google/CHANGELOG.md
@@ -1,5 +1,9 @@
 # CHANGELOG
 
+## [0.2.2] - 2024-03-26
+
+- Add class name method for serialization
+
 ## [0.2.1] - 2024-03-26
 
 - Allow passing credentials directly as a string
diff --git a/llama-index-integrations/readers/llama-index-readers-google/llama_index/readers/google/drive/base.py b/llama-index-integrations/readers/llama-index-readers-google/llama_index/readers/google/drive/base.py
index 96c9b6750882782cebe535ec2f1355a4e908724b..d07a2de0b2341527aa12015415541b36d8b58503 100644
--- a/llama-index-integrations/readers/llama-index-readers-google/llama_index/readers/google/drive/base.py
+++ b/llama-index-integrations/readers/llama-index-readers-google/llama_index/readers/google/drive/base.py
@@ -44,8 +44,6 @@ class GoogleDriveReader(BasePydanticReader):
             user info. Defaults to None.
         service_account_key (Optional[dict]): Dictionary containing service
             account key. Defaults to None.
-
-
     """
 
     client_config: Optional[dict] = None
@@ -114,6 +112,10 @@ class GoogleDriveReader(BasePydanticReader):
             **kwargs,
         )
 
+    @classmethod
+    def class_name(cls) -> str:
+        return "GoogleDriveReader"
+
     def _get_credentials(self) -> Tuple[Credentials]:
         """Authenticate with Google and save credentials.
         Download the service_account_key.json file with these instructions: https://cloud.google.com/iam/docs/keys-create-delete.
diff --git a/llama-index-integrations/readers/llama-index-readers-google/pyproject.toml b/llama-index-integrations/readers/llama-index-readers-google/pyproject.toml
index 8c858b15e921e16bd8902404294369105fd862d1..046213bbd4f6116408bf52bce7c3646380109dbf 100644
--- a/llama-index-integrations/readers/llama-index-readers-google/pyproject.toml
+++ b/llama-index-integrations/readers/llama-index-readers-google/pyproject.toml
@@ -45,7 +45,7 @@ maintainers = [
 ]
 name = "llama-index-readers-google"
 readme = "README.md"
-version = "0.2.1"
+version = "0.2.2"
 
 [tool.poetry.dependencies]
 python = ">=3.10,<4.0"
diff --git a/llama-index-integrations/readers/llama-index-readers-google/tests/test_drive_id.py b/llama-index-integrations/readers/llama-index-readers-google/tests/test_drive_id.py
deleted file mode 100644
index 6ffc4e921fa7bdbfd8ba08618cd64ba6c0fff9ce..0000000000000000000000000000000000000000
--- a/llama-index-integrations/readers/llama-index-readers-google/tests/test_drive_id.py
+++ /dev/null
@@ -1,29 +0,0 @@
-import unittest
-from unittest.mock import MagicMock
-from llama_index.readers.google import GoogleDriveReader
-
-
-class TestGoogleDriveReader(unittest.TestCase):
-    def test_load_data_with_drive_id(self):
-        # Mock the necessary objects and methods
-        mock_credentials = MagicMock()
-        mock_drive = MagicMock()
-        reader = GoogleDriveReader()
-        reader._get_credentials = MagicMock(return_value=(mock_credentials, mock_drive))
-        reader._load_from_folder = MagicMock(return_value=["document1", "document2"])
-
-        # Test with a specific drive_id
-        drive_id = "example_drive_id"
-        folder_id = "example_folder_id"
-        result = reader.load_data(drive_id=drive_id, folder_id=folder_id)
-
-        # Assert that the correct methods are called and the correct result is returned
-        reader._get_credentials.assert_called_once()
-        reader._load_from_folder.assert_called_once_with(
-            drive_id, folder_id, None, None
-        )
-        self.assertEqual(result, ["document1", "document2"])
-
-
-if __name__ == "__main__":
-    unittest.main()
diff --git a/llama-index-integrations/readers/llama-index-readers-google/tests/test_readers_google_drive.py b/llama-index-integrations/readers/llama-index-readers-google/tests/test_readers_google_drive.py
index 871f4ca7ad87eff2884f7006d13013061504fde7..23ccdaf2f3c78a455260158eec3a4fe23ddff1c3 100644
--- a/llama-index-integrations/readers/llama-index-readers-google/tests/test_readers_google_drive.py
+++ b/llama-index-integrations/readers/llama-index-readers-google/tests/test_readers_google_drive.py
@@ -1,6 +1,10 @@
 import json
 from tempfile import TemporaryDirectory
 
+import unittest
+from unittest.mock import MagicMock
+from llama_index.readers.google import GoogleDriveReader
+
 from llama_index.core.readers.base import BaseReader
 import pytest
 from llama_index.readers.google import GoogleDriveReader
@@ -10,51 +14,79 @@ test_authorized_user_info = {"authorized_user_info": {"key": "value"}}
 test_service_account_key = {"service_account_key": {"key": "value"}}
 
 
-def test_class():
-    names_of_base_classes = [b.__name__ for b in GoogleDriveReader.__mro__]
-    assert BaseReader.__name__ in names_of_base_classes
+class TestGoogleDriveReader(unittest.TestCase):
+    def test_class(self):
+        names_of_base_classes = [b.__name__ for b in GoogleDriveReader.__mro__]
+        assert BaseReader.__name__ in names_of_base_classes
 
+    def test_serialize(self):
+        reader = GoogleDriveReader(
+            client_config=test_client_config,
+            authorized_user_info=test_authorized_user_info,
+        )
 
-def test_serialize():
-    reader = GoogleDriveReader(
-        client_config=test_client_config,
-        authorized_user_info=test_authorized_user_info,
-    )
+        schema = reader.schema()
+        assert schema is not None
+        assert len(schema) > 0
+        assert "client_config" in schema["properties"]
 
-    schema = reader.schema()
-    assert schema is not None
-    assert len(schema) > 0
-    assert "client_config" in schema["properties"]
+        json_reader = reader.json(exclude_unset=True)
 
-    json_reader = reader.json(exclude_unset=True)
+        new_reader = GoogleDriveReader.parse_raw(json_reader)
+        assert new_reader.client_config == reader.client_config
+        assert new_reader.authorized_user_info == reader.authorized_user_info
 
-    new_reader = GoogleDriveReader.parse_raw(json_reader)
-    assert new_reader.client_config == reader.client_config
-    assert new_reader.authorized_user_info == reader.authorized_user_info
+    def test_serialize_from_file(self):
+        with TemporaryDirectory() as tmp_dir:
+            file_name = f"{tmp_dir}/test_service_account_key.json"
+            with open(file_name, "w") as f:
+                f.write(json.dumps(test_service_account_key))
 
+            reader = GoogleDriveReader(
+                service_account_key_path=file_name,
+            )
 
-def test_serialize_from_file():
-    with TemporaryDirectory() as tmp_dir:
-        file_name = f"{tmp_dir}/test_service_account_key.json"
-        with open(file_name, "w") as f:
-            f.write(json.dumps(test_service_account_key))
+        schema = reader.schema()
+        assert schema is not None
+        assert len(schema) > 0
+        assert "service_account_key" in schema["properties"]
 
-        reader = GoogleDriveReader(
-            service_account_key_path=file_name,
-        )
+        json_reader = reader.json(exclude_unset=True)
 
-    schema = reader.schema()
-    assert schema is not None
-    assert len(schema) > 0
-    assert "service_account_key" in schema["properties"]
+        new_reader = GoogleDriveReader.parse_raw(json_reader)
+        assert new_reader.service_account_key == reader.service_account_key
+        assert new_reader.service_account_key == test_service_account_key
 
-    json_reader = reader.json(exclude_unset=True)
+    def test_error_on_missing_args(self):
+        with pytest.raises(ValueError):
+            GoogleDriveReader()
 
-    new_reader = GoogleDriveReader.parse_raw(json_reader)
-    assert new_reader.service_account_key == reader.service_account_key
-    assert new_reader.service_account_key == test_service_account_key
+    def test_load_data_with_drive_id(self):
+        # Mock the necessary objects and methods
+        mock_credentials = MagicMock()
+        mock_drive = MagicMock()
+        GoogleDriveReader._get_credentials = MagicMock(
+            return_value=(mock_credentials, mock_drive)
+        )
+        GoogleDriveReader._load_from_folder = MagicMock(
+            return_value=["document1", "document2"]
+        )
+        reader = GoogleDriveReader(
+            client_config={
+                "client_id": "example_client_id",
+                "client_secret": "example_client_secret",
+            },
+        )
+
+        # Test with a specific drive_id
+        drive_id = "example_drive_id"
+        folder_id = "example_folder_id"
+        result = reader.load_data(drive_id=drive_id, folder_id=folder_id)
 
+        # Assert that the correct methods are called and the correct result is returned
+        reader._get_credentials.assert_called_once()
+        reader._load_from_folder.assert_called_once_with(
+            drive_id, folder_id, None, None
+        )
 
-def test_error_on_missing_args():
-    with pytest.raises(ValueError):
-        GoogleDriveReader()
+        assert result == ["document1", "document2"]