def test_group_constraint(self): """Test model with group constraint""" self.assertTrue(self._check_subset_string()) admin01 = self.test_user1 group1 = admin01.groups.all()[0] world = self.world constraint = SingleLayerConstraint(layer=world, active=True) constraint.save() rule = ConstraintSubsetStringRule(constraint=constraint, group=group1, rule="NAME != 'ITALY'") rule.save() self.assertEqual(rule.user_or_group, group1) self.assertEqual( ConstraintSubsetStringRule.get_constraints_for_user( admin01, world)[0], rule) constraint.active = False constraint.save() self.assertEqual( ConstraintSubsetStringRule.get_active_constraints_for_user( admin01, world), []) constraint.active = True constraint.save() self.assertEqual( ConstraintSubsetStringRule.get_active_constraints_for_user( admin01, world)[0], rule) self.assertEqual( ConstraintSubsetStringRule.get_rule_definition_for_user( admin01, world.pk), "(NAME != 'ITALY')") self.assertFalse(self._check_subset_string())
def test_user_constraint(self): """Test model with user constraint""" self.assertTrue(self._check_subset_string()) admin01 = self.test_user1 constraint = SingleLayerConstraint(layer=self.world, active=True) constraint.save() rule = ConstraintSubsetStringRule(constraint=constraint, user=admin01, rule="NAME != 'ITALY'") rule.save() self.assertEqual(rule.user_or_group, admin01) self.assertEqual( ConstraintSubsetStringRule.get_constraints_for_user( admin01, self.world)[0], rule) constraint.active = False constraint.save() self.assertEqual( ConstraintSubsetStringRule.get_active_constraints_for_user( admin01, self.world), []) constraint.active = True constraint.save() self.assertEqual( ConstraintSubsetStringRule.get_active_constraints_for_user( admin01, self.world)[0], rule) self.assertEqual( ConstraintSubsetStringRule.get_rule_definition_for_user( admin01, self.world.pk), "(NAME != 'ITALY')") self.assertFalse(self._check_subset_string()) self.assertEqual(constraint.layer_name, 'world') self.assertEqual(constraint.qgs_layer_id, 'world20181008111156525') self.assertEqual(constraint.rule_count, 1)