Esempio n. 1
0
def test_mass_delete():
    datastore_mock = Mock()
    storage = DatastoreStorage(datastore_mock)
    q_mock = Mock()
    q_mock.fetch.return_value = [
        Mock(key=datastore.Key('task', n, project='test'))
        for n in range(102)]
    datastore_mock.query.return_value = q_mock

    storage.delete_tasks()

    assert datastore_mock.delete_multi.call_count == 2
Esempio n. 2
0
def test_list():
    datastore_mock = Mock()
    storage = DatastoreStorage(datastore_mock)
    t = Task('1', sum, (), {})
    q_mock = Mock()
    q_mock.fetch.return_value = [t]
    datastore_mock.query.return_value = q_mock

    tasks = storage.list_tasks()

    assert len(tasks) == 1
    assert tasks[0] == t
Esempio n. 3
0
def test_mass_delete():
    datastore_mock = Mock()
    storage = DatastoreStorage(datastore_mock)
    q_mock = Mock()
    q_mock.fetch.return_value = [
        Mock(key=datastore.Key('task', n, project='test')) for n in range(102)
    ]
    datastore_mock.query.return_value = q_mock

    storage.delete_tasks()

    assert datastore_mock.delete_multi.call_count == 2
Esempio n. 4
0
def test_list():
    datastore_mock = Mock()
    storage = DatastoreStorage(datastore_mock)
    t = Task('1', sum, (), {})
    q_mock = Mock()
    q_mock.fetch.return_value = [t]
    datastore_mock.query.return_value = q_mock

    tasks = storage.list_tasks()

    assert len(tasks) == 1
    assert tasks[0] == t
Esempio n. 5
0
def test_basic_operations():
    datastore_mock = Mock()
    storage = DatastoreStorage(datastore_mock)

    t = Task('1', sum, (), {})

    # The tasks is in the `queued` state. Datastore storage by default
    # shouldn't store queued, retrying, or started tasks.
    storage.put_task(t)
    assert not datastore_mock.put.called

    t.start()
    storage.put_task(t)
    assert not datastore_mock.put.called

    t.retry()
    storage.put_task(t)
    assert not datastore_mock.put.called

    # Should store finished and failed tasks
    t.finish('5')
    storage.put_task(t)
    assert datastore_mock.put.called

    datastore_mock.reset_mock()
    t.fail(ValueError())
    storage.put_task(t)
    assert datastore_mock.put.called

    # Should return back the same task
    datastore_mock.get.return_value = datastore_mock.put.call_args[0][0]
    rt = storage.get_task('1')
    assert str(rt) == str(t)

    # Should return None for a task that doesn't exist
    datastore_mock.get.return_value = None
    rt = storage.get_task('1')
    assert rt is None

    storage.delete_task('1')
    assert datastore_mock.delete.called
Esempio n. 6
0
def test_basic_operations():
    datastore_mock = Mock()
    storage = DatastoreStorage(datastore_mock)

    t = Task('1', sum, (), {})

    # The tasks is in the `queued` state. Datastore storage by default
    # shouldn't store queued, retrying, or started tasks.
    storage.put_task(t)
    assert not datastore_mock.put.called

    t.start()
    storage.put_task(t)
    assert not datastore_mock.put.called

    t.retry()
    storage.put_task(t)
    assert not datastore_mock.put.called

    # Should store finished and failed tasks
    t.finish('5')
    storage.put_task(t)
    assert datastore_mock.put.called

    datastore_mock.reset_mock()
    t.fail(ValueError())
    storage.put_task(t)
    assert datastore_mock.put.called

    # Should return back the same task
    datastore_mock.get.return_value = datastore_mock.put.call_args[0][0]
    rt = storage.get_task('1')
    assert str(rt) == str(t)

    # Should return None for a task that doesn't exist
    datastore_mock.get.return_value = None
    rt = storage.get_task('1')
    assert rt is None

    storage.delete_task('1')
    assert datastore_mock.delete.called