def create_form(self, should_create_org=True): if should_create_org: from tests.unit.test_formCreate import create_org create_org(app.get_current_user_id()) response = self.lg.handle_request( method="POST", path="/forms", headers={"authorization": "auth"}, body="" ) self.assertEqual(response["statusCode"], 200, response) body = json.loads(response["body"]) self.assertIn("form", body["res"]) self.assertIn("_id", body["res"]["form"]) self.assertIn("name", body["res"]["form"]) self.assertEqual( {"owner": True}, body["res"]["form"]["cff_permissions"][app.test_user_id] ) self.assertEqual(body["res"]["form"]["version"], 1) DEFAULT_SCHEMA = { "properties": {"name": {"type": "string"}}, "title": "Form", "type": "object", } self.assertEqual(body["res"]["form"]["schema"], DEFAULT_SCHEMA) formId = body["res"]["form"]["_id"]["$oid"] return formId
def test_render_form_with_response_new_user(self): self.userId = app.get_current_user_id() try: user = User.objects.get({"id": self.userId}) user.delete() except DoesNotExist: pass self.test_render_form_with_response()
def test_check_permissions_owner(self): app.test_user_id = COG_ID model = dict_to_object( {"cff_permissions": { app.get_current_user_id(): { "owner": True } }}) for action in ("owner", "Responses_Edit", "Forms_Edit"): with self.subTest(action=action): self.assertTrue(app.check_permissions(model, action))
def test_check_permissions_invalid(self): app.test_user_id = COG_ID model = dict_to_object({ "cff_permissions": { app.get_current_user_id(): { "Responses_View": True } } }) for action in ("owner", "Responses_Edit", "Forms_Edit"): with self.subTest(action=action): with self.assertRaises(UnauthorizedError): app.check_permissions(model, action) self.assertTrue(app.check_permissions(model, "Responses_View"))
def test_check_permissions_valid(self): app.test_user_id = COG_ID model = dict_to_object({ "cff_permissions": { app.get_current_user_id(): { "Responses_View": True, "Responses_CheckIn": True } } }) for action in ("Responses_View", ["Responses_View", "Responses_Edit"], ["Form_Edit", "Responses_CheckIn"]): with self.subTest(action=action): self.assertTrue(app.check_permissions(model, action))
def set_permissions(self, formId, permissions): body = { "userId": app.get_current_user_id(), "permissions": {p: True for p in permissions} if len(permissions) else {"owner": False}, } response = self.lg.handle_request( method="POST", path=f"/forms/{formId}/permissions", headers={"authorization": "auth", "Content-Type": "application/json"}, body=json.dumps(body), ) self.assertEqual(response["statusCode"], 200, response) body = json.loads(response["body"]) return body["res"]
def setUp(self): userId = app.get_current_user_id() form = Form(schema={ "type": "object", "properties": { "amountField": { "type": "number" } } }, uiSchema={"title": "Test"}, formOptions=FormOptions(paymentInfo={"a": "b"}), name="Name", cff_permissions={userId: { "owner": True }}) form.save() formId = form.id app.current_request = MagicMock() app.current_request.context = {'authorizer': {'id': userId}} self.formId = formId
def setUp(self): app.current_request = MagicMock() app.current_request.context = {"authorizer": {"id": "userid"}} create_org(app.get_current_user_id())
def setUp(self): from tests.unit.test_formCreate import create_org create_org(app.get_current_user_id()) super(FormAdmin, self).setUp()