Beispiel #1
0
def test_datetime_serialization():
    utc_datetime = datetime.datetime.utcnow()
    s = json.dumps(datatypes.DateTime(utc_datetime), cls=datatypes.JSONEncoder)
    assert json.loads(s) == {
        '_type': 'datetime',
        'utc_datetime': utc_datetime.strftime(datatypes.DateTime.FORMAT_STRING)
    }
Beispiel #2
0
def test_datetime_valid_data():
    schema = {
        'type': 'object',
        'properties': {
            'test': datatypes.DateTime.JSON_SCHEMA
        }
    }
    data = {'test': datatypes.DateTime(datetime.datetime.utcnow())}
    raw_data = json.loads(json.dumps(data, cls=datatypes.JSONEncoder))
    jsonschema.validate(raw_data, schema)
Beispiel #3
0
def test_datetime_between_excluding(objects):
    utc_datetime = datetime.datetime.utcnow()
    object1 = objects.create_object(action_id=0, data={'dt': datatypes.DateTime(utc_datetime)}, schema={}, user_id=0)
    objects.create_object(action_id=0, data={'dt': datatypes.DateTime(utc_datetime - datetime.timedelta(days=1))}, schema={}, user_id=0)
    assert [] == objects.get_current_objects(lambda data: where_filters.datetime_between(data['dt'], datatypes.DateTime(utc_datetime - datetime.timedelta(days=1)), datatypes.DateTime(utc_datetime), including=False))
    assert [object1] == objects.get_current_objects(lambda data: where_filters.datetime_between(data['dt'], datatypes.DateTime(utc_datetime - datetime.timedelta(days=1)), datatypes.DateTime(utc_datetime + datetime.timedelta(days=1)), including=False))
Beispiel #4
0
def test_datetime_greater_than_equals(objects):
    utc_datetime = datetime.datetime.utcnow()
    object1 = objects.create_object(action_id=0, data={'dt': datatypes.DateTime(utc_datetime)}, schema={}, user_id=0)
    assert [object1] == objects.get_current_objects(lambda data: where_filters.datetime_greater_than_equals(data['dt'], datatypes.DateTime(utc_datetime)))
    assert [object1] == objects.get_current_objects(lambda data: where_filters.datetime_greater_than_equals(data['dt'], datatypes.DateTime(utc_datetime - datetime.timedelta(seconds=1))))
Beispiel #5
0
def test_datetime_equals():
    utc_datetime = datetime.datetime.utcnow()
    assert datatypes.DateTime(utc_datetime) == datatypes.DateTime(utc_datetime)
    assert datatypes.DateTime(utc_datetime) != datatypes.DateTime(
        utc_datetime + datetime.timedelta(days=1))
Beispiel #6
0
def test_datetime_deserialization():
    utc_datetime = datetime.datetime.utcnow()
    s = json.dumps(datatypes.DateTime(utc_datetime), cls=datatypes.JSONEncoder)
    dt = json.loads(s, object_hook=datatypes.JSONEncoder.object_hook)
    # The datetime objects are stored with a precision of 1 second
    assert abs(dt.utc_datetime - utc_datetime) < datetime.timedelta(seconds=1)