Beispiel #1
0
	def test_within_publication_period(self):
		inst = self.Sample(
				published = utcnow() - timedelta(days=1),
				retracted = utcnow() + timedelta(days=1)
			)
		
		assert inst.is_published
Beispiel #2
0
    def test_cast_integer(self, Sample):
        v = timedelta(days=7)
        r = (utcnow() + v)
        inst = Sample(7)

        assert isinstance(inst.__data__['field'], datetime)
        assert inst.field == r
Beispiel #3
0
	def test_cast_integer(self, Sample):
		v = timedelta(days=7)
		r = (utcnow() + v)
		inst = Sample(7)
		
		assert isinstance(inst.__data__['field'], datetime)
		assert inst.field == r
Beispiel #4
0
	def test_cast_timedelta(self, Sample):
		v = -timedelta(days=7)
		r = (utcnow() + v)
		inst = Sample(v)
		
		assert isinstance(inst.__data__['field'], oid)
		assert inst.field.generation_time == r
Beispiel #5
0
	def test_deserialize_expired(self):
		now = utcnow()
		inst = self.Sample.from_mongo({'expires': now})
		assert inst is None
		
		inst = self.Sample.from_mongo({'expires': now + timedelta(hours=1)})
		assert isinstance(inst, self.Sample)
		assert not inst.is_expired
Beispiel #6
0
    def test_deserialize_expired(self):
        now = utcnow()
        inst = self.Sample.from_mongo({'expires': now})
        assert inst is None

        inst = self.Sample.from_mongo({'expires': now + timedelta(hours=1)})
        assert isinstance(inst, self.Sample)
        assert not inst.is_expired
Beispiel #7
0
	def test_acquire_expired(self, sample):
		then = utcnow() - timedelta(days=30)
		sample.update_one(set__lock=sample.Lock(then, 'xyzzy'))
		
		sample.acquire()
		sample.reload('lock')
		
		assert sample.lock.instance == us()
		assert sample.did_expire
Beispiel #8
0
    def test_acquire_expired(self, sample):
        then = utcnow() - timedelta(days=30)
        sample.update_one(set__lock=sample.Lock(then, 'xyzzy'))

        sample.acquire()
        sample.reload('lock')

        assert sample.lock.instance == us()
        assert sample.did_expire
Beispiel #9
0
    def test_release_expired(self, sample):
        then = utcnow() - timedelta(days=30)
        lock = sample.Lock(then)
        sample.update_one(set__lock=lock)

        try:
            sample.release()
        except sample.Locked as e:
            assert e.lock == lock
            assert sample.did_expire
Beispiel #10
0
	def test_release_expired(self, sample):
		then = utcnow() - timedelta(days=30)
		lock = sample.Lock(then)
		sample.update_one(set__lock=lock)
		
		try:
			sample.release()
		except sample.Locked as e:
			assert e.lock == lock
			assert sample.did_expire
Beispiel #11
0
	def test_query_exact(self):
		now = utcnow()
		
		query = self.Sample.only_published(now)
		
		assert len(query) == 1
		assert '$and' in query
		assert len(query['$and']) == 2
		assert '$or' in query['$and'][0]
		assert '$or' in query['$and'][1]
		assert query['$and'][1]['$or'][2]['published']['$lte'] == query['$and'][0]['$or'][2]['retracted']['$gt'] == now
Beispiel #12
0
    def test_query_exact(self):
        now = utcnow()

        query = self.Sample.only_published(now)

        assert len(query) == 1
        assert '$and' in query
        assert len(query['$and']) == 2
        assert '$or' in query['$and'][0]
        assert '$or' in query['$and'][1]
        assert query['$and'][1]['$or'][2]['published']['$lte'] == query[
            '$and'][0]['$or'][2]['retracted']['$gt'] == now
Beispiel #13
0
	def test_query_delta(self):
		when = utcnow() + timedelta(days=1)
		
		query = self.Sample.only_published(timedelta(days=1))
		
		assert len(query) == 1
		assert '$and' in query
		assert len(query['$and']) == 2
		assert '$or' in query['$and'][0]
		assert '$or' in query['$and'][1]
		assert query['$and'][1]['$or'][2]['published']['$lte'] == query['$and'][0]['$or'][2]['retracted']['$gt']
		
		v = query['$and'][1]['$or'][2]['published']['$lte']
		assert abs(when - v) < timedelta(minutes=1)
Beispiel #14
0
    def test_query_delta(self):
        when = utcnow() + timedelta(days=1)

        query = self.Sample.only_published(timedelta(days=1))

        assert len(query) == 1
        assert '$and' in query
        assert len(query['$and']) == 2
        assert '$or' in query['$and'][0]
        assert '$or' in query['$and'][1]
        assert query['$and'][1]['$or'][2]['published']['$lte'] == query[
            '$and'][0]['$or'][2]['retracted']['$gt']

        v = query['$and'][1]['$or'][2]['published']['$lte']
        assert abs(when - v) < timedelta(minutes=1)
