def init_tokens(): global ADMIN_TOKEN global HG_TOKEN global STUDENT_TOKEN ADMIN_TOKEN = auth_handler.encode_token(user_id="admin") HG_TOKEN = auth_handler.encode_token(user_id="1000000") STUDENT_TOKEN = auth_handler.encode_token(user_id="1000001")
def setUp(self): self.test_use_uid = "TEST_123" self.url_local_root = "http://127.0.0.1:8000" self.url_server_root = "http://esc.dev.markhh.com" self.admin_username = "******" self.admin_password = None self.token = auth_handler.encode_token(self.admin_username) self.ignore = False # test connection request_url = str(self.url_server_root + "/api") try: response = requests.get(url=request_url, timeout=1) if response.status_code != 200: logger.error("setUp: Failed to connect") self.ignore = True return except Exception as e: logger.error(f"setUp: Failed to connect: {e}") self.ignore = True return # construct header headers = { "accept": "application/json", "Content-Type": "application/json", } request_url = self.url_server_root + "/api/auth/login" data = { "username": self.admin_username, "password": self.admin_password, } if not self.token: logger.debug("setUp: Getting new TOKEN") response = requests.post(url=request_url, headers=headers, json=data) if response.status_code != 200: raise Exception("Failed to login") res_data = response.json() self.token = str(res_data["token"]) # set self.headers logger.debug(f"setUp: TOKEN: {self.token}") headers["Authorization"] = "Bearer " + self.token self.headers = headers
def setUp(self): self.test_use_uid = "TEST_123" self.url_local_root = "http://127.0.0.1:8000" self.url_server_root = "http://esc.dev.markhh.com/" self.admin_username = "******" self.admin_password = None self.token = auth_handler.encode_token(self.admin_username) self.ignore = False # test connection request_url = str(self.url_local_root + "/api") try: response = requests.get(url=request_url, timeout=1) if response.status_code != 200: logger.error("setUp: Failed to connect") self.ignore = True return except Exception as e: logger.error(f"setUp: Failed to connect: {e}") self.ignore = True return # construct header headers = { "accept": "application/json", "Content-Type": "application/json", } request_url = self.url_local_root + "/api/auth/login" data = { "username": self.admin_username, "password": self.admin_password, } if not self.token: logger.debug("setUp: Getting new TOKEN") response = requests.post(url=request_url, headers=headers, json=data) if response.status_code != 200: raise Exception("Failed to login") res_data = response.json() self.token = str(res_data["token"]) # set self.headers logger.debug(f"setUp: TOKEN: {self.token}") headers["Authorization"] = "Bearer " + self.token self.headers = headers ################################################################################ # set up an AP for testing request_url = self.url_local_root + "/api/application_periods/" data = { "uid": self.test_use_uid, "application_window_open": datetime.now().isoformat(), "application_window_close": ( datetime.now() + timedelta(days=1) ).isoformat(), "applicable_periods": [ { "start_date": date.today().isoformat(), "end_date": (date.today() + timedelta(days=30)).isoformat(), } ], "applicable_rooms": ["59-409", "59-410", "59-411", "59-412"], "applicable_students": ["1000000", "1003432", "1004515", "1004234"], } response = requests.post( url=request_url, headers=self.headers, json=data, ) self.assertEqual(response.status_code, 201)
def test_token_encoding_decoding_random(self): for i in random_N_strings(N=10): logger.debug(f"Testing Random Username: {i}") token = auth_handler.encode_token(user_id=i) self.assertEqual(auth_handler.decode_token(token), i)
def test_token_encoding_decoding(self): token = auth_handler.encode_token(user_id=self.username) self.assertEqual(auth_handler.decode_token(token), self.username)