class Player(object): def __init__(self): self.act = Account('swimmi','52371314') self.act.create() def start_game(self): print(STR_WELCOME) def login_account(self): while True: self.act.username = input(STR_INPUT_USR) self.act.password = input(STR_INPUT_PWD) self.act.login() if self.act.status == 1: print(STR_LOGIN_SUCCESS % self.act.username) break else: print(STR_LOGIN_FAILED) def choose_role(self): roles = self.act.list_role() while 1: x = input(STR_CHOOSE % len(roles)) try: i = int(x) if 0 <= i <= len(roles): if i == 0: name = input(STR_INPUT_NAME) career = input(STR_INPUT_CAREER) role = Role(name, career) self.act.add_role(role) self.choose_role() else: self.role = roles[i-1] break except: pass def show_role(self): print(self.role) def wait_command(self): while 1: x = input(STR_MENU) i = int(x) if 0 <= i <= 9: if i == 0: equip = Equip() print(equip) pass elif i == 1: pass else: pass
def test_login(self): password = '******' user = Account.login('sami', password) self.assertIsInstance( user, Account, 'if the username and password match what is in db, login returns an Account object' )
def test_generate_api_key(self): user = Account(username='******', balance=10000) user.set_password('1234') user.save() user.generate_api_key() reloaded = Account.login('some_user', '1234') self.assertEqual( user.values['api_key'], reloaded.values['api_key'], "check that the user's api_key is the same as the one generated")
def pw_authenticate(): if not request.json or "username" not in request.json or "password" not in request.json: return jsonify(BAD_REQUEST), 400 account = Account.login(request.json["username"], request.json["password"]) if not account: return jsonify(COULD_NOT_AUTHENTICATE), 401 return jsonify({ "username": account["username"], "api_key": account["api_key"] })
def test_route_get_balance(self): api_key = "12345678912345678902" account_info = Account.login("sami", "1234") balance = account_info.values['balance'] response = requests.get( "http://127.0.0.1:5000/api/{}/balance".format(api_key)) self.assertEqual(response.status_code, 200) self.assertEqual(response.json(), {"balance": balance}) ############## how do i clean the positions table if a user has 0 of that stock (useless rows) #from sell function
def test_route_account_info(self): api_key = "12345678912345678902" account_info = Account.login("sami", "1234") balance = account_info.values['balance'] response = requests.get("http://127.0.0.1:5000/api/{}".format(api_key)) self.assertEqual(response.status_code, 200) self.assertEqual( response.json(), { "username": "******", "balance": balance, "first_name": "sami", "last_name": "s" })
def get_api_key(): if not request.json: return jsonify({'error': 'bad request'}), 400 if 'username' not in request.json or 'password' not in request.json: return jsonify({'error': 'bad request'}), 400 username = request.json['username'] password = request.json['password'] print(username, password) logged_in = Account.login(username, password) if logged_in != None: return jsonify({"api_key": logged_in.values['api_key']}) else: return jsonify({"error": "404"})
def do_login(self, account): return Account.login(account.auth_id, account.password, account.type)