Example #1
0
def get_user_data(test_locale='en'):
    person = {}
    user = Personal(test_locale)
    address = Address(test_locale)

    person['first_name'], person['last_name'] = user.full_name(gender='male').split()
    common.success("Generated user name '%s %s'" % (person['first_name'], person['last_name']))
    person['email'] = user.email(gender='male')
    common.success("Generated email '%s'" % person['email'])
    person['street'] = address.address()
    person['city'] = address.city()
    person['state'] = address.state()
    person['postcode'] = address.postal_code()
    common.success("Generated address '%s %s, %s, %s'" % (person['postcode'], person['state'], person['city'], person['street']))
    person['password'] = ''.join(random.SystemRandom().choice(string.digits + string.ascii_letters) for _ in range(10))
    common.success("Generated password '%s'" % person['password'])
    if (test_locale == 'en'):
        person['country_code'] = 'US'
        person['country'] = 'United States'
        person['state_code'] = 'IA'
        person['state'] = 'Iowa'
    elif (test_locale == 'ru'):
        person['country_code'] = 'RU'
        person['country'] = 'Russian Federation'
        person['state_code'] = None
        person['state'] = None
    else:
        person['country_code'] = None
        person['country'] = None
        person['state_code'] = None
        person['state'] = None
    common.success("Generated country '%s' and state '%s'" % (person['country'], person['state']))
    return person
def product_add_to_db(request):
    person_data = Personal('ru')
    person_address = Address('ru')
    busines = Business('ru')
    date = Datetime('ru')
    text = Text('ru')

    for _ in range(301):
        Products.objects.create(
            product_name=text.title(),
            product_slug=person_data.cid(),
            product_description=text.text(quantity=5),
            product_price=random_price(),
            product_created_at=date.date(start=2017,
                                         end=2017,
                                         fmt='%Y-%m-%d %H:%M:%S'),
            product_modified_at=date.date(start=2017,
                                          end=2017,
                                          fmt='%Y-%m-%d %H:%M:%S'),
        )
    for _ in range(127):

        user = User.objects.create(username='******'.format(
            str(datetime.datetime.now().microsecond)),
                                   password='******')
        Consumers.objects.create(
            user=user,
            full_name=person_data.full_name(),
            banned=true_or_false(),
            gender=person_data.gender(),
        )
Example #3
0
    def init(count=2000, locale='en'):
        from elizabeth import Personal, Text
        gen = Personal(locale)
        text = Text(locale)

        for _ in range(count):
            gen_post = Contact(name=gen.name(),
                               num=gen.credit_card_number(),
                               some_blank=text.text(3),
                               some_null=gen.email())
            gen_post.save()
Example #4
0
def generate_user(count=60, locale="en"):
    person = Personal(locale)
    genders = ["male", "female"]
    for _ in range(count):
        while True:
            username = person.name(gender=genders[_ % 2])
            if User.query.filter_by(username=username).first() is None:
                break
        email = username.replace(" ", "_") + "@weblog.com"
        new = User(username=username, email=email, password=person.password())
        db.session.add(new)
    db.session.commit()
Example #5
0
    def tell_me_your_name(self, gender):
        """
        Uses elizabeth to generate a random name

        Returns:
            string
        """
        personal = Personal('en')
        # only two genders are available to elizabeth
        # elizabeth uses the gender to generate a name
        full_name = personal.full_name(gender=gender)
        return full_name
Example #6
0
def generate_patients(number, male, female):
    patients = []
    person = Personal('en')
    sensors = [
        "Blood Pressure", "Heart Rate", "Glucose Levels",
        "Blood Oxygen Saturation"
    ]

    # males
    for i in range(int(number * male)):
        first_name = person.name(gender="male")
        last_name = person.surname()
        age = person.age(18)

        # creates a copy of sensors
        x = sensors
        # shuffles the sensors
        random.shuffle(x)
        # picks a random number of sensors
        sens = ",".join(x[:random.randrange(1, len(sensors))])

        # sql query here
        patients.append(
            Patient(
                ID=0,  #not important for this step as sql will auto increment
                first_name=first_name,
                last_name=last_name,
                age=age,
                gender="Male",
                sensors=sens))

    # females
    for i in range(int(number * female)):
        first_name = person.name(gender="female")
        last_name = person.surname()
        age = person.age(18)
        gender = "famale"

        # creates a copy of sensors
        x = sensors
        # shuffles the sensors
        random.shuffle(x)
        # picks a random number of sensors
        sens = ",".join(x[:random.randrange(1, len(sensors))])

        # sql query here
        patients.append(
            Patient(
                ID=0,  #not important for this step as sql will auto increment
                first_name=first_name,
                last_name=last_name,
                age=age,
                gender="Female",
                sensors=sens))

    return patients
