import requests
import random

###
# Create random users for the organization the user is logged into.
# Change the token to the user's token, and it will do the rest.

headers = {
    'authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImp0aSI6IjYzN2UyMDAzYzk4MjYifQ.eyJpc3MiOiJ1c2VybmFtZSIsImF1ZCI6Imh0dHA6XC9cL3NtZC5kZXYudzVob3N0LmNvbSIsImp0aSI6IjYzN2UyMDAzYzk4MjYiLCJpYXQiOjE2NjkyMTAxMTUsImV4cCI6MTY2OTIxMzcxNSwidWlkIjo3MDMsInZlcmlmaWVkIjp0cnVlLCJyZW1lbWJlck1lIjpmYWxzZX0.wXVsbulTLXLvDk-lwxZDDOH7mPd5sVbMvY9j6KAi0cw',
}

firstnames = ['John', 'Jane', 'Bob', 'Mary', 'Joe', 'Sarah', 'Tom', 'Sally', 'Bill', 'Sue', 'Jack', 'Jill', 'Sam', 'Samantha', 'Mike', 'Michele', 'Steve', 'Susan', 'Chris', 'Christine', 'Fred', 'Frances', 'George', 'Gina', 'Harry', 'Helen', 'Ivan', 'Irene', 'Jack', 'Jill', 'Kevin', 'Karen', 'Larry', 'Linda', 'Mark', 'Mary', 'Nate', 'Nancy', 'Oscar', 'Olivia', 'Paul', 'Pam', 'Quentin', 'Quinn', 'Roger', 'Rose', 'Steve', 'Sue', 'Tim', 'Tina', 'Ulysses', 'Ursula', 'Victor', 'Vera', 'Walter', 'Wendy', 'Xavier', 'Xena', 'Yancy', 'Yolanda', 'Zach', 'Zoe', 'Karen']
lastnames = ['Smith', 'Johnson', 'Williams', 'Jones', 'Brown', 'Davis', 'Miller', 'Wilson', 'Moore', 'Taylor', 'Anderson', 'Thomas', 'Jackson', 'White', 'Harris', 'Martin', 'Thompson', 'Garcia', 'Martinez', 'Robinson', 'Clark', 'Rodriguez', 'Lewis', 'Lee', 'Walker', 'Hall', 'Allen', 'Young', 'Hernandez', 'King', 'Wright', 'Lopez', 'Hill', 'Scott', 'Green', 'Adams', 'Baker', 'Gonzalez', 'Nelson', 'Carter', 'Mitchell', 'Perez', 'Roberts', 'Turner', 'Phillips', 'Campbell', 'Parker', 'Evans', 'Edwards', 'Collins', 'Stewart', 'Sanchez', 'Morris', 'Rogers', 'Reed', 'Cook', 'Morgan', 'Bell', 'Murphy', 'Bailey', 'Rivera', 'Cooper', 'Richardson', 'Cox', 'Howard', 'Ward', 'Torres', 'Peterson', 'Gray', 'Ramirez', 'James', 'Watson', 'Brooks', 'Kelly', 'Sanders', 'Price', 'Bennett', 'Wood', 'Barnes', 'Ross', 'Henderson', 'Coleman', 'Jenkins', 'Perry', 'Powell', 'Long', 'Patterson', 'Hughes', 'Flores', 'Washington', 'Butler', 'Simmons', 'Foster', 'Gonzales', 'Bryant', 'Alexander', 'Russell', 'Griffin', 'Diaz', 'Hayes']

rolesResponse = requests.get('https://dev.esemdev.com/api/roles', headers=headers).json()
roles = rolesResponse['roles']

for i in range(200):
    role = random.choice(list(roles.values()))[0]

    firstName = random.choice(firstnames)
    lastName = random.choice(lastnames)

    username = firstName + lastName.lower() + str(random.randint(1, 1000))

    email = firstName.lower() + '.' + lastName.lower() + str(random.randint(1000, 3000)) + '@example.com'

    data = [
        ('username', username),
        ('firstName', firstName),
        ('lastName', lastName),
        ('email', email),
        ('mainOrganizationID', role['organizationID']),
        ('mainOrganizationRole', role['roleID']),
    ]

    response = requests.post('https://dev.esemdev.com/api/users/', headers=headers, data=data)
    print("OK") if response.status_code == 200 else print("ERROR")