Exemple #1
0
  def testErrorOnNonExistantEntity(self):
    """
    """

    request = MockRequest("/test/public")
    request.start()
    access_type = "show"
    page_name = "Show Test"
    django_args = {'link_id': 'foo', 'scope_path': 'bar'}
    actual = self.view.public(request, access_type, page_name=page_name,
                              **django_args)
    request.end()
    self.assertTrue('error' in actual)
    def setUp(self):
        self.init()
        request = MockRequest(path="/")

        self.handler = GCIRequestHandler()
        data, _, _ = self.handler.initializer.initialize(request, (), {})

        self.redirect = data.redirect
Exemple #3
0
  def testCreateRedirectAsDeveloper(self):
    """Tests if the Developer is redirected to the page containing
    all the Organizations under the Program to chose from
    """

    from soc.modules.gci.views.models.organization import View

    request = MockRequest("/test/gci/task/create")
    request.start()
    access_type = "create"
    page_name = "Create Task"
    kwargs = {}
    actual = self.view.create(request, access_type,
                              page_name=page_name, **kwargs)
    request.end()

    self.assertTrue('redirect' in actual
        and isinstance(actual['redirect'], View))
Exemple #4
0
    def testErrorOnNonExistantEntity(self):
        """
    """

        request = MockRequest("/test/public")
        request.start()
        access_type = "show"
        page_name = "Show Test"
        django_args = {'link_id': 'foo', 'scope_path': 'bar'}
        actual = self.view.public(request,
                                  access_type,
                                  page_name=page_name,
                                  **django_args)
        request.end()
        self.assertTrue('error' in actual)
Exemple #5
0
    def testCreateRedirectAsDeveloper(self):
        """Tests if the Developer is redirected to the page containing
    all the Organizations under the Program to chose from
    """

        from soc.modules.gci.views.models.organization import View

        request = MockRequest("/test/gci/task/create")
        request.start()
        access_type = "create"
        page_name = "Create Task"
        kwargs = {}
        actual = self.view.create(request,
                                  access_type,
                                  page_name=page_name,
                                  **kwargs)
        request.end()

        self.assertTrue('redirect' in actual
                        and isinstance(actual['redirect'], View))
Exemple #6
0
    def testEditTask(self):
        """Tests if the Mentor/OrgAdmin have rights to edit tasks and
    other users don't have.
    """

        request = MockRequest(
            "/test/gci/task/edit/google/gci2009/melange/t126518233415")

        # test if Developer passes the access check
        os.environ['USER_EMAIL'] = '*****@*****.**'
        access_type = "edit"
        page_name = "Edit Task"
        kwargs = {
            'scope_path': 'google/gci2009/melange',
            'link_id': 't126518233415'
        }
        request.start()
        actual = self.view.edit(request,
                                access_type,
                                page_name=page_name,
                                **kwargs)
        request.end()
        self.assertTrue('error' not in actual)

        # test if Org Admin of the Organization passes the access check
        os.environ['USER_EMAIL'] = '*****@*****.**'
        request.start()
        actual = self.view.edit(request,
                                access_type,
                                page_name=page_name,
                                **kwargs)
        request.end()
        self.assertTrue('error' not in actual)

        # test if Org Admin of other Organization doesn't passes the
        # access check
        os.environ['USER_EMAIL'] = '*****@*****.**'
        request.start()
        actual = self.view.edit(request,
                                access_type,
                                page_name=page_name,
                                **kwargs)
        request.end()
        self.assertTrue('error' in actual
                        and isinstance(actual['error'], AccessViolation))

        # test if mentor of the Organization doesn't passes the
        # access check
        os.environ['USER_EMAIL'] = '*****@*****.**'
        request.start()
        actual = self.view.edit(request,
                                access_type,
                                page_name=page_name,
                                **kwargs)
        request.end()
        self.assertTrue('error' in actual
                        and isinstance(actual['error'], AccessViolation))

        # test if mentor of other Organization doesn't passes the
        # access check
        os.environ['USER_EMAIL'] = '*****@*****.**'
        request.start()
        actual = self.view.edit(request,
                                access_type,
                                page_name=page_name,
                                **kwargs)
        request.end()
        self.assertTrue('error' in actual
                        and isinstance(actual['error'], AccessViolation))

        # test if student of the Organization doesn't pass
        # the access check
        os.environ['USER_EMAIL'] = '*****@*****.**'
        request.start()
        actual = self.view.edit(request,
                                access_type,
                                page_name=page_name,
                                **kwargs)
        request.end()
        self.assertTrue('error' in actual
                        and isinstance(actual['error'], AccessViolation))

        # test if student of other Organization doesn't pass
        # the access check
        os.environ['USER_EMAIL'] = '*****@*****.**'
        request.start()
        actual = self.view.edit(request,
                                access_type,
                                page_name=page_name,
                                **kwargs)
        request.end()
        self.assertTrue('error' in actual
                        and isinstance(actual['error'], AccessViolation))

        # test if user who doesn't have any role in Melange
        # doesn't pass the access check
        os.environ['USER_EMAIL'] = '*****@*****.**'
        request.start()
        actual = self.view.edit(request,
                                access_type,
                                page_name=page_name,
                                **kwargs)
        request.end()
        self.assertTrue('error' in actual
                        and isinstance(actual['error'], AccessViolation))