Example #7
0
def generate_fake_metadata(encoding="utf-8", num_documents=10):
    """Generates some fake metadata in DAT format for use in testing."""
    fields = ["document_id",
              "group_id",
              "author",
              "custodian",
              "date_created",
              "date_modified",
              "date_received",
              "date_sent",
              "fulltext"]

    data = []

    personal = Personal('en')
    datetime = Datetime('en')
    text = Text('en')

    out = io.StringIO(newline="\n")

    last_parent = "BOGUS{:06d}".format(1)

    for x in range(1, num_documents):
        document = dict()
        document["document_id"] = "BOGUS{:06d}".format(x)
        random.seed()
        if random.randrange(1, 3) == 2:
            document["group_id"] = "BOGUS{:06d}".format(x)
            last_parent = document["group_id"]
        else:
            document["group_id"] = last_parent
        document["author"] = personal.name()
        document["custodian"] = personal.full_name()
        document["date_created"] = datetime.date(sep='/')
        document["date_modified"] = datetime.date(sep='/')
        document["date_received"] = datetime.date(sep='/')
        document["date_sent"] = datetime.date(sep='/')
        document["fulltext"] = text.text(quantity=10)
        data.append(document)

    writer = csv.DictWriter(out, delimiter="\x14", quotechar="\xfe", quoting=csv.QUOTE_ALL, fieldnames=fields)

    writer.writeheader()
    writer.writerows(data)

    return out.getvalue().encode(encoding)
Example #8
0
class ModelsAccountTestCase(unittest.TestCase):
    person = Personal()
    text = Text()

    def setUp(self):
        self.app = create_app("testing")
        self.client = self.app.test_client()
        self.context = self.app.app_context()
        self.context.push()
        db.create_all()

    def tearDown(self):
        db.session.remove()
        db.drop_all()
        self.context.pop()

    def test_01_save_and_delete(self):
        kwargs = {"username": self.person.name(), "email": self.person.email()}
        self.assertEqual(User.query.count(), 0)
        user = User(**kwargs)
        user.save()
        self.assertEqual(user.__repr__(),
                         "<User {} ID {}>".format(kwargs["username"], 1))
        self.assertEqual(User.query.count(), 1)
        user.delete()
        self.assertEqual(User.query.count(), 0)

    def test_02_password(self):
        kwargs = {"username": self.person.name(), "email": self.person.email()}
        password = self.person.password(16)
        user = User(**kwargs)
        self.assertIsNone(user.password_hash)
        with self.assertRaises(AttributeError):
            user.password
        user.password = password
        self.assertIsNotNone(user.password_hash)
        self.assertTrue(user.verify_password(password))
        self.assertFalse(user.verify_password(self.person.password(16)))

    def test_03_token(self):
        kwargs = {"username": self.person.name(), "email": self.person.email()}
        key_1, key_2 = self.text.words(2)
        user = User(**kwargs)
        user.save()
        token_1 = user.generate_token(key_1)
        sleep(1)
        token_1_delay = user.generate_token(key_1)
        self.assertNotEqual(token_1, token_1_delay)
        token_2 = user.generate_token(key_2)
        self.assertEquals((User.confirm(key_1, token_1), user),
                          (User.confirm(key_2, token_2), user))
        self.assertIsNone(User.confirm(key_2, token_1))
        token = user.generate_token(key_1, expiration=2)
        self.assertEqual(User.confirm(key_1, token), user)
        sleep(3)
        self.assertIsNone(User.confirm(key_1, token))
Example #9
0
    def setUp(self):
        self.app = create_app("testing")
        self.client = self.app.test_client()
        self.context = self.app.app_context()
        self.context.push()
        db.create_all()
        person = Personal()
        text = Text()
        kwargs = {
            "username": person.username(),
            "email": person.email(),
            "password": person.password(16)
        }
        user = User(**kwargs)
        user.save()

        def __auth():
            response = self.client.post("/api/auth",
                                        data=json.dumps(kwargs),
                                        content_type="application/json")
            self.assertEqual(response.status_code, 200)

        def __post():
            post = Post(title=self.text.title(),
                        summary=text.text(3),
                        body=text.text(6),
                        author=user)
            category = Category(name=text.word())
            category.save()
            post.category = category
            tag = Tag(name=text.word())
            tag.save()
            post.tags.append(tag)
            post.save()
            return post

        self.login = __auth
        self.new_post = __post
        del kwargs["email"]
        self.data = {"kwargs": kwargs, "user": user}
        self.text = text
        self.person = person
