From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 79FA1138A87 for ; Mon, 17 Nov 2014 23:42:54 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 563F1E0933; Mon, 17 Nov 2014 23:42:53 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 8E7E0E0933 for ; Mon, 17 Nov 2014 23:42:52 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 566E93404E1 for ; Mon, 17 Nov 2014 23:42:51 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id F1F31A581 for ; Mon, 17 Nov 2014 23:42:49 +0000 (UTC) From: "Devan Franchini" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Devan Franchini" Message-ID: <1416267760.b533f3593795ce9f95656d18e48ca40dd9a77764.twitch153@gentoo> Subject: [gentoo-commits] proj/webapp-config:experimental commit in: WebappConfig/tests/, WebappConfig/ X-VCS-Repository: proj/webapp-config X-VCS-Files: WebappConfig/dotconfig.py WebappConfig/tests/dtest.py WebappConfig/tests/external.py X-VCS-Directories: WebappConfig/ WebappConfig/tests/ X-VCS-Committer: twitch153 X-VCS-Committer-Name: Devan Franchini X-VCS-Revision: b533f3593795ce9f95656d18e48ca40dd9a77764 X-VCS-Branch: experimental Date: Mon, 17 Nov 2014 23:42:49 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 64fa3210-631e-48e4-a91d-5017dfba8be3 X-Archives-Hash: 9ed97cbd0f06a35f0affae9baef26213 commit: b533f3593795ce9f95656d18e48ca40dd9a77764 Author: Devan Franchini gentoo org> AuthorDate: Sun Nov 2 05:56:40 2014 +0000 Commit: Devan Franchini gentoo org> CommitDate: Mon Nov 17 23:42:40 2014 +0000 URL: http://sources.gentoo.org/gitweb/?p=proj/webapp-config.git;a=commit;h=b533f359 Adds DotConfig tests to external test suite tests/dtest.py: Removes WebappConfig.dotconfig from doctest listing tests/external.py: Adds tests for DotConfig class dotconfig.py: Removes doctests --- WebappConfig/dotconfig.py | 61 ------------------------------------------ WebappConfig/tests/dtest.py | 2 -- WebappConfig/tests/external.py | 47 +++++++++++++++++++++++++++++--- 3 files changed, 43 insertions(+), 67 deletions(-) diff --git a/WebappConfig/dotconfig.py b/WebappConfig/dotconfig.py index 948fa90..0d5f661 100644 --- a/WebappConfig/dotconfig.py +++ b/WebappConfig/dotconfig.py @@ -35,63 +35,6 @@ class DotConfig: ''' This class handles the dotconfig file that will be written to all virtual install locations. - - A virtual install location has been prepared in the testfiles - directory: - - >>> import os.path - >>> here = os.path.dirname(os.path.realpath(__file__)) - >>> a = DotConfig(here + '/tests/testfiles/htdocs/horde') - >>> a.has_dotconfig() - True - - This directory contains no virtual install: - - >>> b = DotConfig(here + '/tests/testfiles/htdocs/empty') - >>> b.has_dotconfig() - False - - The horde install directory is empty: - - >>> a.is_empty() - - This install location has another web application installed:: - - >>> b = DotConfig(here + '/tests/testfiles/htdocs/complain') - >>> b.is_empty() - '!morecontents .webapp-cool-1.1.1' - - This prints what is installed in the horde directory (and - tests the read() function): - - >>> a.show_installed() - horde 3.0.5 - - This will pretend to write a .webapp file (this test has too many ellipsis): - - >>> OUT.color_off() - >>> a = DotConfig('/nowhere', pretend = True) - >>> a.write('www-apps', 'horde', '5.5.5', 'localhost', '/horde3', 'me:me') #doctest: +ELLIPSIS - * Would have written the following information into /nowhere/.webapp: - * # .webapp - ... - * - * WEB_CATEGORY="www-apps" - * WEB_PN="horde" - * WEB_PVR="5.5.5" - * WEB_INSTALLEDBY="..." - * WEB_INSTALLEDDATE="..." - * WEB_INSTALLEDFOR="me:me" - * WEB_HOSTNAME="localhost" - * WEB_INSTALLDIR="/horde3" - - Delete the .webapp file if possible: - - >>> a = DotConfig(here + '/tests/testfiles/htdocs/horde', pretend = True) - >>> a.kill() #doctest: +ELLIPSIS - * Would have removed .../tests/testfiles/htdocs/horde/.webapp - True - ''' def __init__(self, @@ -290,7 +233,3 @@ class DotConfig: else: OUT.notice('--- ' + empty) return False - -if __name__ == '__main__': - import doctest, sys - doctest.testmod(sys.modules[__name__]) diff --git a/WebappConfig/tests/dtest.py b/WebappConfig/tests/dtest.py index 645aee7..8dab47a 100644 --- a/WebappConfig/tests/dtest.py +++ b/WebappConfig/tests/dtest.py @@ -8,7 +8,6 @@ import unittest, doctest, sys -import WebappConfig.dotconfig import WebappConfig.ebuild import WebappConfig.filetype import WebappConfig.protect @@ -16,7 +15,6 @@ import WebappConfig.worker def test_suite(): return unittest.TestSuite(( - doctest.DocTestSuite(WebappConfig.dotconfig), doctest.DocTestSuite(WebappConfig.ebuild), doctest.DocTestSuite(WebappConfig.filetype), doctest.DocTestSuite(WebappConfig.protect), diff --git a/WebappConfig/tests/external.py b/WebappConfig/tests/external.py index 0ca39f2..75c2eb6 100755 --- a/WebappConfig/tests/external.py +++ b/WebappConfig/tests/external.py @@ -22,10 +22,11 @@ import os import unittest import sys -from WebappConfig.content import Contents -from WebappConfig.db import WebappDB, WebappSource -from WebappConfig.debug import OUT -from warnings import filterwarnings, resetwarnings +from WebappConfig.content import Contents +from WebappConfig.db import WebappDB, WebappSource +from WebappConfig.debug import OUT +from WebappConfig.dotconfig import DotConfig +from warnings import filterwarnings, resetwarnings HERE = os.path.dirname(os.path.realpath(__file__)) @@ -254,6 +255,44 @@ class WebappSourceTest(unittest.TestCase): self.assertEqual(source.packageavail(), 1) +class DotConfigTest(unittest.TestCase): + def test_has_dotconfig(self): + dotconf = DotConfig('/'.join((HERE, 'testfiles', 'htdocs', 'horde'))) + self.assertTrue(dotconf.has_dotconfig()) + + dotconf = DotConfig('/'.join((HERE, 'testfiles', 'htdocs', 'empty'))) + self.assertFalse(dotconf.has_dotconfig()) + + def test_is_empty(self): + dotconf = DotConfig('/'.join((HERE, 'testfiles', 'htdocs', 'horde'))) + self.assertEqual(dotconf.is_empty(), None) + + dotconf = DotConfig('/'.join((HERE, 'testfiles', 'htdocs', 'complain'))) + self.assertEqual(dotconf.is_empty(), '!morecontents .webapp-cool-1.1.1') + + def test_show_installed(self): + dotconf = DotConfig('/'.join((HERE, 'testfiles', 'htdocs', 'horde'))) + dotconf.show_installed() + output = sys.stdout.getvalue().split('\n') + self.assertEqual(output[0], 'horde 3.0.5') + + def test_install(self): + dotconf = DotConfig('/nowhere', pretend=True) + dotconf.write('www-apps', 'horde', '5.5.5', 'localhost', '/horde3', + 'me:me') + output = sys.stdout.getvalue().split('\n') + self.assertEqual(output[14], '* WEB_INSTALLDIR="/horde3"') + + def test_remove(self): + dotconf = DotConfig('/'.join((HERE, 'testfiles', 'htdocs', 'horde')), + pretend=True) + self.assertTrue(dotconf.kill()) + output = sys.stdout.getvalue().split('\n') + self.assertEqual(output[0], '* Would have removed ' + + '/'.join((HERE, 'testfiles', 'htdocs', 'horde', + '.webapp'))) + + if __name__ == '__main__': filterwarnings('ignore') unittest.main(module=__name__, buffer=True)