Beispiel #15
0
 def test_failures_now(self):
     now = utcnow()
     inst = self.Sample.Lock(now)
     assert inst.failures == 0
Beispiel #16
0
def test_utcnow():
	now = utcnow()
	assert now.tzinfo
Beispiel #17
0
 def test_expires(self):
     now = utcnow()
     inst = self.Sample.Lock(now)
     assert inst.expires == now + inst.__period__
Beispiel #18
0
    def test_past_retraction(self):
        inst = self.Sample(retracted=utcnow() - timedelta(days=1))

        assert not inst.is_published
Beispiel #19
0
	def test_failures_now(self):
		now = utcnow()
		inst = self.Sample.Lock(now)
		assert inst.failures == 0
Beispiel #20
0
	def test_cast_datetime(self, Sample):
		v = utcnow()
		inst = Sample(v)
		
		assert isinstance(inst.__data__['field'], datetime)
		assert inst.field is v
Beispiel #21
0
    def test_creation_modification_init(self):
        now = utcnow()
        inst = self.Sample()

        assert abs(inst.created - now) < timedelta(seconds=1)
        assert inst.modified is None
Beispiel #22
0
 def test_timedelta_assignment(self):
     now = utcnow()
     inst = self.Sample(expires=timedelta(days=1))
     assert timedelta(hours=23) < (inst.expires - now) < timedelta(hours=25)
Beispiel #23
0
 def test_explicit_date(self):
     then = utcnow() - timedelta(days=1)
     inst = self.Sample(expires=then)
     assert inst.expires == then
     assert inst.is_expired
Beispiel #24
0
	def test_explicit_date(self):
		then = utcnow() - timedelta(days=1)
		inst = self.Sample(expires=then)
		assert inst.expires == then
		assert inst.is_expired
Beispiel #25
0
	def test_future_public(self):
		inst = self.Sample(published=utcnow() + timedelta(days=1))
		
		assert not inst.is_published
Beispiel #26
0
	def test_cast_datetime(self, Sample):
		v = utcnow()
		inst = Sample(v)
		
		assert isinstance(inst.__data__['field'], oid)
		assert inst.field.generation_time == v
Beispiel #27
0
	def test_failures_chain(self):
		then = utcnow() - timedelta(days=30)
		inst = self.Sample.Lock(then, timeouts=41)
		
		assert inst.failures == 42
Beispiel #28
0
	def test_failures_then(self):
		then = utcnow() - timedelta(days=30)
		inst = self.Sample.Lock(then)
		
		assert inst.failures == 1
Beispiel #29
0
    def test_failures_then(self):
        then = utcnow() - timedelta(days=30)
        inst = self.Sample.Lock(then)

        assert inst.failures == 1
Beispiel #30
0
	def test_timedelta_assignment(self):
		now = utcnow()
		inst = self.Sample(expires=timedelta(days=1))
		assert timedelta(hours=23) < (inst.expires - now) < timedelta(hours=25)
Beispiel #31
0
    def test_failures_chain(self):
        then = utcnow() - timedelta(days=30)
        inst = self.Sample.Lock(then, timeouts=41)

        assert inst.failures == 42
Beispiel #32
0
    def test_cast_datetime(self, Sample):
        v = utcnow()
        inst = Sample(v)

        assert isinstance(inst.__data__['field'], datetime)
        assert inst.field is v
Beispiel #33
0
	def test_past_retraction(self):
		inst = self.Sample(retracted=utcnow() - timedelta(days=1))
		
		assert not inst.is_published
Beispiel #34
0
	def test_integer_assignment(self):
		now = utcnow()
		inst = self.Sample(expires=0)
		assert inst.expires - now < timedelta(seconds=1)
		assert inst.is_expired
Beispiel #35
0
    def test_future_public(self):
        inst = self.Sample(published=utcnow() + timedelta(days=1))

        assert not inst.is_published
Beispiel #36
0
def test_utcnow():
    now = utcnow()
    assert now.tzinfo
Beispiel #37
0
    def test_within_publication_period(self):
        inst = self.Sample(published=utcnow() - timedelta(days=1),
                           retracted=utcnow() + timedelta(days=1))

        assert inst.is_published
Beispiel #38
0
	def test_expires(self):
		now = utcnow()
		inst = self.Sample.Lock(now)
		assert inst.expires == now + inst.__period__
Beispiel #39
0
 def test_integer_assignment(self):
     now = utcnow()
     inst = self.Sample(expires=0)
     assert inst.expires - now < timedelta(seconds=1)
     assert inst.is_expired
Beispiel #40
0
	def test_creation_modification_init(self):
		now = utcnow()
		inst = self.Sample()
		
		assert abs(inst.created - now) < timedelta(seconds=1)
		assert inst.modified is None