Ejemplo n.º 1
0
def test_greedy_actor():
    script = Script({
        'actors': ['tests.greedy'],
        'default': [{
            'line': 'perform'
        }]
    })

    script.run()
Ejemplo n.º 2
0
def test_tags_false():
    script = Script({
        'actors': ['tests.generator'],
        'default': {
            'tags': 'performed',
            'lines': ['generate']
        }
    })

    script.run()
    bucket = script.storage.bucket('tests.actors.generator')
    assert bucket.get('counter') is None
Ejemplo n.º 3
0
def test_tags_true():
    script = Script({
        'actors': ['tests.greedy', 'tests.generator'],
        'perform': ['perform'],
        'generate': {
            'tags': 'performed',
            'lines': ['generate']
        }
    })

    script.run()
    bucket = script.storage.bucket('tests.actors.generator')
    assert bucket.get('counter') == 5
Ejemplo n.º 4
0
def test_each_invalid():
    script = Script({
        'actors': ['tests.generator', 'tests.logic'],
        'default': [{
            'line': 'generate',
            'each': '$loop'
        }]
    })

    def err(ex):
        raise ex

    with pytest.raises(ScriptError):
        script.run()
Ejemplo n.º 5
0
def test_unless():
    script = Script({
        'actors': ['tests.generator', 'tests.logic'],
        'default':
        ['generate', {
            'line': 'set foo = bar',
            'unless': 'counter == 5'
        }]
    })

    def err(ex):
        raise ex

    script.on('line.error', err)
    script.run()

    assert script.context['counter'] == 5
    bucket = script.storage.bucket('tests.actors.logic')
    assert bucket.get('foo') is None
Ejemplo n.º 6
0
def test_each_break():
    script = Script({
        'actors': ['tests.generator', 'tests.logic'],
        '$loop': ['increment foo', 'break'],
        'default': [{
            'line': 'generate',
            'each': '$loop'
        }]
    })

    def err(ex):
        raise ex

    script.on('line.error', err)
    script.run()

    assert script.context['counter'] == 1
    bucket = script.storage.bucket('tests.actors.logic')
    assert bucket.get('foo') == 1
Ejemplo n.º 7
0
def test_each_set():
    script = Script({
        'actors': ['tests.generator', 'tests.logic'],
        '$loop': ['set foo = {{ number }}'],
        'default': [{
            'line': 'generate',
            'each': '$loop'
        }]
    })

    def err(ex):
        raise ex

    script.on('line.error', err)
    script.run()

    assert script.context['counter'] == 5
    bucket = script.storage.bucket('tests.actors.logic')
    assert bucket.get('foo') == '5'
Ejemplo n.º 8
0
def test_dry_run():
    filename = os.path.join(
        os.path.dirname(
            os.path.dirname(__file__)
        ),
        'fixtures',
        'test_items.yaml'
    )

    script = Script(
        {
            'actors': [
                'loda.inoreader',
                'loda.twitter'
            ],
            'builtin': [
                'hold foo for 1 minute',
                'release foo',
                'pick 1 from items',
                'pick 1 from items at random'
            ],
            'rss': [
                'get latest articles in starred folder'
            ],
            'twitter': [
                'follow @jack',
                'follow #podcasters',
                'find tweets from:jack',
                'tweet "hello Jack"',
                'rt 12345'
            ]
        }
    )

    script.fixtures.add('items', filename)
    script.dry_run = True
    script.run()
Ejemplo n.º 9
0
def test_generator_type():
    script = Script({'actors': ['tests.generator'], 'default': ['generate']})

    script.run()
    bucket = script.storage.bucket('tests.actors.generator')
    assert bucket.get('counter') == 5