Ejemplo n.º 1
0
def test_add_finished_hashes(local_config):
    """Tests adding hashes that are finished and getting them with get_previous_hashes()."""
    manager = StateManager(local_config)
    manager.set_checkpoint('DEFGHIJK', 'default', 'DONE')
    manager.set_checkpoint('ABCDEFGH', 'default', 'DONE')
    manager.set_checkpoint('MNOPQRST', 'default', 'DONE')
    manager.set_checkpoint('ABCDEFGH', 'another', 'DONE')
    return_list = manager.get_previous_hashes('default')
    assert return_list == ['ABCDEFGH', 'DEFGHIJK', 'MNOPQRST']
    return_list = manager.get_previous_hashes('another')
    assert return_list == ['ABCDEFGH']
Ejemplo n.º 2
0
def test_update_existing_hash(local_config):
    """Tests updating an exising hash in the database, and how it affects the retrieval APIs."""
    manager = StateManager(local_config)
    manager.set_checkpoint('ABCDEFGH', 'default', 'ALPHA')
    return_list = manager.get_unfinished_hashes('default')
    assert return_list == [('ABCDEFGH', 'ALPHA')]
    return_list = manager.get_previous_hashes('default')
    assert return_list == []
    manager.set_checkpoint('ABCDEFGH', 'default', 'DONE')
    return_list = manager.get_unfinished_hashes('default')
    assert return_list == []
    return_list = manager.get_previous_hashes('default')
    assert return_list == ['ABCDEFGH']
Ejemplo n.º 3
0
def test_empty_database_retrieval(local_config):
    """Tests the two retrieval APIs on an empty database."""
    manager = StateManager(local_config)
    return_list = manager.get_unfinished_hashes('default')
    assert return_list == []
    return_list = manager.get_previous_hashes('default')
    assert return_list == []
Ejemplo n.º 4
0
def test_add_mixed_hashes(local_config):
    """Tests adding both done and not-done hashes to make sure they're separated properly."""
    manager = StateManager(local_config)
    manager.set_checkpoint('ABCDEFGH', 'default', 'ALPHA')
    manager.set_checkpoint('DEFGHIJK', 'default', 'DONE')
    return_list = manager.get_unfinished_hashes('default')
    assert return_list == [('ABCDEFGH', 'ALPHA')]
    return_list = manager.get_previous_hashes('default')
    assert return_list == ['DEFGHIJK']
Ejemplo n.º 5
0
def test_exception_handling(local_config):
    """Tests that OperationalError is handled by all methods without throwing an exception."""
    manager = StateManager(local_config)
    manager._persistor._cursor_factory = BreakingCursor
    manager.set_checkpoint('ABCDEFGH', 'default', 'ALPHA')
    assert manager.get_previous_hashes('default') == []
    manager.prune("2020-01-12T00:00:00")
    manager.add_report_item(6, 'default', {'keyval': 1})
    assert manager.get_current_report_items(6, 'default') == []
    manager.clear_report_items(6, 'default')
Ejemplo n.º 6
0
def test_prune(local_config):
    """Tests the prune() functionality."""
    manager = StateManager(local_config)
    manager.set_checkpoint('DEFGHIJK', 'default', 'DONE', '2020-01-15T12:00:00')
    manager.set_checkpoint('ABCDEFGH', 'default', 'DONE', '2020-01-10T12:00:00')
    manager.set_checkpoint('MNOPQRST', 'default', 'DONE', '2020-01-15T12:00:00')
    manager.set_checkpoint('JKLMNOPQ', 'default', 'DONE', '2020-01-10T14:00:00')
    manager.prune("2020-01-12T00:00:00")
    return_list = manager.get_previous_hashes('default')
    assert return_list == ['DEFGHIJK', 'MNOPQRST']
def test_get_previous_hashes(local_config):
    """Test the get_previous_hashes() API."""
    manager = StateManager(local_config)
    return_list = manager.get_previous_hashes("default")
    assert len(return_list) == 6
    assert getattr(manager._persistor, "_sc", 0) == 0
    assert getattr(manager._persistor, "_gph", 0) == 1
    assert getattr(manager._persistor, "_guh", 0) == 0
    assert getattr(manager._persistor, "_p", 0) == 0
    assert getattr(manager._persistor, "_ari", 0) == 0
    assert getattr(manager._persistor, "_gcri", 0) == 0
    assert getattr(manager._persistor, "_cri", 0) == 0