92
tests/test_pushover.py
Executable file
92
tests/test_pushover.py
Executable file
@@ -0,0 +1,92 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Test Pushover Notifications
|
||||
Sends a test notification to verify credentials and setup
|
||||
"""
|
||||
|
||||
import sys
|
||||
import json
|
||||
from pathlib import Path
|
||||
from datetime import datetime
|
||||
|
||||
# Add modules to path
|
||||
sys.path.insert(0, str(Path(__file__).parent))
|
||||
sys.path.insert(0, str(Path(__file__).parent / 'modules'))
|
||||
|
||||
from modules.pushover_notifier import PushoverNotifier
|
||||
|
||||
def load_config():
|
||||
"""Load configuration from settings.json"""
|
||||
config_path = Path(__file__).parent / 'config' / 'settings.json'
|
||||
with open(config_path, 'r') as f:
|
||||
return json.load(f)
|
||||
|
||||
def main():
|
||||
print("Testing Pushover Notifications...")
|
||||
print("-" * 50)
|
||||
|
||||
# Load config
|
||||
config = load_config()
|
||||
pushover_config = config.get('pushover', {})
|
||||
|
||||
# Check if enabled
|
||||
if not pushover_config.get('enabled'):
|
||||
print("❌ Pushover is disabled in config")
|
||||
print(" Set 'enabled': true in config/settings.json")
|
||||
return 1
|
||||
|
||||
# Check credentials
|
||||
user_key = pushover_config.get('user_key')
|
||||
api_token = pushover_config.get('api_token')
|
||||
|
||||
if not user_key or not api_token:
|
||||
print("❌ Missing Pushover credentials")
|
||||
print(" Add 'user_key' and 'api_token' to config/settings.json")
|
||||
return 1
|
||||
|
||||
print(f"✓ Pushover enabled")
|
||||
print(f"✓ User key: {user_key[:10]}...")
|
||||
print(f"✓ API token: {api_token[:10]}...")
|
||||
print()
|
||||
|
||||
# Create notifier
|
||||
notifier = PushoverNotifier(
|
||||
user_key=user_key,
|
||||
api_token=api_token,
|
||||
enabled=True,
|
||||
default_priority=pushover_config.get('priority', 0),
|
||||
device=pushover_config.get('device')
|
||||
)
|
||||
|
||||
# Send test notification
|
||||
print("Sending test notification...")
|
||||
|
||||
success = notifier.notify_download(
|
||||
platform='instagram',
|
||||
source='evalongoria',
|
||||
content_type='story',
|
||||
filename='test_story_20251019.mp4',
|
||||
count=3,
|
||||
metadata={'post_date': datetime.now()}
|
||||
)
|
||||
|
||||
if success:
|
||||
print("✅ Test notification sent successfully!")
|
||||
print()
|
||||
print("Check your Pushover app for the notification.")
|
||||
print()
|
||||
print("Stats:", notifier.get_stats())
|
||||
return 0
|
||||
else:
|
||||
print("❌ Failed to send notification")
|
||||
print()
|
||||
print("Stats:", notifier.get_stats())
|
||||
print()
|
||||
print("Possible issues:")
|
||||
print(" - Invalid user_key or api_token")
|
||||
print(" - No internet connection")
|
||||
print(" - Pushover service down")
|
||||
return 1
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(main())
|
||||
Reference in New Issue
Block a user