Example #10
0
async def generate_users(pg, rows=20, locale='en'):
    """
    Insert data into users table
    :param pg: connect to DB engine(PostgreSQL)
    :param rows: numbers of rows
    :param locale: language locale
    :return: list of user_id
    """

    values = []
    user = Personal(locale)
    for i in range(rows):
        gender = choice(['female', 'male'])
        values.append({
            'first_name': user.name(gender=gender),
            'last_name': user.surname(gender=gender),
            'user_id': uuid.uuid4(),
        })

    ids = await insert_data(pg, models.users, values, res=True)
    return ids
Example #11
0
 def setUp(self):
     self.personal = Personal()
Example #12
0
class PersonalBaseTest(TestCase):
    def setUp(self):
        self.personal = Personal()

    def tearDown(self):
        del self.personal

    def test_str(self):
        self.assertTrue(re.match(STR_REGEX, self.personal.__str__()))

    def test_age(self):
        result = self.personal.age(maximum=55)
        self.assertTrue(result <= 55)

    def test_age(self):
        result = self.personal.age(maximum=55)
        self.assertTrue(result <= 55)

    def test_age_store(self):
        result = self.personal._store['age']
        self.assertEqual(result, 0)

    def test_age_update(self):
        result = self.personal.age() - self.personal._store[
            'age']  # calling age() should go first
        self.assertEqual(result, 0)

    def test_child_count(self):
        result = self.personal.child_count(max_childs=10)
        self.assertTrue(result <= 10)

    def test_work_experience(self):
        result = self.personal.work_experience(
            working_start_age=0) - self.personal._store['age']
        self.assertEqual(result, 0)

    def test_work_experience_store(self):
        result = self.personal.work_experience(
        ) - self.personal.work_experience()
        self.assertEqual(result, 0)

    def test_work_experience_extreme(self):
        result = self.personal.work_experience(working_start_age=100000)
        self.assertEqual(result, 0)

    def test_paypal(self):
        result = self.personal.paypal()
        self.assertIsNotNone(result)

    def test_password(self):
        plain = self.personal.password(length=15)
        self.assertEqual(len(plain), 15)

        md5 = self.personal.password(algorithm='md5')
        self.assertEqual(len(md5), 32)

        sha1 = self.personal.password(algorithm='sha1')
        self.assertEqual(len(sha1), 40)

        sha256 = self.personal.password(algorithm='sha256')
        self.assertEqual(len(sha256), 64)

        sha512 = self.personal.password(algorithm='sha512')
        self.assertEqual(len(sha512), 128)

        with self.assertRaises(NotImplementedError):
            self.personal.password(algorithm='sha42')

    def test_username(self):
        result = self.personal.username()
        self.assertTrue(re.match(USERNAME_REGEX, result))

    def test_email(self):
        result = self.personal.email()
        self.assertTrue(re.match(EMAIL_REGEX, result))

    def test_bitcoin(self):
        result = self.personal.bitcoin()
        self.assertEqual(len(result), 34)

    def test_cvv(self):
        result = self.personal.cvv()
        self.assertTrue((100 <= result) and (result <= 999))

    def test_credit_card_number(self):
        result = self.personal.credit_card_number()
        self.assertTrue(re.match(CREDIT_CARD_REGEX, result))

        result_mc = self.personal.credit_card_number(card_type='master_card')
        self.assertTrue(re.match(CREDIT_CARD_REGEX, result_mc))

        result_ax = self.personal.credit_card_number(card_type='amex')
        self.assertTrue(re.match(CREDIT_CARD_REGEX, result_ax))

        with self.assertRaises(NotImplementedError):
            self.personal.credit_card_number(card_type="discover")

    def test_expiration_date(self):
        result = self.personal.credit_card_expiration_date(minimum=16,
                                                           maximum=25)

        year = result.split('/')[1]
        self.assertTrue((int(year) >= 16) and (int(year) <= 25))

    def test_cid(self):
        result = self.personal.cid()
        self.assertTrue((1000 <= result) and (result <= 9999))

    def test_height(self):
        result = self.personal.height(minimum=1.60, maximum=1.90)
        self.assertTrue(result.startswith('1'))
        self.assertIsInstance(result, str)

    def test_weight(self):
        result = self.personal.weight(minimum=40, maximum=60)
        self.assertTrue((result >= 40) and (result <= 60))

    def test_blood_type(self):
        result = self.personal.blood_type()
        self.assertIn(result, common.BLOOD_GROUPS)

    def test_favorite_movie(self):
        result = self.personal.favorite_movie()
        self.assertIn(result, self.personal.data['favorite_movie'])

    def test_favorite_music_genre(self):
        result = self.personal.favorite_music_genre()
        self.assertIn(result, common.FAVORITE_MUSIC_GENRE)

    def test_avatar(self):
        result = self.personal.avatar(size=512)
        img, size, _, _, _, _ = result.split('/')[::-1]
        self.assertEqual(int(size), 512)
        self.assertEqual(32, len(img.split('.')[0]))

    def test_identifier(self):
        result = self.personal.identifier()
        mask = '##-##/##'
        self.assertEqual(len(mask), len(result))

        result = self.personal.identifier(mask='##', suffix=True)
        lst = result.split()
        _id, sfx = lst[0], lst[1]
        self.assertEqual(len(_id), 2)
        self.assertEqual(len(sfx), 2)

        result = self.personal.identifier(suffix=True)
        suffix = result.split(' ')[1]
        self.assertTrue(suffix.isalpha())

    def test_level_of_english(self):
        result = self.personal.level_of_english()
        lvl_s = [
            'Beginner', 'Elementary', 'Pre - Intermediate', 'Intermediate',
            'Upper Intermediate', 'Advanced', 'Proficiency'
        ]
        self.assertIn(result, lvl_s)
