source: products/qPingTool/trunk/tests/test_pingtool.py

Last change on this file was 205, checked in by chervol, 18 years ago

fixed labels in configlet

File size: 3.7 KB
Line 
1#
2# PingInfo TestCase
3#
4
5import os, sys
6if __name__ == '__main__':
7    execfile(os.path.join(sys.path[0], 'framework.py'))
8
9from base import *
10
11class TestPingTool(TestCase):
12
13    def afterSetUp(self):
14        self.loginAsPortalOwner()
15        self.ptool = self.portal._getOb(TOOL_ID)
16        self.portal.invokeFactory('Blog', id='b1',title='Blog 1')
17        self.b1 = getattr(self.portal, 'b1', None)
18        self.b1.enableSyndication()
19
20    def testPingToolType(self):
21        self.failUnless(self.ptool.meta_type==PingTool.PingTool.meta_type)
22
23    def testAddedPingTool(self):
24        self.portal.invokeFactory('PingTool', id='pt1',title='Ping Tool 1')
25        self.pt1 = getattr(self.portal, 'pt1', None)
26        self.failUnless(self.pt1.meta_type==PingTool.PingTool.meta_type)
27        self.failUnless(self.pt1.title=='Ping Tool 1')
28
29    def testSetupPing(self):
30        obj = self.b1
31
32        # test default ping setup
33        status, message = self.ptool.setupPing(context=obj)
34        self.failUnless(status=='success')
35        self.failUnless(message=='Your changes have been saved')
36        syInfo = getattr(obj, 'syndication_information', None)
37        self.failUnless(syInfo.ping_sites==[])
38        self.failUnless(syInfo.enable_ping==0)
39       
40        # test ping setup with disable syndication and ping
41        self.b1.disableSyndication()
42       
43        status, message = self.ptool.setupPing(context=obj, enable_ping=0, ping_sites=('http://nohost',), REQUEST=None)
44        self.failUnless(status=='failed')
45        self.failUnless(message=='Syndication is Disabled')
46        syInfo = getattr(obj, 'syndication_information', None)
47        self.failUnless(syInfo==None)
48       
49        # test ping setup with enable syndication and ping
50        self.b1.enableSyndication()
51        status, message = self.ptool.setupPing(context=obj, enable_ping=1, ping_sites=('http://nohost',), REQUEST=None)
52        self.failUnless(status=='success')
53        self.failUnless(message=='Your changes have been saved')
54        syInfo = getattr(obj, 'syndication_information', None)
55        self.failUnless(syInfo.ping_sites==['http://nohost'])
56        self.failUnless(syInfo.enable_ping==1)
57
58    def testGetPingProperties(self):
59        obj = self.b1
60        syInfo = getattr(obj, 'syndication_information', None)
61        syInfo.ping_sites = ('http://nohost/1', 'http://nohost/2')
62        syInfo.enable_ping = 1
63        dic = self.ptool.getPingProperties(obj)
64        self.failUnless(tuple(dic['ping_sites'])==('http://nohost/1','http://nohost/2'))
65        self.failUnless(dic['enable_ping']==1)
66
67    def testPingFeedReaderDefault(self):
68        obj = self.b1
69        # test with default properties
70        status, message = self.ptool.pingFeedReader(obj)
71        self.failUnless(status=='failed')
72        self.failUnless(message=='Ping is impossible.See portal_pingtool.')
73
74    def testPingFeedReaderCustomization(self):
75        obj = self.b1
76        # test with customization properties
77        self.ptool.invokeFactory(id = 'testsite', type_name = "PingInfo", title = 'www.TESTSITE.com (blog url)', url = 'http://nohost/')
78        self.ptool.setupPing(context=obj, enable_ping=1, ping_sites=('testsite',))
79        self.failUnless(self.portal.getProperty('canonical_url', None) is None)
80        self.portal.manage_addProperty('canonical_url', 'localhost', 'string')
81        self.failUnless(self.portal.getProperty('canonical_url', None) == 'localhost')
82        status, message = self.ptool.pingFeedReader(obj)
83        self.failUnless(status=='success')
84        self.failUnless(message=='The servers are pinged\nNone')
85
86
87def test_suite():
88    from unittest import TestSuite, makeSuite
89    suite = TestSuite()
90    suite.addTest(makeSuite(TestPingTool))
91    return suite
92
93if __name__ == '__main__':
94    framework()
95
Note: See TracBrowser for help on using the repository browser.