Mercurial > piecrust2
annotate tests/mockutil.py @ 1051:971b4d67e82a
serve: Fix problems with assets disappearing between servings.
When an asset file changes, its source's pipeline is re-run. But that created
a bake record that only had that pipeline's output, so the other outputs were
incorrectly considered empty and therefore any stray files were removed. Now we
copy over bake records for the pipelines we don't run.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Fri, 26 Jan 2018 18:05:02 -0800 |
parents | 8adc27285d93 |
children |
rev | line source |
---|---|
3
f485ba500df3
Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
1 import mock |
974
72f17534d58e
tests: First pass on making unit tests work again.
Ludovic Chabant <ludovic@chabant.com>
parents:
805
diff
changeset
|
2 from piecrust.app import PieCrust |
72f17534d58e
tests: First pass on making unit tests work again.
Ludovic Chabant <ludovic@chabant.com>
parents:
805
diff
changeset
|
3 from piecrust.appconfig import PieCrustConfiguration |
3
f485ba500df3
Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
4 |
f485ba500df3
Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
5 |
f485ba500df3
Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
6 def get_mock_app(config=None): |
f485ba500df3
Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
7 app = mock.MagicMock(spec=PieCrust) |
805
fd694f1297c7
config: Cleanup config loading code. Add support for a `local.yml` config.
Ludovic Chabant <ludovic@chabant.com>
parents:
411
diff
changeset
|
8 app.config = PieCrustConfiguration(values={}) |
3
f485ba500df3
Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
9 return app |
f485ba500df3
Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
10 |
6
f5ca5c5bed85
More Python 3 fixes, modularization, and new unit tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
3
diff
changeset
|
11 |
974
72f17534d58e
tests: First pass on making unit tests work again.
Ludovic Chabant <ludovic@chabant.com>
parents:
805
diff
changeset
|
12 def get_simple_content_item(app, slug): |
72f17534d58e
tests: First pass on making unit tests work again.
Ludovic Chabant <ludovic@chabant.com>
parents:
805
diff
changeset
|
13 src = app.getSource('pages') |
72f17534d58e
tests: First pass on making unit tests work again.
Ludovic Chabant <ludovic@chabant.com>
parents:
805
diff
changeset
|
14 assert src is not None |
72f17534d58e
tests: First pass on making unit tests work again.
Ludovic Chabant <ludovic@chabant.com>
parents:
805
diff
changeset
|
15 |
989
8adc27285d93
bake: Big pass on bake performance.
Ludovic Chabant <ludovic@chabant.com>
parents:
974
diff
changeset
|
16 item = src.findContentFromRoute({'slug': slug}) |
974
72f17534d58e
tests: First pass on making unit tests work again.
Ludovic Chabant <ludovic@chabant.com>
parents:
805
diff
changeset
|
17 assert item is not None |
72f17534d58e
tests: First pass on making unit tests work again.
Ludovic Chabant <ludovic@chabant.com>
parents:
805
diff
changeset
|
18 return item |
181
d356f6178623
tests: Add help functions to get and render a simple page.
Ludovic Chabant <ludovic@chabant.com>
parents:
120
diff
changeset
|
19 |
d356f6178623
tests: Add help functions to get and render a simple page.
Ludovic Chabant <ludovic@chabant.com>
parents:
120
diff
changeset
|
20 |
974
72f17534d58e
tests: First pass on making unit tests work again.
Ludovic Chabant <ludovic@chabant.com>
parents:
805
diff
changeset
|
21 def get_simple_page(app, slug): |
72f17534d58e
tests: First pass on making unit tests work again.
Ludovic Chabant <ludovic@chabant.com>
parents:
805
diff
changeset
|
22 src = app.getSource('pages') |
72f17534d58e
tests: First pass on making unit tests work again.
Ludovic Chabant <ludovic@chabant.com>
parents:
805
diff
changeset
|
23 item = get_simple_content_item(app, slug) |
72f17534d58e
tests: First pass on making unit tests work again.
Ludovic Chabant <ludovic@chabant.com>
parents:
805
diff
changeset
|
24 return app.getPage(src, item) |
181
d356f6178623
tests: Add help functions to get and render a simple page.
Ludovic Chabant <ludovic@chabant.com>
parents:
120
diff
changeset
|
25 |
d356f6178623
tests: Add help functions to get and render a simple page.
Ludovic Chabant <ludovic@chabant.com>
parents:
120
diff
changeset
|
26 |
974
72f17534d58e
tests: First pass on making unit tests work again.
Ludovic Chabant <ludovic@chabant.com>
parents:
805
diff
changeset
|
27 from .tmpfs import ( # NOQA |
72f17534d58e
tests: First pass on making unit tests work again.
Ludovic Chabant <ludovic@chabant.com>
parents:
805
diff
changeset
|
28 TempDirFileSystem as mock_fs, |
72f17534d58e
tests: First pass on making unit tests work again.
Ludovic Chabant <ludovic@chabant.com>
parents:
805
diff
changeset
|
29 TempDirScope as mock_fs_scope) |