def test_running_state():
    """Test serialization/deserialization of running states."""
    s = state.StateRunning(created_at=util.to_datetime(CREATED_AT),
                           started_at=util.to_datetime(STARTED_AT))
    s = state.deserialize_state(state.serialize_state(s))
    assert s.is_running()
    validate_date(s.created_at, util.to_datetime(CREATED_AT))
    validate_date(s.started_at, util.to_datetime(STARTED_AT))
Exemple #2
0
def test_datetime():
    """Ensure that timestamp conversion works for ISO strings with or
    without milliseconds.
    """
    dates = [
        '2019-09-15T11:23:19.044133', '2019-09-15T11:23:19',
        '20190915T11:23:19'
    ]
    for ts in dates:
        dt = util.to_datetime(ts)
        assert dt.year == 2019
        assert dt.month == 9
        assert dt.day == 15
        assert dt.hour == 11
        assert dt.minute == 23
        assert dt.second == 19
def test_error_state():
    """Test serialization/deserialization of error states."""
    s = state.StateError(created_at=util.to_datetime(CREATED_AT),
                         started_at=util.to_datetime(STARTED_AT),
                         stopped_at=util.to_datetime(FINISHED_AT),
                         messages=['there', 'were', 'errors'])
    s = state.deserialize_state(state.serialize_state(s))
    assert s.is_error()
    assert s.messages == ['there', 'were', 'errors']
    validate_date(s.created_at, util.to_datetime(CREATED_AT))
    validate_date(s.started_at, util.to_datetime(STARTED_AT))
    validate_date(s.stopped_at, util.to_datetime(FINISHED_AT))
def test_success_state(tmpdir):
    """Test serialization/deserialization of success states."""
    filename = os.path.join(str(tmpdir), 'results.json')
    util.write_object(filename=filename, obj={'A': 1})
    s = state.StateSuccess(created_at=util.to_datetime(CREATED_AT),
                           started_at=util.to_datetime(STARTED_AT),
                           finished_at=util.to_datetime(FINISHED_AT),
                           files=['myfile1', 'myfile2'])
    s = state.deserialize_state(state.serialize_state(s))
    assert s.is_success()
    assert len(s.files) == 2
    assert 'myfile1' in s.files
    assert 'myfile2' in s.files
    validate_date(s.created_at, util.to_datetime(CREATED_AT))
    validate_date(s.started_at, util.to_datetime(STARTED_AT))
    validate_date(s.finished_at, util.to_datetime(FINISHED_AT))
def test_pending_state():
    """Test serialization/deserialization of pending states."""
    s = state.StatePending(created_at=util.to_datetime(CREATED_AT))
    s = state.deserialize_state(state.serialize_state(s))
    assert s.is_pending()
    validate_date(s.created_at, util.to_datetime(CREATED_AT))