Example #1
0
 def testGetRecentActivityWithEmptyArguments(self):
     """
     L{getRecentActivity} returns an empty generator if no values are
     provided.
     """
     result = getRecentActivity(objectIDs=[], usernames=[])
     self.assertEqual([], list(result))
Example #2
0
 def testGetRecentActivityWithEmptyArguments(self):
     """
     L{getRecentActivity} returns an empty generator if no values are
     provided.
     """
     result = getRecentActivity(objectIDs=[], usernames=[])
     self.assertEqual([], list(result))
Example #3
0
    def testGetRecentActivityByUsernameAndObjectID(self):
        """
        L{getRecentActivity} returns the recent tag values for the given
        objects and usernames.
        """
        objectID1 = self.createDirtyObject(u'object1')
        objectID2 = self.createDirtyObject(u'object2')
        objectID3 = self.createDirtyObject(u'object3')

        time1 = self.makeValue(self.user1, self.user1tag1, objectID1, u'A', 1)
        time2 = self.makeValue(self.user1, self.user1tag2, objectID1, u'B', 2)
        time3 = self.makeValue(self.user2, self.user2tag1, objectID2, u'C', 3)
        time4 = self.makeValue(self.user2, self.user2tag2, objectID2, u'D', 4)
        self.makeValue(self.user3, self.user3tag1, objectID3, u'E', 5)
        self.makeValue(self.user3, self.user3tag2, objectID3, u'F', 6)

        expected = [
            (u'user1/tag1', objectID1, u'object1', u'A', u'user1', time1),
            (u'user1/tag2', objectID1, u'object1', u'B', u'user1', time2),
            (u'user2/tag1', objectID2, u'object2', u'C', u'user2', time3),
            (u'user2/tag2', objectID2, u'object2', u'D', u'user2', time4)
        ]
        result = getRecentActivity(objectIDs=[objectID1, objectID2],
                                   usernames=[u'user1', u'user2'])
        self.assertEqual(expected, list(result))
Example #4
0
    def getForObjects(self, objectIDs):
        """Get information about recent tag values on the given objects.

        @param objectIDs: A sequence of object IDs to get recent tags from.
        @return: A C{list} of C{(Tag.path, TagValue.objectID,
            AboutTagValue.value, TagValue.value, User.username,
            value.creationTime)} 6-tuples with the information about the
            recent tag values.
        """
        return self._formatResult(getRecentActivity(objectIDs=objectIDs))
Example #5
0
    def getForObjects(self, objectIDs):
        """Get information about recent tag values on the given objects.

        @param objectIDs: A sequence of object IDs to get recent tags from.
        @return: A C{list} of C{(Tag.path, TagValue.objectID,
            AboutTagValue.value, TagValue.value, User.username,
            value.creationTime)} 6-tuples with the information about the
            recent tag values.
        """
        return self._formatResult(getRecentActivity(objectIDs=objectIDs))
Example #6
0
    def testGetRecentActivityByObjectID(self):
        """
        L{getRecentActivity} returns the recent tag values for a given object.
        """
        objectID1 = self.createDirtyObject(u'object1')
        objectID2 = self.createDirtyObject(u'object2')

        time1 = self.makeValue(self.user1, self.user1tag1, objectID1, u'A', 1)
        time2 = self.makeValue(self.user1, self.user1tag2, objectID1, u'B', 2)
        time3 = self.makeValue(self.user2, self.user2tag2, objectID1, u'D', 4)
        self.makeValue(self.user2, self.user2tag1, objectID2, u'C', 3)

        expected = [
            (u'user1/tag1', objectID1, u'object1', u'A', u'user1', time1),
            (u'user1/tag2', objectID1, u'object1', u'B', u'user1', time2),
            (u'user2/tag2', objectID1, u'object1', u'D', u'user2', time3)]
        result = getRecentActivity(objectIDs=[objectID1])
        self.assertEqual(expected, list(result))
