def test_change_role(client):
    # log out if need be
    logout(client)
    # change the role of an account (without priviledge)
    r = add_role(client, 'admintest', 0)
    # ensure failure due to requiring admin permission
    assert r.status_code == status.HTTP_401_UNAUTHORIZED

    notadmin = 'notadminaccount'

    # register a new account
    r = register(client, notadmin, "nonadmin", "*****@*****.**")
    assert r.status_code == status.HTTP_201_CREATED  # account also fails for duplicate emails

    # log in admin account
    r = login(client, 'admintest', 'admintest')
    # extract the token and build new header with admin jwt
    headers = auth_header(r)

    # try to make admin account to be admin (should fail)
    r = add_role(client, 'admintest', UserAccountType.admin, headers)
    assert r.status_code == status.HTTP_417_EXPECTATION_FAILED

    # elevate new account to employee
    r = add_role(client, notadmin, UserAccountType.employee, headers)
    assert r.status_code == status.HTTP_200_OK

    # delete new account (should prob write handler)
    account = UserAccount.query.filter_by(username=notadmin).first()
    db.session.delete(account)
    db.session.commit()
예제 #2
0
    def start(self):
        for event in self.longpoll.listen():
            if event.type == VkEventType.MESSAGE_NEW and event.to_me and event.text and event.user_id not in data["ban"]:
                """simple command"""
                if event.text.lower() == "/оборудование":
                    text = ""
                    for i in data["tech"]:
                        text += f"{i}\n"
                    self.send_msg(text, event.user_id)

                elif event.text.lower() == "/бюджет компании":
                    self.send_msg("бюджет компании состовляет {0} рублей".format(data["money"]), event.user_id)
                elif event.text.lower() == "/сайт":
                    self.send_msg(data["web-site"], event.user_id)
                elif event.text.lower() == "/бот":
                    self.send_msg("бот был сделан на заказ компанией Daruna", event.user_id)
                elif event.text.lower() == "/проекты в разработке":
                    text = ""

                    for i in progects["dev"]:
                        text += i
                    if text == "":
                        self.send_msg("не один проект в данный момент не разрабатывается", event.user_id)
                    else:
                        self.send_msg(text, event.user_id)
                elif event.text.lower() == "/оконченные проекты":
                    text = ""

                    for i in progects["ready"]:
                        text += i
                    if text == "":
                        self.send_msg("не один проект в данный момент не готов", event.user_id)
                    else:
                        self.send_msg(text, event.user_id)
                elif event.text.lower() == "/приостановленные проекты":
                    text = ""

                    for i in progects["stoped"]:
                        text += i
                    if text == "":
                        self.send_msg("в данный момент приостановленных проектов нет", event.user_id)
                    else:
                        self.send_msg(text, event.user_id)
                elif event.text.lower() == "/лучшие проекты":
                    text = ""

                    for i in progects["best"]:
                        text += i
                    if text == "":
                        self.send_msg("в данный момент лучших проектов нет", event.user_id)
                    else:
                        self.send_msg(text, event.user_id)
                elif event.text.lower() == "/профиль":
                    profile = f.getProfileInfo(event.user_id)
                    if profile != None:
                        self.send_msg("имя - {0}\nid - {1}\nуровень технологии - {2}".format(profile[0], profile[1], profile[2]), event.user_id)
                    else:
                        self.send_msg("вы ещё не зарегистрированны", event.user_id)
                elif event.text.lower().find("/зарегистрироваться") != -1:
                    t = event.text.split(" ")
                    if f.getProfileInfo(event.user_id) == None:
                        data["users_id"].append(int(event.user_id))
                        f.register(t[1], event.user_id)
                        self.send_msg("вы зарегистрированны под именем {0}".format(t[1]), event.user_id)
                    else:
                        self.send_msg("вы уже зарегистрированны", event.user_id)
                elif event.text.lower() == "/пользователи":
                    self.send_msg(len(f.getUsers()), event.user_id)
                elif event.text.lower() == "/время компании":
                    self.send_msg("компания ITT была создана 25 ноября 2020 года", event.user_id)
                elif event.text.lower() == "/команды":
                    self.send_msg(commands, event.user_id)
                elif event.text.lower() == "/инфо":
                    self.send_msg("Дарова, сейчас ты находишься в самом крутом IT сообществе IT Techlogies(ITT). \
Здесь наша команда создаёт проекты, делает игры и постит информацию об IT.\n! ПОДПИШИСЬ !", event.user_id)
                elif event.text.lower() == "/vip":
                    if event.user_id in data["vip"]:
                        self.send_msg("у вас есть подписка vip", event.user_id)
                    else:
                        self.send_msg("у вас нет подписки vip", event.user_id)
                """for VIP"""
                if event.user_id in data["vip"]:
                    if event.text.lower().find("$give") != -1:
                        msg = event.text.split(" ")
                        if int(msg[1]) >= 1 and int(msg[1]) <= 10:
                            print(f.add(int(msg[2]), event.user_id))
                            if f.add(int(msg[1]), event.user_id) == 0:
                                self.send_msg("у пользователя(https://vk.com/id{0}) нет аккаунта".format(event.user_id), event.user_id)
                            else:
                                self.send_msg("пользователю(https://vk.com/id{0}) было добавленно {1} уровней технологии".format(event.user_id, msg[1]), event.user_id)
                """for moder"""
                if event.user_id in data["admins"]:
                    if event.text.lower().find(":изменить бюджет") != -1:
                        data["money"] = event.text.split(" ")[2]
                        self.send_msg("теперь бюджет компании состовляет {0} рублей".format(data["money"]), event.user_id)
                    elif event.text.lower().find(":вип") != -1:
                        data["vip"].append(int(event.text.split(" ")[1]))
                        self.send_msg("пользователю(https://vk.com/id{0}) был выдан статус вип".format(event.text.split(" ")[1]), event.user_id)
                    elif event.text.lower().find(":бан") != -1:
                        data["ban"].append(int(event.text.split(" ")[1]))
                        self.send_msg("пользователю(https://vk.com/id{0}) был выдан бан".format(event.text.split(" ")[1]), event.user_id)
                    elif event.text.lower().find(":новый лучший:") != -1:
                        s = event.text.split(":")
                        progects["best"].append(s[2])
                    elif event.text.lower().find(":новый готовый:") != -1:
                        s = event.text.split(":")
                        progects["ready"].append(s[2])
                    elif event.text.lower().find(":новый разрабатываемый:") != -1:
                        s = event.text.split(":")
                        progects["dev"].append(s[2])
                    elif event.text.lower().find(":новый приостановленный:") != -1:
                        s = event.text.split(":")
                        progects["stoped"].append(s[2])
                    elif event.text.lower().find(":удалить лучший:") != -1:
                        s = event.text.split(":")
                        try:
                            progects["best"].remove(s[2])
                        except:
                            pass
                    elif event.text.lower().find(":удалить готовый:") != -1:
                        s = event.text.split(":")
                        try:
                            progects["ready"].remove(s[2])
                        except:
                            pass
                    elif event.text.lower().find(":удалить разрабатываемый:") != -1:
                        s = event.text.split(":")
                        try:
                            progects["dev"].remove(s[2])
                        except:
                            pass
                    elif event.text.lower().find(":удалить приостановленный:") != -1:
                        s = event.text.split(":")
                        try:
                            progects["stoped"].remove(s[2])
                        except:
                            pass
