[conduit: 29/138] Start teaching the dataprovider wrappers about test data
- From: John Carr <johncarr src gnome org>
- To: svn-commits-list gnome org
- Subject: [conduit: 29/138] Start teaching the dataprovider wrappers about test data
- Date: Thu, 21 May 2009 03:29:23 -0400 (EDT)
commit c1d0b2aa167c7a27c8af8adc76c39bd21876bf41
Author: John Carr <john carr unrouted co uk>
Date: Mon Apr 27 16:13:08 2009 -0700
Start teaching the dataprovider wrappers about test data
---
test/soup/data/__init__.py | 23 -----------------------
test/soup/data/file.py | 17 ++++++++++++++++-
test/soup/modules/folder.py | 4 ++++
test/soup/modules/ipod.py | 17 +++++++++++++++++
test/soup/test_dataprovider.py | 3 ++-
5 files changed, 39 insertions(+), 25 deletions(-)
diff --git a/test/soup/data/__init__.py b/test/soup/data/__init__.py
index 2b8ca46..604a472 100644
--- a/test/soup/data/__init__.py
+++ b/test/soup/data/__init__.py
@@ -8,26 +8,3 @@ class DataWrapper(object):
def get_all(self):
raise NotImplementedError
-
-def load_all_data():
- basepath = os.path.dirname(__file__)
- for root, dirs, files in os.walk(basepath):
- for dir in dirs:
- if dir[:1] != ".":
- load_data(dir)
- for file in files:
- if file.endswith(".py") and not file.startswith("__"):
- load_data(file[:-3])
- break
-
-def load_data(dw):
- if sys.modules.has_key(dw):
- reload(sys.modules[dw])
- else:
- __import__("soup.data", {}, {}, [dw])
-
-def get_all():
- if len(DataWrapper.__subclasses__()) == 0:
- load_all_data()
- return DataWrapper.__subclasses__()
-
diff --git a/test/soup/data/file.py b/test/soup/data/file.py
index 0e53163..0b6d429 100644
--- a/test/soup/data/file.py
+++ b/test/soup/data/file.py
@@ -1,5 +1,20 @@
+import soup
import soup.data
+import conduit.utils as Utils
+
+
class FileWrapper(soup.data.DataWrapper):
- pass
+ """ Provides access to sample files and generated files """
+
+ def iter_samples(self):
+ for f in self.get_files_from_data_dir("*"):
+ yield File.File(URI=f)
+
+ def generate_sample(self):
+ f = Utils.new_tempfile(Utils.random_string())
+ uri = f._get_text_uri()
+ f.set_UID(uri)
+ f.set_open_URI(uri)
+ return f
diff --git a/test/soup/modules/folder.py b/test/soup/modules/folder.py
index 63cd2b3..7c11a8f 100644
--- a/test/soup/modules/folder.py
+++ b/test/soup/modules/folder.py
@@ -1,9 +1,13 @@
import soup.modules
+from soup.data.file import FileWrapper
import conduit.utils as Utils
+
class Folder(soup.modules.ModuleWrapper):
+ dataclass = FileWrapper
+
def create_dataprovider(self):
dp = self.conduit.get_dataprovider("FolderTwoWay")
dp.module.set_configuration({
diff --git a/test/soup/modules/ipod.py b/test/soup/modules/ipod.py
index a1ba97b..848d883 100644
--- a/test/soup/modules/ipod.py
+++ b/test/soup/modules/ipod.py
@@ -1,6 +1,13 @@
+import soup
import soup.modules
+from soup.data.note import NoteWrapper
+from soup.data.contact import ContactWrapper
+from soup.data.event import EventWrapper
+from soup.data.photo import PhotoWrapper
+from soup.data.music import MusicWrapper
+
import conduit.modules.iPodModule.iPodModule as iPodModule
import conduit.utils as Utils
@@ -14,6 +21,8 @@ def create_fake_ipod():
class iPodNote(soup.modules.ModuleWrapper):
+ dataclass = NoteWrapper
+
def create_dataprovider(self):
self.folder = create_fake_ipod()
ipod = iPodModule.IPodNoteTwoWay(self.folder, "")
@@ -22,6 +31,8 @@ class iPodNote(soup.modules.ModuleWrapper):
class iPodContacts(soup.modules.ModuleWrapper):
+ dataclass = ContactWrapper
+
def create_dataprovider(self):
self.folder = create_fake_ipod()
ipod = iPodModule.IPodContactsTwoWay(self.folder, "")
@@ -30,6 +41,8 @@ class iPodContacts(soup.modules.ModuleWrapper):
class iPodCalendar(soup.modules.ModuleWrapper):
+ dataclass = EventWrapper
+
def create_dataprovider(self):
self.folder = create_fake_ipod()
ipod = iPodModule.IPodCalendarTwoWay(self.folder, "")
@@ -38,6 +51,8 @@ class iPodCalendar(soup.modules.ModuleWrapper):
class iPodPhoto(soup.modules.ModuleWrapper):
+ dataclass = PhotoWrapper
+
def create_dataprovider(self):
self.folder = create_fake_ipod()
ipod = iPodModule.IPodPhotoSink(self.folder, "")
@@ -46,6 +61,8 @@ class iPodPhoto(soup.modules.ModuleWrapper):
class iPodMusic(soup.modules.ModuleWrapper):
+ dataclass = MusicWrapper
+
def create_dataprovider(self):
self.folder = create_fake_ipod()
ipod = iPodModule.IPodMusicTwoWay(self.folder, "")
diff --git a/test/soup/test_dataprovider.py b/test/soup/test_dataprovider.py
index 783fa1d..1851f43 100644
--- a/test/soup/test_dataprovider.py
+++ b/test/soup/test_dataprovider.py
@@ -18,7 +18,8 @@ def make_testcase(wrp):
def test_add(self):
""" Should be able to add items """
- pass
+ testdata = self.wrapper.dataclass()
+ testdata.iter_samples()
def test_replace(self):
""" Should be able to replace items """
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]