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()
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
# 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
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)
# 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