def test_has_perm(self):
        backend = RoleBackend()

        user1, user2, user3, user4 = self.user1, self.user2, self.user3, self.user4
        user5, user6, user7, user8 = self.user5, self.user6, self.user7, self.user8

        self.assertTrue(backend.has_perm(user1, 'permission.permission_test_perm1'))
        self.assertTrue(backend.has_perm(user1, 'permission.permission_test_perm2'))
        self.assertFalse(backend.has_perm(user1, 'permission.permission_test_perm3'))
        self.assertFalse(backend.has_perm(user1, 'permission.permission_test_perm4'))
        self.assertFalse(backend.has_perm(user1, 'permission.permission_test_perm5'))
        self.assertFalse(backend.has_perm(user1, 'permission.permission_test_perm6'))
        self.assertFalse(backend.has_perm(user1, 'permission.permission_test_perm7'))
        self.assertFalse(backend.has_perm(user1, 'permission.permission_test_perm8'))
        
        self.assertTrue(backend.has_perm(user2, 'permission.permission_test_perm1'))
        self.assertTrue(backend.has_perm(user2, 'permission.permission_test_perm2'))
        self.assertFalse(backend.has_perm(user2, 'permission.permission_test_perm3'))
        self.assertFalse(backend.has_perm(user2, 'permission.permission_test_perm4'))
        self.assertFalse(backend.has_perm(user2, 'permission.permission_test_perm5'))
        self.assertFalse(backend.has_perm(user2, 'permission.permission_test_perm6'))
        self.assertFalse(backend.has_perm(user2, 'permission.permission_test_perm7'))
        self.assertFalse(backend.has_perm(user2, 'permission.permission_test_perm8'))
        
        self.assertTrue(backend.has_perm(user3, 'permission.permission_test_perm1'))
        self.assertTrue(backend.has_perm(user3, 'permission.permission_test_perm2'))
        self.assertTrue(backend.has_perm(user3, 'permission.permission_test_perm3'))
        self.assertFalse(backend.has_perm(user3, 'permission.permission_test_perm4'))
        self.assertFalse(backend.has_perm(user3, 'permission.permission_test_perm5'))
        self.assertFalse(backend.has_perm(user3, 'permission.permission_test_perm6'))
        self.assertFalse(backend.has_perm(user3, 'permission.permission_test_perm7'))
        self.assertFalse(backend.has_perm(user3, 'permission.permission_test_perm8'))
        
        self.assertTrue(backend.has_perm(user4, 'permission.permission_test_perm1'))
        self.assertTrue(backend.has_perm(user4, 'permission.permission_test_perm2'))
        self.assertFalse(backend.has_perm(user4, 'permission.permission_test_perm3'))
        self.assertTrue(backend.has_perm(user4, 'permission.permission_test_perm4'))
        self.assertTrue(backend.has_perm(user4, 'permission.permission_test_perm5'))
        self.assertFalse(backend.has_perm(user4, 'permission.permission_test_perm6'))
        self.assertFalse(backend.has_perm(user4, 'permission.permission_test_perm7'))
        self.assertFalse(backend.has_perm(user4, 'permission.permission_test_perm8'))
        
        self.assertTrue(backend.has_perm(user5, 'permission.permission_test_perm1'))
        self.assertTrue(backend.has_perm(user5, 'permission.permission_test_perm2'))
        self.assertFalse(backend.has_perm(user5, 'permission.permission_test_perm3'))
        self.assertTrue(backend.has_perm(user5, 'permission.permission_test_perm4'))
        self.assertTrue(backend.has_perm(user5, 'permission.permission_test_perm5'))
        self.assertFalse(backend.has_perm(user5, 'permission.permission_test_perm6'))
        self.assertFalse(backend.has_perm(user5, 'permission.permission_test_perm7'))
        self.assertFalse(backend.has_perm(user5, 'permission.permission_test_perm8'))
        
        self.assertTrue(backend.has_perm(user6, 'permission.permission_test_perm1'))
        self.assertTrue(backend.has_perm(user6, 'permission.permission_test_perm2'))
        self.assertFalse(backend.has_perm(user6, 'permission.permission_test_perm3'))
        self.assertTrue(backend.has_perm(user6, 'permission.permission_test_perm4'))
        self.assertTrue(backend.has_perm(user6, 'permission.permission_test_perm5'))
        self.assertTrue(backend.has_perm(user6, 'permission.permission_test_perm6'))
        self.assertFalse(backend.has_perm(user6, 'permission.permission_test_perm7'))
        self.assertFalse(backend.has_perm(user6, 'permission.permission_test_perm8'))
        
        self.assertTrue(backend.has_perm(user7, 'permission.permission_test_perm1'))
        self.assertTrue(backend.has_perm(user7, 'permission.permission_test_perm2'))
        self.assertFalse(backend.has_perm(user7, 'permission.permission_test_perm3'))
        self.assertTrue(backend.has_perm(user7, 'permission.permission_test_perm4'))
        self.assertTrue(backend.has_perm(user7, 'permission.permission_test_perm5'))
        self.assertFalse(backend.has_perm(user7, 'permission.permission_test_perm6'))
        self.assertTrue(backend.has_perm(user7, 'permission.permission_test_perm7'))
        self.assertFalse(backend.has_perm(user7, 'permission.permission_test_perm8'))
        
        self.assertTrue(backend.has_perm(user8, 'permission.permission_test_perm1'))
        self.assertTrue(backend.has_perm(user8, 'permission.permission_test_perm2'))
        self.assertFalse(backend.has_perm(user8, 'permission.permission_test_perm3'))
        self.assertFalse(backend.has_perm(user8, 'permission.permission_test_perm4'))
        self.assertFalse(backend.has_perm(user8, 'permission.permission_test_perm5'))
        self.assertFalse(backend.has_perm(user8, 'permission.permission_test_perm6'))
        self.assertFalse(backend.has_perm(user8, 'permission.permission_test_perm7'))
        self.assertTrue(backend.has_perm(user8, 'permission.permission_test_perm8'))