def makeBugSubscriptionFilter(self, target):
     subscriber = self.factory.makePerson()
     login_person(subscriber)
     subscription = target.addBugSubscription(subscriber, subscriber)
     subscription_filter = BugSubscriptionFilter()
     subscription_filter.structural_subscription = subscription
     return subscription_filter
示例#2
0
 def newBugFilter(self):
     """See `IStructuralSubscription`."""
     bug_filter = BugSubscriptionFilter()
     bug_filter.structural_subscription = self
     # This flush is needed for the web service API.
     IStore(StructuralSubscription).flush()
     return bug_filter
 def test_information_types_set_empty(self):
     # Assigning an empty iterable to information_types updates the
     # database.
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.information_types = []
     self.assertEqual(
         frozenset(), bug_subscription_filter.information_types)
 def test_information_types_set_all(self):
     # Setting all information_types is normalized into setting no
     # information_types.
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.information_types = list(InformationType.items)
     self.assertEqual(frozenset(),
                      bug_subscription_filter.information_types)
 def test_information_types_set_empty(self):
     # Assigning an empty iterable to information_types updates the
     # database.
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.information_types = []
     self.assertEqual(frozenset(),
                      bug_subscription_filter.information_types)
 def newBugFilter(self):
     """See `IStructuralSubscription`."""
     bug_filter = BugSubscriptionFilter()
     bug_filter.structural_subscription = self
     # This flush is needed for the web service API.
     IStore(StructuralSubscription).flush()
     return bug_filter
    def test_tags_set_wildcard(self):
        # Setting one or more wildcard tags may update include_any_tags or
        # exclude_any_tags.
        bug_subscription_filter = BugSubscriptionFilter()
        self.assertEqual(frozenset(), bug_subscription_filter.tags)
        self.assertFalse(bug_subscription_filter.include_any_tags)
        self.assertFalse(bug_subscription_filter.exclude_any_tags)

        bug_subscription_filter.tags = [u"*"]
        self.assertEqual(frozenset((u"*",)), bug_subscription_filter.tags)
        self.assertTrue(bug_subscription_filter.include_any_tags)
        self.assertFalse(bug_subscription_filter.exclude_any_tags)

        bug_subscription_filter.tags = [u"-*"]
        self.assertEqual(frozenset((u"-*",)), bug_subscription_filter.tags)
        self.assertFalse(bug_subscription_filter.include_any_tags)
        self.assertTrue(bug_subscription_filter.exclude_any_tags)

        bug_subscription_filter.tags = [u"*", u"-*"]
        self.assertEqual(
            frozenset((u"*", u"-*")), bug_subscription_filter.tags)
        self.assertTrue(bug_subscription_filter.include_any_tags)
        self.assertTrue(bug_subscription_filter.exclude_any_tags)

        bug_subscription_filter.tags = []
        self.assertEqual(frozenset(), bug_subscription_filter.tags)
        self.assertFalse(bug_subscription_filter.include_any_tags)
        self.assertFalse(bug_subscription_filter.exclude_any_tags)
示例#8
0
 def test_bug_filters(self):
     # The bug_filters attribute returns the BugSubscriptionFilter records
     # associated with this subscription.
     subscription_filter = BugSubscriptionFilter()
     subscription_filter.structural_subscription = self.subscription
     self.assertContentEqual([subscription_filter, self.original_filter],
                             list(self.subscription.bug_filters))
