Пример #1
0
    def test_set_defaults(self):

        key1, expected1 = 'key1', 'value1'
        key2, expected2 = 'key2', 'value2'
        key2_expiry = 1000

        c = Cache()
        c.set(key1, expected1)
        c.set(key2, expected2, key2_expiry)

        returned1 = c.get(key1, True)
        sleep(0.01)

        self.assertEquals(returned1.value, expected1)
        self.assertEquals(returned1.expiry, 0.0)
        self.assertEquals(returned1.expires_at, 0.0)
        self.assertEquals(returned1.hits, 1)
        self.assertEquals(returned1.prev_read, 0.0)
        self.assertEquals(returned1.prev_write, 0.0)
        self.assertLess(returned1.last_read, c.get_timestamp())
        self.assertLess(returned1.last_write, c.get_timestamp())

        returned2 = c.get(key2, True)
        sleep(0.01)

        self.assertEquals(returned2.value, expected2)
        self.assertEquals(returned2.expiry, key2_expiry)
        self.assertLess(c.get_timestamp() - returned2.expires_at, key2_expiry)
        self.assertEquals(returned2.hits, 1)
        self.assertLess(returned2.last_read, c.get_timestamp())
        self.assertLess(returned2.last_write, c.get_timestamp())
        self.assertEquals(returned2.prev_read, 0.0)
        self.assertEquals(returned2.prev_write, 0.0)
Пример #2
0
    def test_set_get_with_details(self):

        key1, expected1 = 'key1', 'value1'
        key2, expected2 = 'key2', 'value2'
        key3, expected3 = 'key3', 'value3'

        c = Cache()
        c.set(key1, expected1)
        c.set(key2, expected2)
        c.set(key3, expected3)

        # Add one second to be sure that at least that much time elapsed between when keys were stored and current time.
        now = c.get_timestamp() + 1

        returned1 = c.get(key1, True)
        self.assertEquals(returned1.value, expected1)
        self.assertEquals(returned1.position, 2)
        self.assertLess(returned1.last_read, now)
        self.assertLess(returned1.last_write, now)
        self.assertLess(returned1.prev_read, now)
        self.assertLess(returned1.prev_write, now)

        returned2 = c.get(key2, True)
        self.assertEquals(returned2.value, expected2)
        self.assertEquals(returned2.position, 2)
        self.assertLess(returned2.last_read, now)
        self.assertLess(returned2.last_write, now)
        self.assertLess(returned2.prev_read, now)
        self.assertLess(returned2.prev_write, now)

        returned3 = c.get(key3, True)
        self.assertEquals(returned3.value, expected3)
        self.assertEquals(returned3.position, 2)
        self.assertLess(returned3.last_read, now)
        self.assertLess(returned3.last_write, now)
        self.assertLess(returned3.prev_read, now)
        self.assertLess(returned3.prev_write, now)