示例#1
0
    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
示例#2
0
 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()
示例#3
0
 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))
示例#4
0
 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"))
示例#5
0
 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))
示例#6
0
 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
示例#8
0
 def setUp(self):
     app.current_request = MagicMock()
     app.current_request.context = {"authorizer": {"id": "userid"}}
     create_org(app.get_current_user_id())
示例#9
0
 def setUp(self):
     from tests.unit.test_formCreate import create_org
     create_org(app.get_current_user_id())
     super(FormAdmin, self).setUp()