Пример #1
0
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")
Пример #2
0
    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
Пример #3
0
    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)