示例#1
0
def test_argument_retrieve():
    setup_context()
    meta = Metadata()
    meta.foo = 'bar'
    setup_context()
    ctx.meta = meta
    # test retrieval from ctx.env
    ctx.env['FOO'] = 'bar'
    arg = Argument('foo').retrieve(ctx.env)
    assert arg.value == 'bar'
    # test if argument is not present
    del ctx.env['FOO']
    arg = Argument('foo').retrieve(ctx.env)
    arg.retrieve(ctx.env)
    assert arg.value is None
    assert arg.is_empty
    # test retrieval from meta
    arg = Argument('foo').retrieve(ctx.meta)
    assert arg.value == 'bar'
    col = OptionsCollection()
    col.add(StringOption('foo', 'Enables foo for testing.', keys='somethingelse'))
    col.retrieve_from_dict({'foo': 'bar'})
    arg = Argument('foo').retrieve(col)
    assert arg.value == 'bar'
    arg = Argument('foo').retrieve({'foo': 'bar'})
    assert arg.value == 'bar'
    col = ArgumentCollection.from_dict({'foo': 'bar'})
    arg = Argument('foo').retrieve(col)
    assert arg.value == 'bar'
    arg = Argument('foo').retrieve('bar')
    assert arg.value == 'bar'
示例#2
0
def test_metadata():
    meta = Metadata()
    assert meta.projectname == 'myproject'
    assert meta.projectid == 'myproject'
    meta.projectname = 'foo'
    assert meta.projectname == 'foo'
    assert meta.projectid == 'foo'
    meta.projectid = 'bar'
    assert meta.projectid == 'bar'
    meta.projectname = 'foobar'
    assert meta.projectid == 'bar'
    meta.foobar = 'foobar'
    assert meta.foobar == 'foobar'
    assert meta.as_dict() == {'projectname': 'foobar', 'foobar': 'foobar', 'projectid': 'bar'}