#!/usr/bin/env python3 """ Script to give test users some items to drop """ import asyncio import sys import random sys.path.insert(0, '/app') from api import database as db async def give_test_users_items(): """Give all loadtest users some random items""" # Common items to give items_to_give = [ 'scrap_metal', 'wood', 'cloth', 'water_bottle', 'canned_food', 'medkit', 'bandage', 'rusty_pipe', 'battery', 'rope' ] async with db.DatabaseSession() as session: from sqlalchemy import select, insert # Get all loadtest users stmt = select(db.players).where(db.players.c.username.like('loadtest_user_%')) result = await session.execute(stmt) users = result.all() print(f"Found {len(users)} loadtest users") if not users: print("No loadtest users found!") return # Give each user 5-10 random items for user in users: num_items = random.randint(5, 10) for _ in range(num_items): item_id = random.choice(items_to_give) quantity = random.randint(1, 20) stmt = insert(db.inventory).values( player_id=user.id, item_id=item_id, quantity=quantity, is_equipped=False ) await session.execute(stmt) await session.commit() print(f"Gave items to {len(users)} loadtest users") if __name__ == "__main__": asyncio.run(give_test_users_items())