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)
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')
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']
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('')})
def test_basic_segmentsFrom(): f = ff.File('') d = ff.Directory(dict(f=f)) assert f.segmentsFrom(d) == ['f']
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']