Example #7
0
    def testGetRecentActivityByObjectIDWithLimit(self):
        """
        L{getRecentActivity} returns only the number of items speficied by the
        C{limit} argument.
        """
        objectID1 = self.createDirtyObject(u'object1')

        time1 = self.makeValue(self.user1, self.user1tag1, objectID1, u'A', 1)
        time2 = self.makeValue(self.user1, self.user1tag2, objectID1, u'B', 2)
        time3 = self.makeValue(self.user2, self.user2tag1, objectID1, u'C', 3)
        self.makeValue(self.user2, self.user2tag2, objectID1, u'D', 4)

        expected = [
            (u'user1/tag1', objectID1, u'object1', u'A', u'user1', time1),
            (u'user1/tag2', objectID1, u'object1', u'B', u'user1', time2),
            (u'user2/tag1', objectID1, u'object1', u'C', u'user2', time3)]
        result = getRecentActivity(objectIDs=[objectID1], limit=3)
        self.assertEqual(expected, list(result))
Example #8
0
    def testGetRecentActivityByUsernameWithoutAboutValues(self):
        """
        If the requested objects don't have C{fluiddb/about} values,
        L{getRecentActivity} returns None as L{AboutTagValue}.
        """
        objectID1 = self.createDirtyObject(None)
        objectID2 = self.createDirtyObject(None)

        time1 = self.makeValue(self.user1, self.user1tag1, objectID1, u'A', 1)
        time2 = self.makeValue(self.user1, self.user1tag2, objectID1, u'B', 2)
        time3 = self.makeValue(self.user1, self.user1tag1, objectID2, u'D', 4)
        self.makeValue(self.user2, self.user2tag1, objectID1, u'C', 3)

        expected = [(u'user1/tag1', objectID1, None, u'A', u'user1', time1),
                    (u'user1/tag2', objectID1, None, u'B', u'user1', time2),
                    (u'user1/tag1', objectID2, None, u'D', u'user1', time3)]
        result = getRecentActivity(usernames=[u'user1'])
        self.assertEqual(expected, list(result))
Example #9
0
    def getForUsers(self, usernames):
        """Get information about recent tag values on the given users.

        @param usernames: A sequence of usernames to get recent tags from.
        @raise: L{UnknownUserError} if one of the given usernames doesn't
            exist.
        @return: A C{list} of C{(Tag.path, TagValue.objectID,
            AboutTagValue.value, TagValue.value, User.username,
            value.creationTime)} 6-tuples with the information about the
            recent tag values.
        """
        usernames = set(usernames)
        result = getUsers(usernames=usernames)
        existingUsernames = set(result.values(User.username))
        unknownUsernames = usernames - existingUsernames
        if unknownUsernames:
            raise UnknownUserError(list(unknownUsernames))
        return self._formatResult(getRecentActivity(usernames=usernames))
Example #10
0
    def getForUsers(self, usernames):
        """Get information about recent tag values on the given users.

        @param usernames: A sequence of usernames to get recent tags from.
        @raise: L{UnknownUserError} if one of the given usernames doesn't
            exist.
        @return: A C{list} of C{(Tag.path, TagValue.objectID,
            AboutTagValue.value, TagValue.value, User.username,
            value.creationTime)} 6-tuples with the information about the
            recent tag values.
        """
        usernames = set(usernames)
        result = getUsers(usernames=usernames)
        existingUsernames = set(result.values(User.username))
        unknownUsernames = usernames - existingUsernames
        if unknownUsernames:
            raise UnknownUserError(list(unknownUsernames))
        return self._formatResult(getRecentActivity(usernames=usernames))
