test_google_drive.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import pytest
  2. from embedchain.loaders.google_drive import GoogleDriveLoader
  3. @pytest.fixture
  4. def google_drive_folder_loader():
  5. return GoogleDriveLoader()
  6. def test_load_data_invalid_drive_url(google_drive_folder_loader):
  7. mock_invalid_drive_url = "https://example.com"
  8. with pytest.raises(
  9. ValueError,
  10. match="The url provided https://example.com does not match a google drive folder url. Example "
  11. "drive url: https://drive.google.com/drive/u/0/folders/xxxx",
  12. ):
  13. google_drive_folder_loader.load_data(mock_invalid_drive_url)
  14. @pytest.mark.skip(reason="This test won't work unless google api credentials are properly setup.")
  15. def test_load_data_incorrect_drive_url(google_drive_folder_loader):
  16. mock_invalid_drive_url = "https://drive.google.com/drive/u/0/folders/xxxx"
  17. with pytest.raises(
  18. FileNotFoundError, match="Unable to locate folder or files, check provided drive URL and try again"
  19. ):
  20. google_drive_folder_loader.load_data(mock_invalid_drive_url)
  21. @pytest.mark.skip(reason="This test won't work unless google api credentials are properly setup.")
  22. def test_load_data(google_drive_folder_loader):
  23. mock_valid_url = "YOUR_VALID_URL"
  24. result = google_drive_folder_loader.load_data(mock_valid_url)
  25. assert "doc_id" in result
  26. assert "data" in result
  27. assert "content" in result["data"][0]
  28. assert "meta_data" in result["data"][0]