예제 #3
0
파일: main.py 프로젝트: barthaakman/sport
# Login
func.login(config.USERNAME, config.PASSWORD)

# Get link
wodlink = func.getLink()

# Check if wodlink returns None
if wodlink is None:
    print('Geen WOD link beschikbaar')
    raise SystemExit(0)

# Check if already registered
if func.isRegistered(wodlink):
    print('Je bent al aangemeld voor deze les.')
    raise SystemExit(0)

# Check if too soon to register
if func.tooSoon(wodlink):
    print('Te vroeg om aan te melden voor deze les.')
    raise SystemExit(0)

# Register for desired class
while not func.isRegistered(wodlink) or func.tooSoon(wodlink):
    func.register(wodlink)
    print('Succesvol aangemeld voor WOD %s' % wodlink)
    # print('WOD voor %s om %s succesvol aangemeld.' % (,))

# Registration Complete

예제 #4
0
def register():
    set_session()
    if request.method == 'POST':
        account = request.form.get('id', None)
        password = request.form.get('password', None)
        nickname = request.form.get('nickname', account)
        if not nickname: nickname = account
        mail = request.form.get('mail', None)

        if not account or account == '':
            return skinned('/register.html',
                           error=error.register('empty_id'),
                           i=None,
                           p=password,
                           n=nickname,
                           m=mail)
        elif not func.id_vaild(account):
            return skinned('/register.html',
                           error=error.register('invaild_id'),
                           i=None,
                           p=password,
                           n=nickname,
                           m=mail)

        if not password or password == '':
            return skinned('/register.html',
                           error=error.register('empty_pw'),
                           i=account,
                           p=None,
                           n=nickname,
                           m=mail)

        if not func.vaild(nickname):
            return skinned('/register.html',
                           error=error.register('invaild_nick'),
                           i=account,
                           p=password,
                           n=None,
                           m=mail)

        if mail:
            if not func.mail_vaild(mail):
                return skinned('/register.html',
                               error=error.register('invaild_mail'),
                               i=account,
                               p=password,
                               n=nickname,
                               m=None)

        res = func.register(account, password, nickname, mail)
        if not res:
            return skinned('/register.html',
                           error=error.register('exists'),
                           i=account,
                           p=password,
                           n=nickname,
                           m=mail)
        else:
            return skinned('/registered.html',
                           i=account,
                           p=password,
                           n=nickname,
                           m=mail)
    return skinned('/register.html', error=None)
예제 #5
0
# Dependencies
import config
import func
import time

# Login
func.login(config.USERNAME, config.PASSWORD)

# Check if already registered
if func.isRegistered():
    print('Είστε ήδη εγγεγραμμένοι στο επιθυμητό group.'
          )  #meaning: You've already registered for this specific lab lesson
    raise SystemExit(0)

# Register to your desired group
starttime = time.time()
tries = 1
while not func.isRegistered():
    print('%sη προσπάθεια' % (str(tries)))  #meaning: Number of tries
    func.register(config.DATE['day'], config.DATE['time'])
    time.sleep((config.INTERVAL * 60.0) - ((time.time() - starttime) %
                                           (config.INTERVAL * 60.0)))
    tries += 1

# Registration Complete
print(
    'Έχετε εγγραφεί επιτυχώς στο group που θα πραγματοποιηθεί ημέρα %s και ώρα %s.'
    % (config.DATE['day'], config.DATE['time'])
)  #meaning: You have successfully registered for your desired lab lesson