Example #11
0
    def testGetRecentActivityByUsernameWithoutAboutValues(self):
        """
        If the requested objects don't have C{fluiddb/about} values,
        L{getRecentActivity} returns None as L{AboutTagValue}.
        """
        objectID1 = self.createDirtyObject(None)
        objectID2 = self.createDirtyObject(None)

        time1 = self.makeValue(self.user1, self.user1tag1, objectID1, u'A', 1)
        time2 = self.makeValue(self.user1, self.user1tag2, objectID1, u'B', 2)
        time3 = self.makeValue(self.user1, self.user1tag1, objectID2, u'D', 4)
        self.makeValue(self.user2, self.user2tag1, objectID1, u'C', 3)

        expected = [
            (u'user1/tag1', objectID1, None, u'A', u'user1', time1),
            (u'user1/tag2', objectID1, None, u'B', u'user1', time2),
            (u'user1/tag1', objectID2, None, u'D', u'user1', time3)]
        result = getRecentActivity(usernames=[u'user1'])
        self.assertEqual(expected, list(result))
Example #12
0
    def testGetRecentActivityByObjectID(self):
        """
        L{getRecentActivity} returns the recent tag values for a given object.
        """
        objectID1 = self.createDirtyObject(u'object1')
        objectID2 = self.createDirtyObject(u'object2')

        time1 = self.makeValue(self.user1, self.user1tag1, objectID1, u'A', 1)
        time2 = self.makeValue(self.user1, self.user1tag2, objectID1, u'B', 2)
        time3 = self.makeValue(self.user2, self.user2tag2, objectID1, u'D', 4)
        self.makeValue(self.user2, self.user2tag1, objectID2, u'C', 3)

        expected = [
            (u'user1/tag1', objectID1, u'object1', u'A', u'user1', time1),
            (u'user1/tag2', objectID1, u'object1', u'B', u'user1', time2),
            (u'user2/tag2', objectID1, u'object1', u'D', u'user2', time3)
        ]
        result = getRecentActivity(objectIDs=[objectID1])
        self.assertEqual(expected, list(result))
Example #13
0
    def testGetRecentActivityByObjectIDWithLimit(self):
        """
        L{getRecentActivity} returns only the number of items speficied by the
        C{limit} argument.
        """
        objectID1 = self.createDirtyObject(u'object1')

        time1 = self.makeValue(self.user1, self.user1tag1, objectID1, u'A', 1)
        time2 = self.makeValue(self.user1, self.user1tag2, objectID1, u'B', 2)
        time3 = self.makeValue(self.user2, self.user2tag1, objectID1, u'C', 3)
        self.makeValue(self.user2, self.user2tag2, objectID1, u'D', 4)

        expected = [
            (u'user1/tag1', objectID1, u'object1', u'A', u'user1', time1),
            (u'user1/tag2', objectID1, u'object1', u'B', u'user1', time2),
            (u'user2/tag1', objectID1, u'object1', u'C', u'user2', time3)
        ]
        result = getRecentActivity(objectIDs=[objectID1], limit=3)
        self.assertEqual(expected, list(result))
Example #14
0
    def testGetRecentActivityByUsernameAndObjectID(self):
        """
        L{getRecentActivity} returns the recent tag values for the given
        objects and usernames.
        """
        objectID1 = self.createDirtyObject(u'object1')
        objectID2 = self.createDirtyObject(u'object2')
        objectID3 = self.createDirtyObject(u'object3')

        time1 = self.makeValue(self.user1, self.user1tag1, objectID1, u'A', 1)
        time2 = self.makeValue(self.user1, self.user1tag2, objectID1, u'B', 2)
        time3 = self.makeValue(self.user2, self.user2tag1, objectID2, u'C', 3)
        time4 = self.makeValue(self.user2, self.user2tag2, objectID2, u'D', 4)
        self.makeValue(self.user3, self.user3tag1, objectID3, u'E', 5)
        self.makeValue(self.user3, self.user3tag2, objectID3, u'F', 6)

        expected = [
            (u'user1/tag1', objectID1, u'object1', u'A', u'user1', time1),
            (u'user1/tag2', objectID1, u'object1', u'B', u'user1', time2),
            (u'user2/tag1', objectID2, u'object2', u'C', u'user2', time3),
            (u'user2/tag2', objectID2, u'object2', u'D', u'user2', time4)]
        result = getRecentActivity(objectIDs=[objectID1, objectID2],
                                   usernames=[u'user1', u'user2'])
        self.assertEqual(expected, list(result))