Skip to content

Commit

Permalink
start of testCompositeRepo
Browse files Browse the repository at this point in the history
  • Loading branch information
staffanm committed Oct 10, 2013
1 parent bfcdafa commit 145ea47
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 4 deletions.
8 changes: 4 additions & 4 deletions ferenda/compat.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,16 @@
import sys
try:
from collections import OrderedDict
except ImportError:
except ImportError: # pragma: no cover
# if on python 2.6
from ordereddict import OrderedDict

if sys.version_info < (2,7,0):
if sys.version_info < (2,7,0): # pragma: no cover
import unittest2 as unittest
else:
else:
import unittest

try:
from unittest.mock import Mock, patch, call
except ImportError:
except ImportError: # pragma: no cover
from mock import Mock, patch, call
2 changes: 2 additions & 0 deletions ferenda/testutil.py
Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,8 @@ class TestRFC(RepoTester):
"""The location of test files to create tests from. Must be overridden
when creating a testcase class"""

datadir = None

def setUp(self):
self.datadir = tempfile.mkdtemp()
self.repo = self.repoclass(datadir=self.datadir,
Expand Down
47 changes: 47 additions & 0 deletions test/testCompositeRepo.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals

import sys, os
if os.getcwd() not in sys.path: sys.path.insert(0,os.getcwd())

from ferenda.testutil import RepoTester, DocumentRepository, util
from ferenda.compat import unittest
#SUT
from ferenda import CompositeRepository

class SubrepoA(DocumentRepository):
alias= "a"
def download(self, basefile=None):
util.writefile(self.store.downloaded_path("1"), "basefile 1, repo a")

class SubrepoB(DocumentRepository):
alias= "b"
def download(self, basefile=None):
util.writefile(self.store.downloaded_path("1"), "basefile 1, repo b")
util.writefile(self.store.downloaded_path("2"), "basefile 2, repo b")


class CompositeExample(CompositeRepository):
subrepos = SubrepoB, SubrepoA

class TestComposite(RepoTester):
repoclass = CompositeExample

def test_download(self):
self.repo.download()
self.assertEqual("basefile 1, repo a",
util.readfile(self.datadir+"/a/downloaded/1.html"))
self.assertEqual("basefile 1, repo b",
util.readfile(self.datadir+"/b/downloaded/1.html"))
self.assertEqual("basefile 2, repo b",
util.readfile(self.datadir+"/b/downloaded/2.html"))

@unittest.expectedFailure
def test_list_basefiles_for(self):
self.repo.download()
# This doesn't work since self.repo.store.docrepos has
# uninitialized classes, not objects
self.assertEqual(["1", "2"],
list(self.repo.store.list_basefiles_for("parse")))


0 comments on commit 145ea47

Please sign in to comment.