Example #13
0
 def mail():
     personal = Personal('ru')
     login = personal.email(gender='female')
     password = personal.password(length=15)
     b = 'login: '******'\n' + 'pass: '******'\n \n Enjoy, sweety...'
     return b
Example #14
0
class PersonalBaseTest(TestCase):
    def setUp(self):
        self.personal = Personal()

    def tearDown(self):
        del self.personal

    def test_age(self):
        result = self.personal.age(maximum=55)
        self.assertTrue(result <= 55)

    def test_paypal(self):
        result = self.personal.paypal()
        self.assertIsNotNone(result)

    def test_password(self):
        plain = self.personal.password(length=15)
        self.assertEqual(len(plain), 15)

        md5 = self.personal.password(algorithm='md5')
        self.assertEqual(len(md5), 32)

        sha1 = self.personal.password(algorithm='sha1')
        self.assertEqual(len(sha1), 40)

        sha256 = self.personal.password(algorithm='sha256')
        self.assertEqual(len(sha256), 64)

        sha512 = self.personal.password(algorithm='sha512')
        self.assertEqual(len(sha512), 128)

    def test_username(self):
        result = self.personal.username()
        self.assertTrue(re.match(USERNAME_REGEX, result))

    def test_email(self):
        result = self.personal.email()
        self.assertTrue(re.match(EMAIL_REGEX, result))

    def test_bitcoin(self):
        result = self.personal.bitcoin()
        self.assertEqual(len(result), 34)

    def test_cvv(self):
        result = self.personal.cvv()
        self.assertTrue((100 <= result) and (result <= 999))

    def test_credit_card_number(self):
        result = self.personal.credit_card_number()
        self.assertTrue(re.match(CREDIT_CARD_REGEX, result))

    def test_expiration_date(self):
        result = self.personal.credit_card_expiration_date(minimum=16,
                                                           maximum=25)

        year = result.split('/')[1]
        self.assertTrue((int(year) >= 16) and (int(year) <= 25))

    def test_cid(self):
        result = self.personal.cid()
        self.assertTrue((1000 <= result) and (result <= 9999))

    def test_height(self):
        result = self.personal.height(minimum=1.60, maximum=1.90)
        self.assertTrue(result.startswith('1'))
        self.assertIsInstance(result, str)

    def test_weight(self):
        result = self.personal.weight(minimum=40, maximum=60)
        self.assertTrue((result >= 40) and (result <= 60))

    def test_blood_type(self):
        result = self.personal.blood_type()
        self.assertIn(result, common.BLOOD_GROUPS)

    def test_favorite_movie(self):
        result = self.personal.favorite_movie()
        self.assertIn(result, self.personal.data['favorite_movie'])

    def test_favorite_music_genre(self):
        result = self.personal.favorite_music_genre()
        self.assertIn(result, common.FAVORITE_MUSIC_GENRE)

    def test_avatar(self):
        result = self.personal.avatar()
        self.assertTrue(len(result) > 20)

    def test_identifier(self):
        result = self.personal.identifier()
        mask = '##-##/##'
        self.assertEqual(len(mask), len(result))

        result = self.personal.identifier(mask='##', suffix=True)
        lst = result.split()
        _id, sfx = lst[0], lst[1]
        self.assertEqual(len(_id), 2)
        self.assertEqual(len(sfx), 2)

        result = self.personal.identifier(suffix=True)
        suffix = result.split(' ')[1]
        self.assertTrue(suffix.isalpha())
