source: products/qPingTool/branches/plone-3.1/tests/test_pingtool.py

Last change on this file was 202, checked in by mylan, 18 years ago

Change sending notification e-mail from secureSend() to send().
Add to notification templates mail fields: To, From, Subject

File size: 3.0 KB
Line 
1#
2# PingTool TestCase
3#
4
5from base import *
6
7class TestPingTool(TestCase):
8
9    def afterSetUp(self):
10        self.loginAsPortalOwner()
11        self.ptool = self.portal._getOb('portal_pingtool')
12        self.portal.invokeFactory('Weblog', id='b1',title='Blog 1')
13        self.b1 = getattr(self.portal, 'b1', None)
14        self.b1.enableSyndication()
15
16    def testPingToolType(self):
17        self.failUnless(self.ptool.meta_type==PingTool.PingTool.meta_type)
18
19    def testSetupPing(self):
20        obj = self.b1
21
22        # test default ping setup
23        status, message = self.ptool.setupPing(context=obj)
24        self.failUnless(status=='success')
25        self.failUnless(message=='Changes saved.')
26        syInfo = getattr(obj, 'syndication_information', None)
27        self.failUnless(syInfo.ping_sites==[])
28        self.failUnless(syInfo.enable_ping==0)
29       
30        # test ping setup with disable syndication and ping
31        self.b1.disableSyndication()
32        status, message = self.ptool.setupPing(context=obj, enable_ping=0, ping_sites=('http://nohost',), REQUEST=None)
33        self.failUnless(status=='failed')
34        self.failUnless(message=='Syndication is Disabled')
35        syInfo = getattr(obj, 'syndication_information', None)
36        self.failUnless(syInfo is None)
37       
38        # test ping setup with enable syndication and ping
39        self.b1.enableSyndication()
40        status, message = self.ptool.setupPing(context=obj, enable_ping=1, ping_sites=('http://nohost',), REQUEST=None)
41        self.failUnless(status=='success')
42        self.failUnless(message=='Changes saved.')
43        syInfo = getattr(obj, 'syndication_information', None)
44        self.failUnless(syInfo.ping_sites==['http://nohost'])
45        self.failUnless(syInfo.enable_ping==1)
46
47    def testGetPingProperties(self):
48        obj = self.b1
49        syInfo = getattr(obj, 'syndication_information', None)
50        syInfo.ping_sites = ('http://nohost/1', 'http://nohost/2')
51        syInfo.enable_ping = 1
52        dic = self.ptool.getPingProperties(obj)
53        self.failUnless(tuple(dic['ping_sites'])==('http://nohost/1','http://nohost/2'))
54        self.failUnless(dic['enable_ping']==1)
55
56    def testPingFeedReader(self):
57        obj = self.b1
58
59        # test with default properties
60        status, message = self.ptool.pingFeedReader(obj)
61        self.failUnless(status=='failed')
62        self.failUnless(message=='Ping is dissabled.')
63
64        # test with customized properties
65        self.ptool.invokeFactory(id = 'testsite', type_name = "PingInfo", title = 'www.TESTSITE.com (blog url)', url = 'http://pingsite')
66        self.ptool.setupPing(context=obj, enable_ping=1, ping_sites=('testsite',))
67        status, message = self.ptool.pingFeedReader(obj)
68        self.failUnless(status=='failed')
69        self.failUnless(message=='Ping is impossible.Setup canonical_url.')
70
71
72def test_suite():
73    from unittest import TestSuite, makeSuite
74    suite = TestSuite()
75    suite.addTest(makeSuite(TestPingTool))
76    return suite
Note: See TracBrowser for help on using the repository browser.