Esempio n. 1
0
 def test_access_equality_op4(self):
     """
     match by group
     """
     g = Group(name="G")
     g.save()
     some_folder = Folder.objects.create(
         title="some_folder",
         user=self.uploader_user
     )
     a1 = Access(
         access_type=Access.ALLOW,
         access_inherited=False,
         node=some_folder,
         group=g
     )
     a2 = Access(
         access_type=Access.ALLOW,
         access_inherited=False,
         node=some_folder,
         group=g
     )
     a1.save()
     a2.save()
     # group attribute differ
     self.assertEqual(a1, a2)
Esempio n. 2
0
 def test_access_equality_op3(self):
     """
     Group attribute differs => access models won't be equal.
     """
     g1 = Group(name="G1")
     g1.save()
     g2 = Group(name="G2")
     g2.save()
     some_folder = Folder.objects.create(
         title="some_folder",
         user=self.uploader_user
     )
     a1 = Access(
         access_type=Access.ALLOW,
         access_inherited=False,
         node=some_folder,
         group=g1
     )
     a2 = Access(
         access_type=Access.ALLOW,
         access_inherited=False,
         node=some_folder,
         group=g2
     )
     a1.save()
     a2.save()
     # group attribute differ
     self.assertNotEqual(a1, a2)
Esempio n. 3
0
    def test_access_equality_op2(self):
        """
        User attribute differs => access models won't be equal.
        """

        some_folder = Folder.objects.create(
            title="some_folder",
            user=self.uploader_user
        )
        a1 = Access(
            access_type=Access.ALLOW,
            access_inherited=False,
            node=some_folder,
            user=self.margaret_user
        )
        a2 = Access(
            access_type=Access.ALLOW,
            access_inherited=False,
            node=some_folder,
            user=self.uploader_user
        )
        a1.save()
        a2.save()
        # user attribute differs (margaret vs uploader)
        self.assertNotEqual(a1, a2)

        a1.permissions.add(self.R)
        a2.permissions.add(self.W)

        # permissions does not metter, users differ
        self.assertNotEqual(a1, a2)
Esempio n. 4
0
    def test_access_equality_op1(self):
        """
        test basic access model equality operation
        (same user)
        """

        some_folder = Folder.objects.create(
            title="some_folder",
            user=self.uploader_user
        )
        a1 = Access(
            access_type=Access.ALLOW,
            access_inherited=False,
            node=some_folder,
            user=self.uploader_user
        )
        a2 = Access(
            access_type=Access.ALLOW,
            access_inherited=False,
            node=some_folder,
            user=self.uploader_user
        )
        a1.save()
        a2.save()
        self.assertEqual(a1, a2)

        a1.permissions.add(self.R)
        a2.permissions.add(self.W)

        self.assertEqual(a1, a2)
Esempio n. 5
0
    def test_create_access_from_another_user_based_access(self):
        """
        Given an access a1 associated to a user margaret.
        New access a2 is created from a1.
        Expected: access a2 will have associated user margaret as well.
        """
        new_folder = Folder.objects.create(
            title="creator_owns_me",
            user=self.uploader_user
        )

        a1 = create_access(
            node=new_folder,
            model_type=Access.MODEL_USER,
            name="margaret",
            access_type=Access.ALLOW,
            access_inherited=False,
            permissions={
                READ: True
            }  # allow read access to margaret
        )

        a2 = Access.create(
            node=new_folder,
            access_inherited=True,
            access=a1
        )
        self.assertEqual(
            a2.user.username,
            "margaret"
        )
Esempio n. 6
0
 def test_access_equality_op_inheritance(self):
     """
     Inheritance flag does not matter.
     """
     some_folder = Folder.objects.create(title="some_folder",
                                         user=self.uploader_user)
     a1 = Access(access_type=Access.ALLOW,
                 access_inherited=False,
                 node=some_folder,
                 user=self.margaret_user)
     a2 = Access(
         access_type=Access.ALLOW,
         access_inherited=True,  # different, but it does not matter
         node=some_folder,
         user=self.margaret_user)
     a1.save()
     a2.save()
     # inheritance flag does not matter on eq op.
     self.assertEqual(a1, a2)