🔍 Code Extractor

function quick_test

Maturity: 44

A diagnostic function that tests SharePoint Graph API connectivity and verifies access to the main site library by checking for expected folder structures in the root directory.

File:
/tf/active/vicechatdev/SPFCsync/quick_test.py
Lines:
10 - 74
Complexity:
moderate

Purpose

This function serves as a connectivity and configuration validation tool for SharePoint integration. It initializes a SharePoint Graph client, retrieves root folder contents, and verifies that expected folders (01 UCJ, 02 Toxicology, 03 CMC, 04 Quality) are present in the main site library. It provides detailed console output with visual indicators to help diagnose connection issues and confirm proper setup.

Source Code

def quick_test():
    """Quick test to verify main site library access"""
    config = Config()
    
    try:
        client = SharePointGraphClient(
            site_url=config.SHAREPOINT_SITE_URL,
            client_id=config.AZURE_CLIENT_ID,
            client_secret=config.AZURE_CLIENT_SECRET
        )
        
        print("✅ SharePoint Graph client initialized successfully")
        print(f"Site ID: {client.site_id}")
        print(f"Drive ID: {client.drive_id}")
        print()
        
        # Get just the root folder contents
        headers = {
            'Authorization': f'Bearer {client.access_token}',
            'Accept': 'application/json'
        }
        
        root_url = f"https://graph.microsoft.com/v1.0/drives/{client.drive_id}/root/children"
        response = requests.get(root_url, headers=headers)
        
        if response.status_code == 200:
            root_data = response.json()
            items = root_data.get('value', [])
            
            folders = [item for item in items if 'folder' in item]
            files = [item for item in items if 'file' in item]
            
            print("🎯 ROOT FOLDER CONTENTS:")
            print(f"📁 {len(folders)} folders, 📄 {len(files)} files")
            print()
            
            print("📁 FOLDERS:")
            expected_patterns = ['01 UCJ', '02 Toxicology', '03 CMC', '04 Quality']
            
            for folder in folders:
                folder_name = folder.get('name', 'Unknown')
                is_expected = any(pattern in folder_name for pattern in expected_patterns)
                marker = "🎯" if is_expected else "📁"
                print(f"{marker} {folder_name}")
                
                if is_expected:
                    print(f"   ✅ Expected folder found!")
            
            # Count expected folders found
            expected_found = sum(1 for folder in folders 
                               if any(pattern in folder.get('name', '') 
                                    for pattern in expected_patterns))
            
            print()
            print(f"🎊 SUCCESS! Found {expected_found}/4 expected folders")
            print("✅ We are now connected to the MAIN SITE LIBRARY!")
            
        else:
            print(f"❌ Failed to get root contents: {response.status_code}")
            print(response.text)
            
    except Exception as e:
        print(f"❌ Error: {e}")
        import traceback
        traceback.print_exc()

Return Value

This function does not return any value (implicitly returns None). It outputs diagnostic information directly to the console, including success/failure messages, folder listings, and error tracebacks if exceptions occur.

Dependencies

  • requests
  • sharepoint_graph_client
  • config

Required Imports

from sharepoint_graph_client import SharePointGraphClient
from config import Config
import requests

Conditional/Optional Imports

These imports are only needed under specific conditions:

import traceback

Condition: only when an exception occurs during execution

Optional

Usage Example

# Ensure config.py exists with required settings
# from config import Config
# Config should have: SHAREPOINT_SITE_URL, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET

from sharepoint_graph_client import SharePointGraphClient
from config import Config
import requests

def quick_test():
    # Function implementation here
    pass

# Run the diagnostic test
quick_test()

# Expected output:
# ✅ SharePoint Graph client initialized successfully
# Site ID: <site_id>
# Drive ID: <drive_id>
# 🎯 ROOT FOLDER CONTENTS:
# 📁 4 folders, 📄 0 files
# ...

Best Practices

  • This function should be run in a development or testing environment to verify SharePoint configuration before production use
  • Ensure all Azure credentials are properly configured in the Config class before running
  • The function expects specific folder naming patterns (01 UCJ, 02 Toxicology, 03 CMC, 04 Quality) - modify expected_patterns list if your SharePoint structure differs
  • Review console output carefully to diagnose connection or permission issues
  • This function prints sensitive information (Site ID, Drive ID) - avoid running in production logs
  • The function uses synchronous requests.get() - not suitable for async environments
  • Error handling includes full traceback printing which is helpful for debugging but should not be used in production code

Similar Components

AI-powered semantic similarity - components with related functionality:

  • function test_graph_client 80.8% similar

    A test function that validates the SharePoint Graph API client by testing authentication, document listing, and file download capabilities.

    From: /tf/active/vicechatdev/SPFCsync/test_graph_client.py
  • function main_v44 78.3% similar

    Diagnostic function that tests SharePoint tenant configuration by checking Microsoft Graph API access and provides recommendations based on the results.

    From: /tf/active/vicechatdev/SPFCsync/check_tenant_config.py
  • function test_folder_structure 77.0% similar

    Tests SharePoint folder structure by listing root-level folders, displaying their contents, and providing a summary of total folders and documents.

    From: /tf/active/vicechatdev/SPFCsync/test_folder_structure.py
  • function test_graph_sites_api 76.9% similar

    Tests Microsoft Graph API access to SharePoint sites by attempting to list available sites and locate a specific target site (vicebio.com), then tests drive access if found.

    From: /tf/active/vicechatdev/SPFCsync/check_tenant_config.py
  • function main_v21 76.7% similar

    Main test function that validates SharePoint folder structure connectivity and configuration, comparing actual folders against expected structure.

    From: /tf/active/vicechatdev/SPFCsync/test_folder_structure.py
← Back to Browse