Example #15
0
def phrasing(designation, verb, identity, codename, safehouse):
    if verb == 'signed for by':
        phrase = '{} {} {}'.format(designation, verb, codename)
        return phrase
    elif verb == 'received by':
        phrase = '{} {} {}'.format(designation, verb, safehouse)
        return phrase
    elif verb == 'mishandled' or verb == 'in transit' or verb == 'cancelled':
        phrase = '{} {}'.format(designation, verb)
        return phrase
    elif verb == 'delivered to':
        phrase = '{} {} {}'.format(designation, verb, identity)
        return phrase


person = Personal('en')
numbers = [
    'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine',
    'zero'
]

for i in range(0, 5):
    filename = "radio_{}.mp3".format(i)

    synth_gender = choice(['male', 'female'])
    letter = choice([
        'Alpha', 'Bravo', 'Charlie', 'Delta', 'Echo', 'Foxtrot', 'Golf',
        'Hotel', 'Indigo', 'Juliet', 'Kilo', 'Lima', 'Mike', 'November',
        'Oscar', 'Papa', 'Quebec', 'Romeo', 'Sierra', 'Tango', 'Uniform',
        'Victor', 'Whiskey', 'X-ray', 'Yankee', 'Zulu'
    ])
Example #16
0
    'Пособие по уходу за ребенком до 3-х лет',
    'Ежемесячная выплата многодетнам семьям', 'Льгота на оплату ЖП и ЖКУ',
    'Пособие по нуждаемости',
    'Компенсания в связи с проживанием на загрязненной территории',
    'Единовременная выплаты к праздничным датам')
pp = pprint.PrettyPrinter(indent=4)

# Кол-во выплат у каждого
payments = 10
# В скольких районах он будет стоять на учете
r = 2
# Соль
soul = 'Соцзащита1864io72grFG'
# Настройка генератора на Елизабет
g = Generic('ru')
user = Personal('ru')
pols = ('male', 'female')

# Соединение с БД
client = MongoClient('192.168.0.195', 27017)
db = client['1019']
collection = db['payments']
# Кол-во упаковок
packs = 300
pack_count = 0

while pack_count < packs:
    pack_count += 1
    start = time.time()
    people_for_download = dict()
    # Кол-во людей, которых надо сгенерировать
Example #17
0
    Globals
'''
m_status = ("Married", "Single", "Divorced", "Widowed", "Separated")
c_loss = ("Fire", "Water", "Theft", "Natural Disaster")
n_loss = ("Borrowed", "Misplaced", "Donated")
i_insurer = ("Santam", "Hollard", "Outsurance", "Discovery", "Absa",
             "Mutual & Federal", "First for Woman", "Budget", "Miway")
fraud_reasons = ("No Date of birth",
                 "Date of birth calculated Age and Age do not match",
                 "Claim amount is more than Sum Insured",
                 "No Policy start date", "No Policy end date",
                 "Policy end date before start date", "Claim Date before loss",
                 "No kind of loss", "Invalid kind of loss",
                 "No premium but has claim", "Claim after Policy end date",
                 "Claim before Policy start", "Age is not in requirements")
person = Personal('en')
fake = Faker()

mindate = datetime.strptime('Jun 1 1900  1:33PM', '%b %d %Y %I:%M%p')
maxdate = datetime.today()
'''
    Functions
'''
'''
    :param n - number of claims to insert
    :param f - number of fraud claims
