소스 검색

test(test_api): Use login manager instead of request login

Also, move setUp for method into "correct" TestCase class
version-14
Gavin D'souza 3 년 전
부모
커밋
6aec566325
1개의 변경된 파일14개의 추가작업 그리고 15개의 파일을 삭제
  1. +14
    -15
      frappe/tests/test_api.py

+ 14
- 15
frappe/tests/test_api.py 파일 보기

@@ -72,11 +72,14 @@ class FrappeAPITestCase(unittest.TestCase):
@property
def sid(self) -> str:
if not getattr(self, "_sid", None):
r = self.post("/api/method/login", {
"usr": "Administrator",
"pwd": frappe.conf.admin_password or "admin",
})
self._sid = r.headers[2][1].split(";")[0].lstrip("sid=")
from frappe.auth import CookieManager, LoginManager
from frappe.utils import set_request

set_request(path="/")
frappe.local.cookie_manager = CookieManager()
frappe.local.login_manager = LoginManager()
frappe.local.login_manager.login_as('Administrator')
self._sid = frappe.session.sid

return self._sid

@@ -112,16 +115,6 @@ class TestResourceAPI(FrappeAPITestCase):
frappe.delete_doc_if_exists(cls.DOCTYPE, name)
frappe.db.commit()

def setUp(self):
# commit to ensure consistency in session (postgres CI randomly fails)
if frappe.conf.db_type == "postgres":
frappe.db.commit()

if self._testMethodName == "test_auth_cycle":
from frappe.core.doctype.user.user import generate_keys
generate_keys("Administrator")
frappe.db.commit()

def test_unauthorized_call(self):
# test 1: fetch documents without auth
response = requests.get(f"{self.RESOURCE_URL}/{self.DOCTYPE}")
@@ -226,6 +219,12 @@ class TestResourceAPI(FrappeAPITestCase):
class TestMethodAPI(FrappeAPITestCase):
METHOD_PATH = "/api/method"

def setUp(self):
if self._testMethodName == "test_auth_cycle":
from frappe.core.doctype.user.user import generate_keys
generate_keys("Administrator")
frappe.db.commit()

def test_version(self):
# test 1: test for /api/method/version
response = self.get(f"{self.METHOD_PATH}/version")


불러오는 중...
취소
저장