예제 #1
0
def test_non_ancestors_raise_in_segmentsFrom():
    f1 = ff.File('')
    d1 = ff.Directory(dict(f=f1))
    f2 = ff.File('')
    d2 = ff.Directory(dict(f=f2))
    with pytest.raises(ValueError):
        f2.segmentsFrom(d1)
    with pytest.raises(ValueError):
        f1.segmentsFrom(d2)
예제 #2
0
def test_basic_applications_with_cruft():
    "The presence of other files and directories doesn't hinder app discovery."
    app1 = basic_mamayo_app_directory()
    app2 = basic_mamayo_app_directory()
    app2.contents['cruft'] = ff.Directory(
        dict(spam=ff.File(''), eggs=ff.File('')))
    app3 = basic_mamayo_app_directory()
    app3.contents['cruft'] = ff.File('')
    root = ff.Directory(dict(foo=app1, bar=app2, baz=app3))
    e = Explorer(root)
    e.explore()
    assert {app.path for app in e.applications} == {app1, app2, app3}
    assert_application_characteristics(e, 'foo', path=app1, name='root.foo')
    assert_application_characteristics(e, 'bar', path=app2, name='root.bar')
    assert_application_characteristics(e, 'baz', path=app3, name='root.baz')
예제 #3
0
def test_multiple_nesting_levels_in_segmentsFrom():
    f = ff.File('')
    d1 = ff.Directory(dict(f=f))
    d2 = ff.Directory(dict(spam=d1))
    d3 = ff.Directory(dict(eggs=d2))
    assert f.segmentsFrom(d2) == ['spam', 'f']
    assert f.segmentsFrom(d3) == ['eggs', 'spam', 'f']
    assert d1.segmentsFrom(d3) == ['eggs', 'spam']
예제 #4
0
def basic_mamayo_app_directory():
    "The most basic mamayo app discoverable is an empty directory with mamayo.conf."
    return ff.Directory({'application.wsgi': ff.File('')})
예제 #5
0
def test_basic_segmentsFrom():
    f = ff.File('')
    d = ff.Directory(dict(f=f))
    assert f.segmentsFrom(d) == ['f']
예제 #6
0
def test_nested_segmentsFrom():
    f = ff.File('')
    d1 = ff.Directory(dict(f=f))
    d2 = ff.Directory(dict(spam=d1))
    assert f.segmentsFrom(d2) == ['spam', 'f']