예제 #1
0
    def test_remove_permission_logic_private_attributes(self):
        m = self.mock_logic
        add_permission_logic(Article, m)
        self.assertTrue(hasattr(Article, '_permission_logics'))
        self.assertTrue(hasattr(Article, '_permission_handler'))

        # private attribute should not be disappeared
        remove_permission_logic(Article, m)
        self.assertTrue(hasattr(Article, '_permission_logics'))
        self.assertTrue(hasattr(Article, '_permission_handler'))
예제 #2
0
 def test_remove_permission_logic_exception(self):
     m = self.mock_logic
     add_permission_logic(Article, m)
     remove_permission_logic(Article, m)
     # it shuld not raise exception
     remove_permission_logic(Article, m)
     # it should raise exception if fail_silently is False
     self.assertRaises(KeyError,
             remove_permission_logic, Article, m,
             fail_silently=False)
예제 #3
0
    def test_remove_permission_logic_private_attributes(self):
        m = self.mock_logic
        add_permission_logic(Article, m)
        self.assertTrue(hasattr(Article, '_permission_logics'))
        self.assertTrue(hasattr(Article, '_permission_handler'))

        # private attribute should not be disappeared
        remove_permission_logic(Article, m)
        self.assertTrue(hasattr(Article, '_permission_logics'))
        self.assertTrue(hasattr(Article, '_permission_handler'))
예제 #4
0
 def test_remove_permission_logic_exception(self):
     m = self.mock_logic
     add_permission_logic(Article, m)
     remove_permission_logic(Article, m)
     # it shuld not raise exception
     remove_permission_logic(Article, m)
     # it should raise exception if fail_silently is False
     self.assertRaises(KeyError,
                       remove_permission_logic,
                       Article,
                       m,
                       fail_silently=False)
예제 #5
0
    def test_remove_permission_logic_registry(self):
        m = self.mock_logic
        add_permission_logic(Article, m)
        self.assertEqual(Article._permission_logics, set([m]))
        self.assertTrue(isinstance(registry._registry[Article],
                                   LogicalPermissionHandler))

        # permission_logics should be changed but registry
        # should not be changed
        remove_permission_logic(Article, m)
        self.assertEqual(Article._permission_logics, set())
        self.assertTrue(isinstance(registry._registry[Article],
                                   LogicalPermissionHandler))
예제 #6
0
    def test_remove_permission_logic_registry(self):
        m = self.mock_logic
        add_permission_logic(Article, m)
        self.assertEqual(Article._permission_logics, set([m]))
        self.assertTrue(
            isinstance(registry._registry[Article], LogicalPermissionHandler))

        # permission_logics should be changed but registry
        # should not be changed
        remove_permission_logic(Article, m)
        self.assertEqual(Article._permission_logics, set())
        self.assertTrue(
            isinstance(registry._registry[Article], LogicalPermissionHandler))
예제 #7
0
    def test_user_can_create_customer_if_he_is_not_staff_if_settings_are_tweaked(
            self):
        add_permission_logic(Customer, OWNER_CAN_MANAGE_CUSTOMER_LOGICS)
        self.client.force_authenticate(user=self.users['not_owner'])

        response = self.client.post(reverse('customer-list'),
                                    self._get_valid_payload())

        self.assertEqual(response.status_code, status.HTTP_201_CREATED)

        # User became owner of created customer
        self.assertEqual(response.data['owners'][0]['uuid'],
                         self.users['not_owner'].uuid.hex)
        remove_permission_logic(Customer, OWNER_CAN_MANAGE_CUSTOMER_LOGICS)