示例#9
0
 def makeBugSubscriptionFilter(self, target):
     subscriber = self.factory.makePerson()
     login_person(subscriber)
     subscription = target.addBugSubscription(subscriber, subscriber)
     subscription_filter = BugSubscriptionFilter()
     subscription_filter.structural_subscription = subscription
     return subscription_filter
 def test_information_types_set_all(self):
     # Setting all information_types is normalized into setting no
     # information_types.
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.information_types = list(
         InformationType.items)
     self.assertEqual(
         frozenset(), bug_subscription_filter.information_types)
 def test_bug_filters(self):
     # The bug_filters attribute returns the BugSubscriptionFilter records
     # associated with this subscription.
     subscription_filter = BugSubscriptionFilter()
     subscription_filter.structural_subscription = self.subscription
     self.assertContentEqual(
         [subscription_filter, self.original_filter],
         list(self.subscription.bug_filters))
 def test_tags_set(self):
     # Assigning any iterable to tags updates the database.
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.tags = [u"foo", u"-bar"]
     self.assertEqual(frozenset((u"foo", u"-bar")),
                      bug_subscription_filter.tags)
     # Assigning a subset causes the other tag filters to be removed.
     bug_subscription_filter.tags = [u"foo"]
     self.assertEqual(frozenset((u"foo", )), bug_subscription_filter.tags)
 def test_basics(self):
     """Test the basic operation of `BugSubscriptionFilter` objects."""
     # Create.
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.structural_subscription = self.subscription
     bug_subscription_filter.bug_notification_level = (
         BugNotificationLevel.METADATA)
     bug_subscription_filter.find_all_tags = True
     bug_subscription_filter.include_any_tags = True
     bug_subscription_filter.exclude_any_tags = True
     bug_subscription_filter.other_parameters = u"foo"
     bug_subscription_filter.description = u"bar"
     # Flush and reload.
     IStore(bug_subscription_filter).flush()
     IStore(bug_subscription_filter).reload(bug_subscription_filter)
     # Check.
     self.assertIsNot(None, bug_subscription_filter.id)
     self.assertEqual(self.subscription.id,
                      bug_subscription_filter.structural_subscription_id)
     self.assertEqual(self.subscription,
                      bug_subscription_filter.structural_subscription)
     self.assertIs(True, bug_subscription_filter.find_all_tags)
     self.assertIs(True, bug_subscription_filter.include_any_tags)
     self.assertIs(True, bug_subscription_filter.exclude_any_tags)
     self.assertEqual(BugNotificationLevel.METADATA,
                      bug_subscription_filter.bug_notification_level)
     self.assertEqual(u"foo", bug_subscription_filter.other_parameters)
     self.assertEqual(u"bar", bug_subscription_filter.description)
 def test_read_to_all(self):
     """`BugSubscriptionFilter`s can be read by anyone."""
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.structural_subscription = self.subscription
     bug_subscription_filter = ProxyFactory(bug_subscription_filter)
     with person_logged_in(self.subscriber):
         bug_subscription_filter.find_all_tags
     with person_logged_in(self.factory.makePerson()):
         bug_subscription_filter.find_all_tags
     with anonymous_logged_in():
         bug_subscription_filter.find_all_tags
 def test_read_to_all(self):
     """`BugSubscriptionFilter`s can be read by anyone."""
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.structural_subscription = self.subscription
     bug_subscription_filter = ProxyFactory(bug_subscription_filter)
     with person_logged_in(self.subscriber):
         bug_subscription_filter.find_all_tags
     with person_logged_in(self.factory.makePerson()):
         bug_subscription_filter.find_all_tags
     with anonymous_logged_in():
         bug_subscription_filter.find_all_tags
 def test_tags_set(self):
     # Assigning any iterable to tags updates the database.
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.tags = [u"foo", u"-bar"]
     self.assertEqual(
         frozenset((u"foo", u"-bar")),
         bug_subscription_filter.tags)
     # Assigning a subset causes the other tag filters to be removed.
     bug_subscription_filter.tags = [u"foo"]
     self.assertEqual(
         frozenset((u"foo",)),
         bug_subscription_filter.tags)
 def test_statuses_set(self):
     # Assigning any iterable to statuses updates the database.
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.statuses = [
         BugTaskStatus.NEW, BugTaskStatus.INCOMPLETE
     ]
     self.assertEqual(
         frozenset((BugTaskStatus.NEW, BugTaskStatus.INCOMPLETE)),
         bug_subscription_filter.statuses)
     # Assigning a subset causes the other status filters to be removed.
     bug_subscription_filter.statuses = [BugTaskStatus.NEW]
     self.assertEqual(frozenset((BugTaskStatus.NEW, )),
                      bug_subscription_filter.statuses)
 def test_defaults(self):
     """Test the default values of `BugSubscriptionFilter` objects."""
     # Create.
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.structural_subscription = self.subscription
     # Check.
     self.assertEqual(BugNotificationLevel.COMMENTS,
                      bug_subscription_filter.bug_notification_level)
     self.assertIs(False, bug_subscription_filter.find_all_tags)
     self.assertIs(False, bug_subscription_filter.include_any_tags)
     self.assertIs(False, bug_subscription_filter.exclude_any_tags)
     self.assertIs(None, bug_subscription_filter.other_parameters)
     self.assertIs(None, bug_subscription_filter.description)
 def test_statuses_set(self):
     # Assigning any iterable to statuses updates the database.
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.statuses = [
         BugTaskStatus.NEW, BugTaskStatus.INCOMPLETE]
     self.assertEqual(
         frozenset((BugTaskStatus.NEW, BugTaskStatus.INCOMPLETE)),
         bug_subscription_filter.statuses)
     # Assigning a subset causes the other status filters to be removed.
     bug_subscription_filter.statuses = [BugTaskStatus.NEW]
     self.assertEqual(
         frozenset((BugTaskStatus.NEW,)),
         bug_subscription_filter.statuses)
 def test_importances_set(self):
     # Assigning any iterable to importances updates the database.
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.importances = [
         BugTaskImportance.HIGH, BugTaskImportance.LOW]
     self.assertEqual(
         frozenset((BugTaskImportance.HIGH, BugTaskImportance.LOW)),
         bug_subscription_filter.importances)
     # Assigning a subset causes the other importance filters to be
     # removed.
     bug_subscription_filter.importances = [BugTaskImportance.HIGH]
     self.assertEqual(
         frozenset((BugTaskImportance.HIGH,)),
         bug_subscription_filter.importances)
 def test_information_types_set(self):
     # Assigning any iterable to information_types updates the database.
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.information_types = [
         InformationType.PRIVATESECURITY, InformationType.USERDATA
     ]
     self.assertEqual(
         frozenset(
             (InformationType.PRIVATESECURITY, InformationType.USERDATA)),
         bug_subscription_filter.information_types)
     # Assigning a subset causes the other status filters to be removed.
     bug_subscription_filter.information_types = [InformationType.USERDATA]
     self.assertEqual(frozenset((InformationType.USERDATA, )),
                      bug_subscription_filter.information_types)
 def test_basics(self):
     """Test the basic operation of `BugSubscriptionFilter` objects."""
     # Create.
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.structural_subscription = self.subscription
     bug_subscription_filter.bug_notification_level = (
         BugNotificationLevel.METADATA)
     bug_subscription_filter.find_all_tags = True
     bug_subscription_filter.include_any_tags = True
     bug_subscription_filter.exclude_any_tags = True
     bug_subscription_filter.other_parameters = u"foo"
     bug_subscription_filter.description = u"bar"
     # Flush and reload.
     IStore(bug_subscription_filter).flush()
     IStore(bug_subscription_filter).reload(bug_subscription_filter)
     # Check.
     self.assertIsNot(None, bug_subscription_filter.id)
     self.assertEqual(
         self.subscription.id,
         bug_subscription_filter.structural_subscription_id)
     self.assertEqual(
         self.subscription,
         bug_subscription_filter.structural_subscription)
     self.assertIs(True, bug_subscription_filter.find_all_tags)
     self.assertIs(True, bug_subscription_filter.include_any_tags)
     self.assertIs(True, bug_subscription_filter.exclude_any_tags)
     self.assertEqual(
         BugNotificationLevel.METADATA,
         bug_subscription_filter.bug_notification_level)
     self.assertEqual(u"foo", bug_subscription_filter.other_parameters)
     self.assertEqual(u"bar", bug_subscription_filter.description)
 def test_defaults(self):
     """Test the default values of `BugSubscriptionFilter` objects."""
     # Create.
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.structural_subscription = self.subscription
     # Check.
     self.assertEqual(
         BugNotificationLevel.COMMENTS,
         bug_subscription_filter.bug_notification_level)
     self.assertIs(False, bug_subscription_filter.find_all_tags)
     self.assertIs(False, bug_subscription_filter.include_any_tags)
     self.assertIs(False, bug_subscription_filter.exclude_any_tags)
     self.assertIs(None, bug_subscription_filter.other_parameters)
     self.assertIs(None, bug_subscription_filter.description)
 def test_importances_set(self):
     # Assigning any iterable to importances updates the database.
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.importances = [
         BugTaskImportance.HIGH, BugTaskImportance.LOW
     ]
     self.assertEqual(
         frozenset((BugTaskImportance.HIGH, BugTaskImportance.LOW)),
         bug_subscription_filter.importances)
     # Assigning a subset causes the other importance filters to be
     # removed.
     bug_subscription_filter.importances = [BugTaskImportance.HIGH]
     self.assertEqual(frozenset((BugTaskImportance.HIGH, )),
                      bug_subscription_filter.importances)
 def test_information_types_set(self):
     # Assigning any iterable to information_types updates the database.
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.information_types = [
         InformationType.PRIVATESECURITY, InformationType.USERDATA]
     self.assertEqual(
         frozenset((InformationType.PRIVATESECURITY,
             InformationType.USERDATA)),
         bug_subscription_filter.information_types)
     # Assigning a subset causes the other status filters to be removed.
     bug_subscription_filter.information_types = [
         InformationType.USERDATA]
     self.assertEqual(
         frozenset((InformationType.USERDATA,)),
         bug_subscription_filter.information_types)
 def test_write_to_subscribers(self):
     """`BugSubscriptionFilter`s can only be modifed by subscribers."""
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.structural_subscription = self.subscription
     bug_subscription_filter = ProxyFactory(bug_subscription_filter)
     # The subscriber can edit the filter.
     with person_logged_in(self.subscriber):
         bug_subscription_filter.find_all_tags = True
     # Any other person is denied rights to edit the filter.
     with person_logged_in(self.factory.makePerson()):
         self.assertRaises(Unauthorized, setattr, bug_subscription_filter,
                           "find_all_tags", True)
     # Anonymous users are also denied.
     with anonymous_logged_in():
         self.assertRaises(Unauthorized, setattr, bug_subscription_filter,
                           "find_all_tags", True)
 def test_delete_by_subscribers(self):
     """`BugSubscriptionFilter`s can only be deleted by subscribers."""
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.structural_subscription = self.subscription
     bug_subscription_filter = ProxyFactory(bug_subscription_filter)
     # Anonymous users are denied rights to delete the filter.
     with anonymous_logged_in():
         self.assertRaises(
             Unauthorized, getattr, bug_subscription_filter, "delete")
     # Any other person is also denied.
     with person_logged_in(self.factory.makePerson()):
         self.assertRaises(
             Unauthorized, getattr, bug_subscription_filter, "delete")
     # The subscriber can delete the filter.
     with person_logged_in(self.subscriber):
         bug_subscription_filter.delete()
 def test_write_to_any_user_when_no_subscription(self):
     """
     `BugSubscriptionFilter`s can be modifed by any logged-in user when
     there is no related subscription.
     """
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter = ProxyFactory(bug_subscription_filter)
     # The subscriber can edit the filter.
     with person_logged_in(self.subscriber):
         bug_subscription_filter.find_all_tags = True
     # Any other person can edit the filter.
     with person_logged_in(self.factory.makePerson()):
         bug_subscription_filter.find_all_tags = True
     # Anonymous users are denied rights to edit the filter.
     with anonymous_logged_in():
         self.assertRaises(Unauthorized, setattr, bug_subscription_filter,
                           "find_all_tags", True)
 def test_write_to_subscribers(self):
     """`BugSubscriptionFilter`s can only be modifed by subscribers."""
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.structural_subscription = self.subscription
     bug_subscription_filter = ProxyFactory(bug_subscription_filter)
     # The subscriber can edit the filter.
     with person_logged_in(self.subscriber):
         bug_subscription_filter.find_all_tags = True
     # Any other person is denied rights to edit the filter.
     with person_logged_in(self.factory.makePerson()):
         self.assertRaises(
             Unauthorized, setattr, bug_subscription_filter,
             "find_all_tags", True)
     # Anonymous users are also denied.
     with anonymous_logged_in():
         self.assertRaises(
             Unauthorized, setattr, bug_subscription_filter,
             "find_all_tags", True)
 def test_write_to_any_user_when_no_subscription(self):
     """
     `BugSubscriptionFilter`s can be modifed by any logged-in user when
     there is no related subscription.
     """
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter = ProxyFactory(bug_subscription_filter)
     # The subscriber can edit the filter.
     with person_logged_in(self.subscriber):
         bug_subscription_filter.find_all_tags = True
     # Any other person can edit the filter.
     with person_logged_in(self.factory.makePerson()):
         bug_subscription_filter.find_all_tags = True
     # Anonymous users are denied rights to edit the filter.
     with anonymous_logged_in():
         self.assertRaises(
             Unauthorized, setattr, bug_subscription_filter,
             "find_all_tags", True)
 def setUp(self):
     super(TestBugSubscriptionFilterInformationType, self).setUp()
     self.target = self.factory.makeProduct()
     self.subscriber = self.target.owner
     login_person(self.subscriber)
     self.subscription = self.target.addBugSubscription(
         self.subscriber, self.subscriber)
     self.subscription_filter = BugSubscriptionFilter()
     self.subscription_filter.structural_subscription = self.subscription
    def test_tags_with_any_and_all(self):
        # If the tags are bundled in a c.l.searchbuilder.any or .all, the
        # find_any_tags attribute will also be updated.
        bug_subscription_filter = BugSubscriptionFilter()
        self.assertEqual(frozenset(), bug_subscription_filter.tags)
        self.assertFalse(bug_subscription_filter.find_all_tags)

        bug_subscription_filter.tags = searchbuilder.all(u"foo")
        self.assertEqual(frozenset((u"foo", )), bug_subscription_filter.tags)
        self.assertTrue(bug_subscription_filter.find_all_tags)

        # Not using `searchbuilder.any` or `.all` leaves find_all_tags
        # unchanged.
        bug_subscription_filter.tags = [u"-bar"]
        self.assertEqual(frozenset((u"-bar", )), bug_subscription_filter.tags)
        self.assertTrue(bug_subscription_filter.find_all_tags)

        bug_subscription_filter.tags = searchbuilder.any(u"baz")
        self.assertEqual(frozenset((u"baz", )), bug_subscription_filter.tags)
        self.assertFalse(bug_subscription_filter.find_all_tags)
    def test_tags_with_any_and_all(self):
        # If the tags are bundled in a c.l.searchbuilder.any or .all, the
        # find_any_tags attribute will also be updated.
        bug_subscription_filter = BugSubscriptionFilter()
        self.assertEqual(frozenset(), bug_subscription_filter.tags)
        self.assertFalse(bug_subscription_filter.find_all_tags)

        bug_subscription_filter.tags = searchbuilder.all(u"foo")
        self.assertEqual(frozenset((u"foo",)), bug_subscription_filter.tags)
        self.assertTrue(bug_subscription_filter.find_all_tags)

        # Not using `searchbuilder.any` or `.all` leaves find_all_tags
        # unchanged.
        bug_subscription_filter.tags = [u"-bar"]
        self.assertEqual(frozenset((u"-bar",)), bug_subscription_filter.tags)
        self.assertTrue(bug_subscription_filter.find_all_tags)

        bug_subscription_filter.tags = searchbuilder.any(u"baz")
        self.assertEqual(frozenset((u"baz",)), bug_subscription_filter.tags)
        self.assertFalse(bug_subscription_filter.find_all_tags)
    def test_tags_set_wildcard(self):
        # Setting one or more wildcard tags may update include_any_tags or
        # exclude_any_tags.
        bug_subscription_filter = BugSubscriptionFilter()
        self.assertEqual(frozenset(), bug_subscription_filter.tags)
        self.assertFalse(bug_subscription_filter.include_any_tags)
        self.assertFalse(bug_subscription_filter.exclude_any_tags)

        bug_subscription_filter.tags = [u"*"]
        self.assertEqual(frozenset((u"*", )), bug_subscription_filter.tags)
        self.assertTrue(bug_subscription_filter.include_any_tags)
        self.assertFalse(bug_subscription_filter.exclude_any_tags)

        bug_subscription_filter.tags = [u"-*"]
        self.assertEqual(frozenset((u"-*", )), bug_subscription_filter.tags)
        self.assertFalse(bug_subscription_filter.include_any_tags)
        self.assertTrue(bug_subscription_filter.exclude_any_tags)

        bug_subscription_filter.tags = [u"*", u"-*"]
        self.assertEqual(frozenset((u"*", u"-*")),
                         bug_subscription_filter.tags)
        self.assertTrue(bug_subscription_filter.include_any_tags)
        self.assertTrue(bug_subscription_filter.exclude_any_tags)

        bug_subscription_filter.tags = []
        self.assertEqual(frozenset(), bug_subscription_filter.tags)
        self.assertFalse(bug_subscription_filter.include_any_tags)
        self.assertFalse(bug_subscription_filter.exclude_any_tags)
    def test_delete(self):
        """`BugSubscriptionFilter` objects can be deleted.

        Child objects - like `BugSubscriptionFilterTags` - will also be
        deleted.
        """
        # This is a second filter for the subscription.
        bug_subscription_filter = BugSubscriptionFilter()
        bug_subscription_filter.structural_subscription = self.subscription
        bug_subscription_filter.importances = [BugTaskImportance.LOW]
        bug_subscription_filter.statuses = [BugTaskStatus.NEW]
        bug_subscription_filter.tags = [u"foo"]
        IStore(bug_subscription_filter).flush()
        self.assertIsNot(None, Store.of(bug_subscription_filter))
        # Delete.
        bug_subscription_filter.delete()
        IStore(bug_subscription_filter).flush()
        # It doesn't exist in the database anymore.
        self.assertIs(None, Store.of(bug_subscription_filter))
    def test_delete(self):
        """`BugSubscriptionFilter` objects can be deleted.

        Child objects - like `BugSubscriptionFilterTags` - will also be
        deleted.
        """
        # This is a second filter for the subscription.
        bug_subscription_filter = BugSubscriptionFilter()
        bug_subscription_filter.structural_subscription = self.subscription
        bug_subscription_filter.importances = [BugTaskImportance.LOW]
        bug_subscription_filter.statuses = [BugTaskStatus.NEW]
        bug_subscription_filter.tags = [u"foo"]
        IStore(bug_subscription_filter).flush()
        self.assertIsNot(None, Store.of(bug_subscription_filter))
        # Delete.
        bug_subscription_filter.delete()
        IStore(bug_subscription_filter).flush()
        # It doesn't exist in the database anymore.
        self.assertIs(None, Store.of(bug_subscription_filter))
 def test_delete_by_subscribers(self):
     """`BugSubscriptionFilter`s can only be deleted by subscribers."""
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.structural_subscription = self.subscription
     bug_subscription_filter = ProxyFactory(bug_subscription_filter)
     # Anonymous users are denied rights to delete the filter.
     with anonymous_logged_in():
         self.assertRaises(Unauthorized, getattr, bug_subscription_filter,
                           "delete")
     # Any other person is also denied.
     with person_logged_in(self.factory.makePerson()):
         self.assertRaises(Unauthorized, getattr, bug_subscription_filter,
                           "delete")
     # The subscriber can delete the filter.
     with person_logged_in(self.subscriber):
         bug_subscription_filter.delete()
 def test_importances_set_all(self):
     # Setting all importances is normalized into setting no importances.
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.importances = list(BugTaskImportance.items)
     self.assertEqual(frozenset(), bug_subscription_filter.importances)
 def test_importances_set_all(self):
     # Setting all importances is normalized into setting no importances.
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.importances = list(BugTaskImportance.items)
     self.assertEqual(frozenset(), bug_subscription_filter.importances)
 def test_description(self):
     """Test the description property."""
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.description = u"foo"
     self.assertEqual(u"foo", bug_subscription_filter.description)
 def test_description(self):
     """Test the description property."""
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.description = u"foo"
     self.assertEqual(u"foo", bug_subscription_filter.description)
 def test_statuses_set_all(self):
     # Setting all statuses is normalized into setting no statuses.
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.statuses = list(BugTaskStatus.items)
     self.assertEqual(frozenset(), bug_subscription_filter.statuses)
 def test_importances(self):
     # The importances property is a frozenset of the importances that are
     # filtered upon.
     bug_subscription_filter = BugSubscriptionFilter()
     self.assertEqual(frozenset(), bug_subscription_filter.importances)
 def delete(self):
     BugSubscriptionFilter.deleteMultiple([bf.id for bf in self.bug_filters])
     Store.of(self).remove(self)
 def test_tags_set_empty(self):
     # Assigning an empty iterable to tags updates the database.
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.tags = []
     self.assertEqual(frozenset(), bug_subscription_filter.tags)
 def test_tags(self):
     # The tags property is a frozenset of the tags that are filtered upon.
     bug_subscription_filter = BugSubscriptionFilter()
     self.assertEqual(frozenset(), bug_subscription_filter.tags)
 def test_information_types(self):
     # The information_types property is a frozenset of the
     # information_types that are filtered upon.
     bug_subscription_filter = BugSubscriptionFilter()
     self.assertEqual(frozenset(),
                      bug_subscription_filter.information_types)
 def test_statuses_set_all(self):
     # Setting all statuses is normalized into setting no statuses.
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.statuses = list(BugTaskStatus.items)
     self.assertEqual(frozenset(), bug_subscription_filter.statuses)
示例#49
0
 def delete(self):
     BugSubscriptionFilter.deleteMultiple(
         [bf.id for bf in self.bug_filters])
     Store.of(self).remove(self)
 def test_tags_set_empty(self):
     # Assigning an empty iterable to tags updates the database.
     bug_subscription_filter = BugSubscriptionFilter()
     bug_subscription_filter.tags = []
     self.assertEqual(frozenset(), bug_subscription_filter.tags)