def connect(area):
    """
    A simple function for DB connection
    Args:
        area: area of the DB

    Returns: the connection

    """
    json_object = retrieve_config()
    if area == "Cloud":
        db = mysql.connect(host=json_object['cloud']['db'],
                           user=json_object['user'],
                           passwd=json_object['passwd'],
                           database=json_object['database'],
                           auth_plugin='mysql_native_password',
                           buffered=True)
    else:
        db = mysql.connect(host=json_object['fog']['db'][area],
                           user=json_object['user'],
                           passwd=json_object['passwd'],
                           database=json_object['database'],
                           auth_plugin='mysql_native_password',
                           buffered=True)
    return db
from random import randint

from locust import HttpUser, tag, task, between, constant

from config.config import retrieve_config

config = retrieve_config()


class IotUser(HttpUser):
    areas = ['Area A', 'Area B', 'Area C']
    HTTP = 'http://'
    host = HTTP + "127.0.0.1:8001"  # just to avoid error
    wait_time = constant(30)
    n_patient = config['initial_patient'] - 1

    @tag('iotA')
    @task
    def iot_a(self):
        """
        function that simulates the sending of diagnostic data to the Fog A node
        Returns:

        """
        area = 'Area A'
        host = config['fog']['elb'][area]

        id_patient = randint(0, self.n_patient)
        blood_pressure = randint(30, 119)
        bmi = randint(16, 39)
        glucose = randint(35, 499)