=== Table Check === ✓ spam_trap_emails: 0 rows ✓ disposable_domains: 20 rows ✓ free_email_providers: 0 rows ✓ role_based_prefixes: 0 rows ✓ blacklisted_domains: 0 rows ✓ whitelisted_domains: 0 rows ✓ catchall_domains: 0 rows ✓ import_batches: 15 rows ✓ validation_data_sources: 4 rows ✓ validation_data_settings: 13 rows === Settings === spam_trap_check_enabled = 1 disposable_check_enabled = 1 blacklist_check_enabled = 1 whitelist_check_enabled = 1 role_based_check_enabled = 1 catchall_check_enabled = 1 free_provider_check_enabled = 1 role_based_behavior = risky free_provider_behavior = valid_tag catchall_behavior = risky auto_sync_enabled = 1 import_chunk_size = 1000 cache_duration_minutes = 60 === Data Sources === Disposable Email Domains (ivolo) (disposable, weekly) Free Email Domains (willwhite) (free_providers, monthly) Disposable Email Domains (ivolo) (disposable, weekly) Free Email Domains (willwhite) (free_providers, monthly) === DomainChecker Integration Tests === isDisposable('mailinator.com'): YES isDisposable('gmail.com'): NO isRoleBased('admin'): NO isRoleBased('john'): NO isFreeProvider('gmail.com'): NO isFreeProvider('mycompany.com'): NO isBlacklisted('some-random-domain.com'): NO isWhitelisted('some-random-domain.com'): NO isCheckEnabled('disposable_check_enabled'): YES === ImportService Tests === Stats: spam_traps: 0 disposable: 20 free_providers: 0 role_prefixes: 0 blacklisted: 0 whitelisted: 0 catchall: 0 Testing paste import... Total: 4, Imported: 3, Duplicates: 0, Invalid: 0 Testing duplicate detection... Total: 2, Imported: 0, Duplicates: 2 Testing manual add... Result: SUCCESS Duplicate add: BLOCKED: Already exists getData (search 'test-import'): 3 found Import history: 5 batches Integrity check: 0 issue(s) === Cleanup === Test data cleaned up. ================================================== ALL CHECKS PASSED! ==================================================