Exemple #7
0
    def testCreateRights(self):
        """Tests if the Developer/Org Admin have rights create tasks and
    other users don't have.
    """

        request = MockRequest("/test/gci/task/create/google/gci2009/melange")
        # test if the Org Admin of the Organization passes the access check
        os.environ['USER_EMAIL'] = '*****@*****.**'
        request.start()
        access_type = "create"
        page_name = "Create Task"
        kwargs = {'scope_path': 'google/gci2009/melange'}
        actual = self.view.create(request,
                                  access_type,
                                  page_name=page_name,
                                  **kwargs)
        request.end()
        self.assertTrue('error' not in actual)

        # test if the Developer passes the access check
        os.environ['USER_EMAIL'] = '*****@*****.**'
        request.start()
        actual = self.view.create(request,
                                  access_type,
                                  page_name=page_name,
                                  **kwargs)
        request.end()
        self.assertTrue('error' not in actual)

        # test if the Org Admin of other Organization doesn't passes
        # the access check
        os.environ['USER_EMAIL'] = '*****@*****.**'
        request.start()
        actual = self.view.create(request,
                                  access_type,
                                  page_name=page_name,
                                  **kwargs)
        request.end()
        self.assertTrue('error' in actual
                        and isinstance(actual['error'], AccessViolation))

        # test if the Mentor of the Organization doesn't passes
        # the access check
        os.environ['USER_EMAIL'] = '*****@*****.**'
        request.start()
        actual = self.view.create(request,
                                  access_type,
                                  page_name=page_name,
                                  **kwargs)
        request.end()
        self.assertTrue('error' in actual
                        and isinstance(actual['error'], AccessViolation))

        # test if the Mentor of other Organization doesn't passes
        # the access check
        os.environ['USER_EMAIL'] = '*****@*****.**'
        request.start()
        actual = self.view.create(request,
                                  access_type,
                                  page_name=page_name,
                                  **kwargs)
        request.end()
        self.assertTrue('error' in actual
                        and isinstance(actual['error'], AccessViolation))

        # test if the Student of the Organization doesn't passes
        # the access check
        os.environ['USER_EMAIL'] = '*****@*****.**'
        request.start()
        actual = self.view.create(request,
                                  access_type,
                                  page_name=page_name,
                                  **kwargs)
        request.end()
        self.assertTrue('error' in actual
                        and isinstance(actual['error'], AccessViolation))

        # test if person with no role in Melange doesn't pass
        # the access check
        os.environ['USER_EMAIL'] = '*****@*****.**'
        request.start()
        actual = self.view.create(request,
                                  access_type,
                                  page_name=page_name,
                                  **kwargs)
        request.end()
        self.assertTrue('error' in actual
                        and isinstance(actual['error'], AccessViolation))
