summaryrefslogtreecommitdiffstats
path: root/testenv/conf/local_files.py
diff options
context:
space:
mode:
Diffstat (limited to 'testenv/conf/local_files.py')
-rw-r--r--testenv/conf/local_files.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/testenv/conf/local_files.py b/testenv/conf/local_files.py
new file mode 100644
index 0000000..908ced1
--- /dev/null
+++ b/testenv/conf/local_files.py
@@ -0,0 +1,26 @@
+from os import utime
+from time import strptime
+from calendar import timegm
+from conf import hook
+
+""" Pre-Test Hook: LocalFiles
+This is a pre-test hook used to generate the specific environment before a test
+is run. The LocalFiles hook creates the files which should exist on disk before
+invoking Wget.
+"""
+
+
+@hook()
+class LocalFiles:
+ def __init__(self, local_files):
+ self.local_files = local_files
+
+ def __call__(self, _):
+ for f in self.local_files:
+ with open(f.name, 'w') as fp:
+ fp.write(f.content)
+ if f.timestamp is not None:
+ tstamp = timegm(strptime(f.timestamp, '%Y-%m-%d %H:%M:%S'))
+ atime = tstamp
+ mtime = tstamp
+ utime(f.name, (atime, mtime))