'''


def create_database(n, f):
    fraud = set([int(randint(0, n)) for i in range(f)])
Example #18
0
# for work with Active Directry
from ldap3 import Server, Connection, ALL, NTLM
from ldap3.extend.microsoft.addMembersToGroups import ad_add_members_to_groups as addUsersInGroups
# data generator
from elizabeth import Personal, Address,Text
import random
  
# define constans
  
serverName='lsd-dc1.stand.lsd'
connUser="******"
connUserPwd="" # enter pwd here
usersOU = 'ou=test-ou,dc=stand,dc=lsd' # ou for generated users
groupsOU = 'ou=test-groups,dc=stand,dc=lsd'# ou for generated groups
address = Address('en') # generate data for OU name
person = Personal('en') # generate data for users
  
usersDnList = [] # global list DN of generated users
groupsDnList = [] # global list DN of generated groups
 
 
# let's connect
server = Server(serverName, get_info=ALL)
conn = Connection(server, user=connUser, password=connUserPwd, authentication=NTLM)
conn.bind() #must be TRUE if OK
  
conn.add(usersOU, 'organizationalUnit') # add test-ou for users
conn.add(groupsOU, 'organizationalUnit') # add test-ou for groups
 
# generate groups
data = Text('en')
Example #19
0
class AuthApiTestCase(unittest.TestCase):
    person = Personal()

    def setUp(self):
        self.app = create_app("testing")
        self.client = self.app.test_client()
        self.context = self.app.app_context()
        self.context.push()
        db.create_all()
        kwargs = {
            "username": self.person.username(),
            "email": self.person.email(),
            "password": self.person.password(16)
        }
        user = User(**kwargs)
        user.save()
        del kwargs["email"]
        self.data = {"kwargs": kwargs, "user": user}

    def tearDown(self):
        db.session.remove()
        db.drop_all()
        self.context.pop()

    def test_01_post_method(self):
        kwargs = self.data["kwargs"]
        user = self.data["user"]
        kwargs_fake = dict(username=self.person.username(),
                           password=self.person.password(16))
        response = self.client.post("/api/auth",
                                    data=json.dumps(kwargs_fake),
                                    content_type="application/json")
        self.assertEqual(response.status_code, 400)

        data = json.loads(response.data)
        self.assertEqual(data["message"]["username"],
                         "valid username is required for authentication")

        response = self.client.post("/api/auth",
                                    data=json.dumps(kwargs),
                                    content_type="application/json")
        self.assertEqual(response.status_code, 200)

        data = json.loads(response.data)
        self.assertEqual(User.confirm("login", data["token"]).id, user.id)

        kwargs["password"] = self.person.password(16)
        response = self.client.post("/api/auth",
                                    data=json.dumps(kwargs),
                                    content_type="application/json")
        self.assertEqual(response.status_code, 401)

        data = json.loads(response.data)
        self.assertEqual(data["message"], "invalid username or password")

    def test_02_refresh_token(self):
        kwargs = self.data["kwargs"]
        user = self.data["user"]

        token_fake = json.dumps(dict(token=json.dumps(kwargs)))
        response = self.client.get("/api/auth",
                                   query_string=dict(token=token_fake))
        self.assertEqual(response.status_code, 401)

        response = self.client.post("/api/auth",
                                    data=json.dumps(kwargs),
                                    content_type="application/json")
        token_1 = parse_cookie(
            response.headers.getlist('Set-Cookie')[0])["token"]
        sleep(1)
        response = self.client.get("/api/auth",
                                   query_string=dict(token=token_1))
        token_2 = parse_cookie(
            response.headers.getlist("Set-Cookie")[0])["token"]
        self.assertNotEqual(token_1, token_2)
        self.assertEqual(User.confirm("login", token_1).id, user.id)
        self.assertEqual(User.confirm("login", token_2).id, user.id)
Example #20
0
def wait_engine():
    engine = create_engine('mysql://*****:*****@proxysql/proxysql_test',
                           echo=True,
                           encoding='utf-8')

    while True:
        try:
            engine.execute("SELECT 1")
            return engine
        except Exception as e:
            logging.exception("MySQL not awailable retrying")
            sleep(5)


defaults = Personal()
Base = declarative_base()
Session = sessionmaker()


class User(Base):
    __tablename__ = 'users'

    id = Column(Integer, primary_key=True)
    name = Column(String(40), index=True, default=defaults.username)
    fullname = Column(String(40), index=True, default=defaults.full_name)
    password = Column(String(40), index=True, default=defaults.password)

    def __repr__(self):
        return "<User(name='%s', fullname='%s', password='******')>" % (
            self.name, self.fullname, self.password)