Exemple #8
0
  def testEditTask(self):
    """Tests if the Mentor/OrgAdmin have rights to edit tasks and
    other users don't have.
    """

    request = MockRequest(
        "/test/gci/task/edit/google/gci2009/melange/t126518233415")

    # test if Developer passes the access check
    os.environ['USER_EMAIL'] = '*****@*****.**' 
    access_type = "edit"
    page_name = "Edit Task"
    kwargs = {'scope_path': 'google/gci2009/melange',
              'link_id': 't126518233415'}
    request.start()
    actual = self.view.edit(request, access_type,
                            page_name=page_name, **kwargs)
    request.end()
    self.assertTrue('error' not in actual)

    # test if Org Admin of the Organization passes the access check
    os.environ['USER_EMAIL'] = '*****@*****.**'
    request.start()
    actual = self.view.edit(request, access_type,
                            page_name=page_name, **kwargs)
    request.end()
    self.assertTrue('error' not in actual)

    # test if Org Admin of other Organization doesn't passes the
    # access check
    os.environ['USER_EMAIL'] = '*****@*****.**'
    request.start()
    actual = self.view.edit(request, access_type,
                                page_name=page_name, **kwargs)
    request.end()
    self.assertTrue('error' in actual and isinstance(
        actual['error'], AccessViolation))

    # test if mentor of the Organization doesn't passes the
    # access check
    os.environ['USER_EMAIL'] = '*****@*****.**'
    request.start()
    actual = self.view.edit(request, access_type,
                                page_name=page_name, **kwargs)
    request.end()
    self.assertTrue('error' in actual and isinstance(
        actual['error'], AccessViolation))

    # test if mentor of other Organization doesn't passes the
    # access check
    os.environ['USER_EMAIL'] = '*****@*****.**'
    request.start()
    actual = self.view.edit(request, access_type,
                                page_name=page_name, **kwargs)
    request.end()
    self.assertTrue('error' in actual and isinstance(
        actual['error'], AccessViolation))

    # test if student of the Organization doesn't pass
    # the access check
    os.environ['USER_EMAIL'] = '*****@*****.**'
    request.start()
    actual = self.view.edit(request, access_type,
                                page_name=page_name, **kwargs)
    request.end()
    self.assertTrue('error' in actual and isinstance(
        actual['error'], AccessViolation))

    # test if student of other Organization doesn't pass
    # the access check
    os.environ['USER_EMAIL'] = '*****@*****.**'
    request.start()
    actual = self.view.edit(request, access_type,
                                page_name=page_name, **kwargs)
    request.end()
    self.assertTrue('error' in actual and isinstance(
        actual['error'], AccessViolation))

    # test if user who doesn't have any role in Melange
    # doesn't pass the access check
    os.environ['USER_EMAIL'] = '*****@*****.**'
    request.start()
    actual = self.view.edit(request, access_type,
                                page_name=page_name, **kwargs)
    request.end()
    self.assertTrue('error' in actual and isinstance(
        actual['error'], AccessViolation))
Exemple #9
0
  def testCreateRights(self):
    """Tests if the Developer/Org Admin have rights create tasks and
    other users don't have.
    """

    request = MockRequest("/test/gci/task/create/google/gci2009/melange")
    # test if the Org Admin of the Organization passes the access check
    os.environ['USER_EMAIL'] = '*****@*****.**'
    request.start()
    access_type = "create"
    page_name = "Create Task"
    kwargs = {'scope_path': 'google/gci2009/melange'}
    actual = self.view.create(request, access_type,
                              page_name=page_name, **kwargs)
    request.end()
    self.assertTrue('error' not in actual)

    # test if the Developer passes the access check
    os.environ['USER_EMAIL'] = '*****@*****.**'
    request.start()
    actual = self.view.create(request, access_type,
                              page_name=page_name, **kwargs)
    request.end()
    self.assertTrue('error' not in actual)

    # test if the Org Admin of other Organization doesn't passes
    # the access check
    os.environ['USER_EMAIL'] = '*****@*****.**'
    request.start()
    actual = self.view.create(request, access_type,
                              page_name=page_name, **kwargs)
    request.end()
    self.assertTrue('error' in actual and isinstance(
        actual['error'], AccessViolation))

    # test if the Mentor of the Organization doesn't passes
    # the access check
    os.environ['USER_EMAIL'] = '*****@*****.**'
    request.start()
    actual = self.view.create(request, access_type,
                              page_name=page_name, **kwargs)
    request.end()
    self.assertTrue('error' in actual and isinstance(
        actual['error'], AccessViolation))

    # test if the Mentor of other Organization doesn't passes
    # the access check
    os.environ['USER_EMAIL'] = '*****@*****.**'
    request.start()
    actual = self.view.create(request, access_type,
                              page_name=page_name, **kwargs)
    request.end()
    self.assertTrue('error' in actual and isinstance(
        actual['error'], AccessViolation))

    # test if the Student of the Organization doesn't passes
    # the access check
    os.environ['USER_EMAIL'] = '*****@*****.**'
    request.start()
    actual = self.view.create(request, access_type,
                              page_name=page_name, **kwargs)
    request.end()
    self.assertTrue('error' in actual and isinstance(
        actual['error'], AccessViolation))

    # test if person with no role in Melange doesn't pass
    # the access check
    os.environ['USER_EMAIL'] = '*****@*****.**'
    request.start()
    actual = self.view.create(request, access_type,
                              page_name=page_name, **kwargs)
    request.end()
    self.assertTrue('error' in actual and isinstance(
        actual['error'], AccessViolation))