Google Ads MCP

by cohnen
Verified
def format_customer_id(customer_id: str) -> str: """Format customer ID to ensure it's 10 digits without dashes.""" # Convert to string if passed as integer or another type customer_id = str(customer_id) # Remove any quotes surrounding the customer_id (both escaped and unescaped) customer_id = customer_id.replace('\"', '').replace('"', '') # Remove any non-digit characters (including dashes, braces, etc.) customer_id = ''.join(char for char in customer_id if char.isdigit()) # Ensure it's 10 digits with leading zeros if needed return customer_id.zfill(10) def test_format_customer_id(): """Test the format_customer_id function with various input formats.""" test_cases = [ # Regular ID ("9873186703", "9873186703"), # ID with dashes ("987-318-6703", "9873186703"), # ID with quotes ('"9873186703"', "9873186703"), # ID with escaped quotes ('\"9873186703\"', "9873186703"), # ID with leading zeros that exceed 10 digits - should preserve only last 10 ("0009873186703", "0009873186703"), # Short ID that needs padding ("12345", "0000012345"), # ID with other non-digit characters ("{9873186703}", "9873186703"), ] print("\n=== Testing format_customer_id with various formats ===") for input_id, expected in test_cases: result = format_customer_id(input_id) print(f"Input: {input_id}") print(f"Result: {result}") print(f"Expected: {expected}") print(f"Test {'PASSED' if result == expected else 'FAILED'}") print("-" * 50) if __name__ == "__main__": # Run format_customer_id tests test_format_customer_id()