Changeset 59:e984452207e0 for wokkel/test
- Timestamp:
- Apr 22, 2009, 5:04:03 PM (13 years ago)
- Branch:
- default
- Convert:
- svn:b33ecbfc-034c-dc11-8662-000475d9059e/trunk@171
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
wokkel/test/test_pubsub.py
r58 r59 1223 1223 def setUp(self): 1224 1224 self.stub = XmlStreamStub() 1225 self.service = pubsub.PubSubService() 1225 self.resource = pubsub.PubSubResource() 1226 self.service = pubsub.PubSubService(self.resource) 1226 1227 self.service.send = self.stub.xmlstream.send 1227 1228 … … 1261 1262 """ 1262 1263 def cb(info): 1263 self.assertEqual(2, len(info))1264 1265 def getNodeInfo(requestor, target, nodeIdentifier):1266 return defer.succeed(None)1267 1268 self.service.getNodeInfo = getNodeInfo 1264 discoInfo = disco.DiscoInfo() 1265 for item in info: 1266 discoInfo.append(item) 1267 self.assertIn(('pubsub', 'service'), discoInfo.identities) 1268 self.assertIn(disco.NS_DISCO_ITEMS, discoInfo.features) 1269 1269 1270 d = self.service.getDiscoInfo(JID('user@example.org/home'), 1270 1271 JID('pubsub.example.org'), '') … … 1283 1284 self.assertIn(('pubsub', 'collection'), discoInfo.identities) 1284 1285 1285 def get NodeInfo(requestor, target, nodeIdentifier):1286 def getInfo(requestor, target, nodeIdentifier): 1286 1287 return defer.succeed({'type': 'collection', 1287 1288 'meta-data': {}}) 1288 1289 1289 self. service.getNodeInfo = getNodeInfo1290 self.resource.getInfo = getInfo 1290 1291 d = self.service.getDiscoInfo(JID('user@example.org/home'), 1291 1292 JID('pubsub.example.org'), '') … … 1308 1309 self.assertIn('pubsub#node_type', form.fields) 1309 1310 1310 def get NodeInfo(requestor, target, nodeIdentifier):1311 def getInfo(requestor, target, nodeIdentifier): 1311 1312 metaData = [{'var': 'pubsub#persist_items', 1312 1313 'label': 'Persist items to storage', … … 1314 1315 return defer.succeed({'type': 'leaf', 'meta-data': metaData}) 1315 1316 1316 self. service.getNodeInfo = getNodeInfo1317 self.resource.getInfo = getInfo 1317 1318 d = self.service.getDiscoInfo(JID('user@example.org/home'), 1318 1319 JID('pubsub.example.org'), '') … … 1321 1322 1322 1323 1323 def test_onPublish(self): 1324 def test_getDiscoInfoResourceFeatures(self): 1325 """ 1326 Test getDiscoInfo with the resource features. 1327 """ 1328 def cb(info): 1329 discoInfo = disco.DiscoInfo() 1330 for item in info: 1331 discoInfo.append(item) 1332 self.assertIn('http://jabber.org/protocol/pubsub#publish', 1333 discoInfo.features) 1334 1335 self.resource.features = ['publish'] 1336 d = self.service.getDiscoInfo(JID('user@example.org/home'), 1337 JID('pubsub.example.org'), '') 1338 d.addCallback(cb) 1339 return d 1340 1341 1342 def test_getDiscoItemsRoot(self): 1343 """ 1344 Test getDiscoItems on the root node. 1345 """ 1346 def getNodes(requestor, service, nodeIdentifier): 1347 return defer.succeed(['node1', 'node2']) 1348 1349 def cb(items): 1350 self.assertEqual(2, len(items)) 1351 item1, item2 = items 1352 1353 self.assertEqual(JID('pubsub.example.org'), item1.entity) 1354 self.assertEqual('node1', item1.nodeIdentifier) 1355 1356 self.assertEqual(JID('pubsub.example.org'), item2.entity) 1357 self.assertEqual('node2', item2.nodeIdentifier) 1358 1359 self.resource.getNodes = getNodes 1360 d = self.service.getDiscoItems(JID('user@example.org/home'), 1361 JID('pubsub.example.org'), 1362 '') 1363 d.addCallback(cb) 1364 return d 1365 1366 1367 def test_getDiscoItemsRootHideNodes(self): 1368 """ 1369 Test getDiscoItems on the root node. 1370 """ 1371 def getNodes(requestor, service, nodeIdentifier): 1372 raise Exception("Unexpected call to getNodes") 1373 1374 def cb(items): 1375 self.assertEqual([], items) 1376 1377 self.service.hideNodes = True 1378 self.resource.getNodes = getNodes 1379 d = self.service.getDiscoItems(JID('user@example.org/home'), 1380 JID('pubsub.example.org'), 1381 '') 1382 d.addCallback(cb) 1383 return d 1384 1385 1386 def test_getDiscoItemsNonRoot(self): 1387 """ 1388 Test getDiscoItems on a non-root node. 1389 """ 1390 def getNodes(requestor, service, nodeIdentifier): 1391 return defer.succeed(['node1', 'node2']) 1392 1393 def cb(items): 1394 self.assertEqual(2, len(items)) 1395 1396 self.resource.getNodes = getNodes 1397 d = self.service.getDiscoItems(JID('user@example.org/home'), 1398 JID('pubsub.example.org'), 1399 'test') 1400 d.addCallback(cb) 1401 return d 1402 1403 1404 def test_on_publish(self): 1324 1405 """ 1325 1406 A publish request should result in L{PubSubService.publish} being … … 1336 1417 """ 1337 1418 1338 def publish(request or, service, nodeIdentifier, items):1419 def publish(request): 1339 1420 return defer.succeed(None) 1340 1421 1341 self. service.publish = publish1342 verify.verifyObject(iwokkel.IPubSub Service, self.service)1422 self.resource.publish = publish 1423 verify.verifyObject(iwokkel.IPubSubResource, self.resource) 1343 1424 return self.handleRequest(xml) 1344 1425 1345 1426 1346 def test_on Subscribe(self):1427 def test_on_subscribe(self): 1347 1428 """ 1348 1429 A successful subscription should return the current subscription. … … 1358 1439 """ 1359 1440 1360 def subscribe(request or, service, nodeIdentifier, subscriber):1361 return defer.succeed(pubsub.Subscription( nodeIdentifier,1362 subscriber,1441 def subscribe(request): 1442 return defer.succeed(pubsub.Subscription(request.nodeIdentifier, 1443 request.subscriber, 1363 1444 'subscribed')) 1364 1445 … … 1372 1453 self.assertEqual('subscribed', subscription['subscription']) 1373 1454 1374 self. service.subscribe = subscribe1375 verify.verifyObject(iwokkel.IPubSub Service, self.service)1376 d = self.handleRequest(xml) 1377 d.addCallback(cb) 1378 return d 1379 1380 1381 def test_on SubscribeEmptyNode(self):1455 self.resource.subscribe = subscribe 1456 verify.verifyObject(iwokkel.IPubSubResource, self.resource) 1457 d = self.handleRequest(xml) 1458 d.addCallback(cb) 1459 return d 1460 1461 1462 def test_on_subscribeEmptyNode(self): 1382 1463 """ 1383 1464 A successful subscription on root node should return no node attribute. … … 1393 1474 """ 1394 1475 1395 def subscribe(request or, service, nodeIdentifier, subscriber):1396 return defer.succeed(pubsub.Subscription( nodeIdentifier,1397 subscriber,1476 def subscribe(request): 1477 return defer.succeed(pubsub.Subscription(request.nodeIdentifier, 1478 request.subscriber, 1398 1479 'subscribed')) 1399 1480 … … 1401 1482 self.assertFalse(element.subscription.hasAttribute('node')) 1402 1483 1403 self. service.subscribe = subscribe1404 verify.verifyObject(iwokkel.IPubSub Service, self.service)1405 d = self.handleRequest(xml) 1406 d.addCallback(cb) 1407 return d 1408 1409 1410 def test_on Unsubscribe(self):1484 self.resource.subscribe = subscribe 1485 verify.verifyObject(iwokkel.IPubSubResource, self.resource) 1486 d = self.handleRequest(xml) 1487 d.addCallback(cb) 1488 return d 1489 1490 1491 def test_on_unsubscribe(self): 1411 1492 """ 1412 1493 A successful unsubscription should return an empty response. … … 1422 1503 """ 1423 1504 1424 def unsubscribe(request or, service, nodeIdentifier, subscriber):1505 def unsubscribe(request): 1425 1506 return defer.succeed(None) 1426 1507 … … 1428 1509 self.assertIdentical(None, element) 1429 1510 1430 self. service.unsubscribe = unsubscribe1431 verify.verifyObject(iwokkel.IPubSub Service, self.service)1432 d = self.handleRequest(xml) 1433 d.addCallback(cb) 1434 return d 1435 1436 1437 def test_on OptionsGet(self):1511 self.resource.unsubscribe = unsubscribe 1512 verify.verifyObject(iwokkel.IPubSubResource, self.resource) 1513 d = self.handleRequest(xml) 1514 d.addCallback(cb) 1515 return d 1516 1517 1518 def test_on_optionsGet(self): 1438 1519 """ 1439 1520 Getting subscription options is not supported. … … 1460 1541 1461 1542 1462 def test_on OptionsSet(self):1543 def test_on_optionsSet(self): 1463 1544 """ 1464 1545 Setting subscription options is not supported. … … 1492 1573 1493 1574 1494 def test_on Subscriptions(self):1575 def test_on_subscriptions(self): 1495 1576 """ 1496 1577 A subscriptions request should result in … … 1507 1588 </iq> 1508 1589 """ 1590 1591 def subscriptions(request): 1592 subscription = pubsub.Subscription('test', JID('user@example.org'), 1593 'subscribed') 1594 return defer.succeed([subscription]) 1509 1595 1510 1596 def cb(element): … … 1521 1607 self.assertEqual('subscribed', subscription['subscription']) 1522 1608 1523 1524 def subscriptions(requestor, service): 1525 subscription = pubsub.Subscription('test', JID('user@example.org'), 1526 'subscribed') 1527 return defer.succeed([subscription]) 1528 1529 self.service.subscriptions = subscriptions 1530 verify.verifyObject(iwokkel.IPubSubService, self.service) 1531 d = self.handleRequest(xml) 1532 d.addCallback(cb) 1533 return d 1534 1535 1536 def test_onAffiliations(self): 1609 self.resource.subscriptions = subscriptions 1610 verify.verifyObject(iwokkel.IPubSubResource, self.resource) 1611 d = self.handleRequest(xml) 1612 d.addCallback(cb) 1613 return d 1614 1615 1616 def test_on_affiliations(self): 1537 1617 """ 1538 1618 A subscriptions request should result in … … 1549 1629 </iq> 1550 1630 """ 1631 1632 def affiliations(request): 1633 affiliation = ('test', 'owner') 1634 return defer.succeed([affiliation]) 1551 1635 1552 1636 def cb(element): … … 1562 1646 self.assertEqual('owner', affiliation['affiliation']) 1563 1647 1564 1565 def affiliations(requestor, service): 1566 affiliation = ('test', 'owner') 1567 return defer.succeed([affiliation]) 1568 1569 self.service.affiliations = affiliations 1570 verify.verifyObject(iwokkel.IPubSubService, self.service) 1571 d = self.handleRequest(xml) 1572 d.addCallback(cb) 1573 return d 1574 1575 1576 def test_onCreate(self): 1648 self.resource.affiliations = affiliations 1649 verify.verifyObject(iwokkel.IPubSubResource, self.resource) 1650 d = self.handleRequest(xml) 1651 d.addCallback(cb) 1652 return d 1653 1654 1655 def test_on_create(self): 1577 1656 """ 1578 1657 Replies to create node requests don't return the created node. … … 1588 1667 """ 1589 1668 1590 def create(request or, service, nodeIdentifier):1591 return defer.succeed( nodeIdentifier)1669 def create(request): 1670 return defer.succeed(request.nodeIdentifier) 1592 1671 1593 1672 def cb(element): 1594 1673 self.assertIdentical(None, element) 1595 1674 1596 self. service.create = create1597 verify.verifyObject(iwokkel.IPubSub Service, self.service)1598 d = self.handleRequest(xml) 1599 d.addCallback(cb) 1600 return d 1601 1602 1603 def test_on CreateChanged(self):1675 self.resource.create = create 1676 verify.verifyObject(iwokkel.IPubSubResource, self.resource) 1677 d = self.handleRequest(xml) 1678 d.addCallback(cb) 1679 return d 1680 1681 1682 def test_on_createChanged(self): 1604 1683 """ 1605 1684 Replies to create node requests return the created node if changed. … … 1615 1694 """ 1616 1695 1617 def create(request or, service, nodeIdentifier):1696 def create(request): 1618 1697 return defer.succeed(u'myrenamednode') 1619 1698 … … 1625 1704 element.create.getAttribute('node')) 1626 1705 1627 self. service.create = create1628 verify.verifyObject(iwokkel.IPubSub Service, self.service)1629 d = self.handleRequest(xml) 1630 d.addCallback(cb) 1631 return d 1632 1633 1634 def test_on CreateInstant(self):1706 self.resource.create = create 1707 verify.verifyObject(iwokkel.IPubSubResource, self.resource) 1708 d = self.handleRequest(xml) 1709 d.addCallback(cb) 1710 return d 1711 1712 1713 def test_on_createInstant(self): 1635 1714 """ 1636 1715 Replies to create instant node requests return the created node. … … 1646 1725 """ 1647 1726 1648 def create(request or, service, nodeIdentifier):1727 def create(request): 1649 1728 return defer.succeed(u'random') 1650 1729 … … 1655 1734 self.assertEqual(u'random', element.create.getAttribute('node')) 1656 1735 1657 self. service.create = create1658 verify.verifyObject(iwokkel.IPubSub Service, self.service)1659 d = self.handleRequest(xml) 1660 d.addCallback(cb) 1661 return d 1662 1663 1664 def test_on Default(self):1736 self.resource.create = create 1737 verify.verifyObject(iwokkel.IPubSubResource, self.resource) 1738 d = self.handleRequest(xml) 1739 d.addCallback(cb) 1740 return d 1741 1742 1743 def test_on_default(self): 1665 1744 """ 1666 1745 A default request should result in … … 1687 1766 } 1688 1767 1689 def getDefaultConfiguration(requestor, service, nodeType):1768 def default(request): 1690 1769 return defer.succeed({}) 1691 1770 … … 1697 1776 self.assertEqual(NS_PUBSUB_CONFIG, form.formNamespace) 1698 1777 1699 self. service.getConfigurationOptions = getConfigurationOptions1700 self. service.getDefaultConfiguration = getDefaultConfiguration1701 verify.verifyObject(iwokkel.IPubSub Service, self.service)1702 d = self.handleRequest(xml) 1703 d.addCallback(cb) 1704 return d 1705 1706 1707 def test_on DefaultCollection(self):1778 self.resource.getConfigurationOptions = getConfigurationOptions 1779 self.resource.default = default 1780 verify.verifyObject(iwokkel.IPubSubResource, self.resource) 1781 d = self.handleRequest(xml) 1782 d.addCallback(cb) 1783 return d 1784 1785 1786 def test_on_defaultCollection(self): 1708 1787 """ 1709 1788 Responses to default requests should depend on passed node type. … … 1736 1815 } 1737 1816 1738 def getDefaultConfiguration(requestor, service, nodeType):1817 def default(request): 1739 1818 return defer.succeed({}) 1740 1819 1741 self. service.getConfigurationOptions = getConfigurationOptions1742 self. service.getDefaultConfiguration = getDefaultConfiguration1743 verify.verifyObject(iwokkel.IPubSub Service, self.service)1820 self.resource.getConfigurationOptions = getConfigurationOptions 1821 self.resource.default = default 1822 verify.verifyObject(iwokkel.IPubSubResource, self.resource) 1744 1823 return self.handleRequest(xml) 1745 1824 1746 1825 1747 def test_on DefaultUnknownNodeType(self):1826 def test_on_defaultUnknownNodeType(self): 1748 1827 """ 1749 1828 A default request should result in 1750 L{PubSub Service.getDefaultConfiguration} being called.1829 L{PubSubResource.default} being called. 1751 1830 """ 1752 1831 … … 1770 1849 """ 1771 1850 1772 def getDefaultConfiguration(requestor, service, nodeType):1851 def default(request): 1773 1852 self.fail("Unexpected call to getConfiguration") 1774 1853 … … 1776 1855 self.assertEquals('not-acceptable', result.condition) 1777 1856 1778 self.service.getDefaultConfiguration = getDefaultConfiguration 1779 verify.verifyObject(iwokkel.IPubSubService, self.service) 1780 d = self.handleRequest(xml) 1781 self.assertFailure(d, error.StanzaError) 1782 d.addCallback(cb) 1783 return d 1784 1785 1786 def test_onConfigureGet(self): 1787 """ 1788 On a node configuration get request L{PubSubService.getConfiguration} 1789 is called and results in a data form with the configuration. 1857 self.resource.default = default 1858 verify.verifyObject(iwokkel.IPubSubResource, self.resource) 1859 d = self.handleRequest(xml) 1860 self.assertFailure(d, error.StanzaError) 1861 d.addCallback(cb) 1862 return d 1863 1864 1865 def test_on_configureGet(self): 1866 """ 1867 On a node configuration get 1868 requestL{PubSubResource.configureGet} is called and results in a 1869 data form with the configuration. 1790 1870 """ 1791 1871 … … 1812 1892 } 1813 1893 1814 def getConfiguration(requestor, service, nodeIdentifier):1894 def configureGet(request): 1815 1895 return defer.succeed({'pubsub#deliver_payloads': '0', 1816 1896 'pubsub#persist_items': '1', … … 1846 1926 self.assertNotIn('x-myfield', fields) 1847 1927 1848 1849 self.service.getConfigurationOptions = getConfigurationOptions 1850 self.service.getConfiguration = getConfiguration 1851 verify.verifyObject(iwokkel.IPubSubService, self.service) 1852 d = self.handleRequest(xml) 1853 d.addCallback(cb) 1854 return d 1855 1856 1857 def test_onConfigureSet(self): 1928 self.resource.getConfigurationOptions = getConfigurationOptions 1929 self.resource.configureGet = configureGet 1930 verify.verifyObject(iwokkel.IPubSubResource, self.resource) 1931 d = self.handleRequest(xml) 1932 d.addCallback(cb) 1933 return d 1934 1935 1936 def test_on_configureSet(self): 1858 1937 """ 1859 1938 On a node configuration set request the Data Form is parsed and 1860 L{PubSub Service.setConfiguration} is called with the passed options.1939 L{PubSubResource.configureSet} is called with the passed options. 1861 1940 """ 1862 1941 … … 1888 1967 } 1889 1968 1890 def setConfiguration(requestor, service, nodeIdentifier, options):1969 def configureSet(request): 1891 1970 self.assertEqual({'pubsub#deliver_payloads': False, 1892 'pubsub#persist_items': True}, options)1971 'pubsub#persist_items': True}, request.options) 1893 1972 return defer.succeed(None) 1894 1973 1895 self. service.getConfigurationOptions = getConfigurationOptions1896 self. service.setConfiguration = setConfiguration1897 verify.verifyObject(iwokkel.IPubSub Service, self.service)1974 self.resource.getConfigurationOptions = getConfigurationOptions 1975 self.resource.configureSet = configureSet 1976 verify.verifyObject(iwokkel.IPubSubResource, self.resource) 1898 1977 return self.handleRequest(xml) 1899 1978 1900 1979 1901 def test_on ConfigureSetCancel(self):1902 """ 1903 The node configuration is cancelled, L{PubSubService.setConfiguration}1904 not called.1980 def test_on_configureSetCancel(self): 1981 """ 1982 The node configuration is cancelled, 1983 L{PubSubResource.configureSet} not called. 1905 1984 """ 1906 1985 … … 1920 1999 """ 1921 2000 1922 def setConfiguration(requestor, service, nodeIdentifier, options):2001 def configureSet(request): 1923 2002 self.fail("Unexpected call to setConfiguration") 1924 2003 1925 self. service.setConfiguration = setConfiguration1926 verify.verifyObject(iwokkel.IPubSub Service, self.service)2004 self.resource.configureSet = configureSet 2005 verify.verifyObject(iwokkel.IPubSubResource, self.resource) 1927 2006 return self.handleRequest(xml) 1928 2007 1929 2008 1930 def test_on ConfigureSetIgnoreUnknown(self):2009 def test_on_configureSetIgnoreUnknown(self): 1931 2010 """ 1932 2011 On a node configuration set request unknown fields should be ignored. … … 1960 2039 } 1961 2040 1962 def setConfiguration(requestor, service, nodeIdentifier, options): 1963 self.assertEquals(['pubsub#deliver_payloads'], options.keys()) 1964 1965 self.service.getConfigurationOptions = getConfigurationOptions 1966 self.service.setConfiguration = setConfiguration 1967 verify.verifyObject(iwokkel.IPubSubService, self.service) 2041 def configureSet(request): 2042 self.assertEquals(['pubsub#deliver_payloads'], 2043 request.options.keys()) 2044 2045 self.resource.getConfigurationOptions = getConfigurationOptions 2046 self.resource.configureSet = configureSet 2047 verify.verifyObject(iwokkel.IPubSubResource, self.resource) 1968 2048 return self.handleRequest(xml) 1969 2049 1970 2050 1971 def test_on ConfigureSetBadFormType(self):2051 def test_on_configureSetBadFormType(self): 1972 2052 """ 1973 2053 On a node configuration set request unknown fields should be ignored. … … 2000 2080 2001 2081 2002 def test_on Items(self):2082 def test_on_items(self): 2003 2083 """ 2004 2084 On a items request, return all items for the given node. … … 2013 2093 """ 2014 2094 2015 def items(requestor, service, nodeIdentifier, maxItems, 2016 itemIdentifiers): 2095 def items(request): 2017 2096 return defer.succeed([pubsub.Item('current')]) 2018 2097 … … 2027 2106 self.assertEqual('current', item['id']) 2028 2107 2029 self.service.items = items 2030 d = self.handleRequest(xml) 2031 d.addCallback(cb) 2032 return d 2033 2034 2035 def test_onRetract(self): 2036 """ 2037 A retract request should result in L{PubSubService.retract} being 2038 called. 2108 self.resource.items = items 2109 verify.verifyObject(iwokkel.IPubSubResource, self.resource) 2110 d = self.handleRequest(xml) 2111 d.addCallback(cb) 2112 return d 2113 2114 2115 def test_on_retract(self): 2116 """ 2117 A retract request should result in L{PubSubResource.retract} 2118 being called. 2039 2119 """ 2040 2120 … … 2051 2131 """ 2052 2132 2053 def retract(request or, service, nodeIdentifier, itemIdentifiers):2133 def retract(request): 2054 2134 return defer.succeed(None) 2055 2135 2056 self.service.retract = retract 2136 self.resource.retract = retract 2137 verify.verifyObject(iwokkel.IPubSubResource, self.resource) 2057 2138 return self.handleRequest(xml) 2058 2139 2059 2140 2060 def test_on Purge(self):2061 """ 2062 A purge request should result in L{PubSub Service.purge} being2141 def test_on_purge(self): 2142 """ 2143 A purge request should result in L{PubSubResource.purge} being 2063 2144 called. 2064 2145 """ … … 2073 2154 """ 2074 2155 2075 def purge(request or, service, nodeIdentifier):2156 def purge(request): 2076 2157 return defer.succeed(None) 2077 2158 2078 self.service.purge = purge 2159 self.resource.purge = purge 2160 verify.verifyObject(iwokkel.IPubSubResource, self.resource) 2079 2161 return self.handleRequest(xml) 2080 2162 2081 2163 2082 def test_on Delete(self):2083 """ 2084 A delete request should result in L{PubSub Service.delete} being2164 def test_on_delete(self): 2165 """ 2166 A delete request should result in L{PubSubResource.delete} being 2085 2167 called. 2086 2168 """ … … 2095 2177 """ 2096 2178 2097 def delete(request or, service, nodeIdentifier):2179 def delete(request): 2098 2180 return defer.succeed(None) 2099 2181 2100 self.service.delete = delete 2182 self.resource.delete = delete 2183 verify.verifyObject(iwokkel.IPubSubResource, self.resource) 2101 2184 return self.handleRequest(xml) 2102 2185 … … 2149 2232 2150 2233 2151 def test_on SubscriptionsGet(self):2234 def test_on_subscriptionsGet(self): 2152 2235 """ 2153 2236 Getting subscription options is not supported. … … 2176 2259 2177 2260 2178 def test_on SubscriptionsSet(self):2261 def test_on_subscriptionsSet(self): 2179 2262 """ 2180 2263 Setting subscription options is not supported. … … 2203 2286 2204 2287 2205 def test_on AffiliationsGet(self):2288 def test_on_affiliationsGet(self): 2206 2289 """ 2207 2290 Getting subscription options is not supported. … … 2230 2313 2231 2314 2232 def test_on AffiliationsSet(self):2315 def test_on_affiliationsSet(self): 2233 2316 """ 2234 2317 Setting subscription options is not supported. … … 2255 2338 d.addCallback(cb) 2256 2339 return d 2340 2341 2342 2343 class PubSubServiceWithoutResourceTest(unittest.TestCase, TestableRequestHandlerMixin): 2344 2345 def setUp(self): 2346 self.stub = XmlStreamStub() 2347 self.service = pubsub.PubSubService() 2348 self.service.send = self.stub.xmlstream.send 2257 2349 2258 2350 … … 2605 2697 d.addCallback(cb) 2606 2698 return d 2699 2700 2701 2702 class PubSubResourceTest(unittest.TestCase): 2703 2704 def setUp(self): 2705 self.resource = pubsub.PubSubResource() 2706 2707 2708 def test_interface(self): 2709 """ 2710 Do instances of L{pubsub.PubSubResource} provide L{iwokkel.IPubSubResource}? 2711 """ 2712 verify.verifyObject(iwokkel.IPubSubResource, self.resource) 2713 2714 2715 def test_getNodes(self): 2716 """ 2717 Default getNodes returns an empty list. 2718 """ 2719 def cb(nodes): 2720 self.assertEquals([], nodes) 2721 2722 d = self.resource.getNodes(JID('user@example.org/home'), 2723 JID('pubsub.example.org'), 2724 '') 2725 d.addCallback(cb) 2726 return d 2727 2728 2729 def test_publish(self): 2730 """ 2731 Non-overridden L{PubSubResource.publish} yields unsupported 2732 error. 2733 """ 2734 2735 def cb(result): 2736 self.assertEquals('feature-not-implemented', result.condition) 2737 self.assertEquals('unsupported', result.appCondition.name) 2738 self.assertEquals(NS_PUBSUB_ERRORS, result.appCondition.uri) 2739 self.assertEquals('publish', result.appCondition['feature']) 2740 2741 d = self.resource.publish(pubsub.PubSubRequest()) 2742 self.assertFailure(d, error.StanzaError) 2743 d.addCallback(cb) 2744 return d 2745 2746 2747 def test_subscribe(self): 2748 """ 2749 Non-overridden subscriptions yields unsupported error. 2750 """ 2751 2752 def cb(result): 2753 self.assertEquals('feature-not-implemented', result.condition) 2754 self.assertEquals('unsupported', result.appCondition.name) 2755 self.assertEquals(NS_PUBSUB_ERRORS, result.appCondition.uri) 2756 self.assertEquals('subscribe', result.appCondition['feature']) 2757 2758 d = self.resource.subscribe(pubsub.PubSubRequest()) 2759 self.assertFailure(d, error.StanzaError) 2760 d.addCallback(cb) 2761 return d 2762 2763 2764 def test_unsubscribe(self): 2765 """ 2766 Non-overridden unsubscribe yields unsupported error. 2767 """ 2768 2769 def cb(result): 2770 self.assertEquals('feature-not-implemented', result.condition) 2771 self.assertEquals('unsupported', result.appCondition.name) 2772 self.assertEquals(NS_PUBSUB_ERRORS, result.appCondition.uri) 2773 self.assertEquals('subscribe', result.appCondition['feature']) 2774 2775 d = self.resource.unsubscribe(pubsub.PubSubRequest()) 2776 self.assertFailure(d, error.StanzaError) 2777 d.addCallback(cb) 2778 return d 2779 2780 2781 def test_subscriptions(self): 2782 """ 2783 Non-overridden subscriptions yields unsupported error. 2784 """ 2785 2786 def cb(result): 2787 self.assertEquals('feature-not-implemented', result.condition) 2788 self.assertEquals('unsupported', result.appCondition.name) 2789 self.assertEquals(NS_PUBSUB_ERRORS, result.appCondition.uri) 2790 self.assertEquals('retrieve-subscriptions', 2791 result.appCondition['feature']) 2792 2793 d = self.resource.subscriptions(pubsub.PubSubRequest()) 2794 self.assertFailure(d, error.StanzaError) 2795 d.addCallback(cb) 2796 return d 2797 2798 2799 def test_affiliations(self): 2800 """ 2801 Non-overridden affiliations yields unsupported error. 2802 """ 2803 2804 def cb(result): 2805 self.assertEquals('feature-not-implemented', result.condition) 2806 self.assertEquals('unsupported', result.appCondition.name) 2807 self.assertEquals(NS_PUBSUB_ERRORS, result.appCondition.uri) 2808 self.assertEquals('retrieve-affiliations', 2809 result.appCondition['feature']) 2810 2811 d = self.resource.affiliations(pubsub.PubSubRequest()) 2812 self.assertFailure(d, error.StanzaError) 2813 d.addCallback(cb) 2814 return d 2815 2816 2817 def test_create(self): 2818 """ 2819 Non-overridden create yields unsupported error. 2820 """ 2821 2822 def cb(result): 2823 self.assertEquals('feature-not-implemented', result.condition) 2824 self.assertEquals('unsupported', result.appCondition.name) 2825 self.assertEquals(NS_PUBSUB_ERRORS, result.appCondition.uri) 2826 self.assertEquals('create-nodes', result.appCondition['feature']) 2827 2828 d = self.resource.create(pubsub.PubSubRequest()) 2829 self.assertFailure(d, error.StanzaError) 2830 d.addCallback(cb) 2831 return d 2832 2833 2834 def test_default(self): 2835 """ 2836 Non-overridden default yields unsupported error. 2837 """ 2838 2839 def cb(result): 2840 self.assertEquals('feature-not-implemented', result.condition) 2841 self.assertEquals('unsupported', result.appCondition.name) 2842 self.assertEquals(NS_PUBSUB_ERRORS, result.appCondition.uri) 2843 self.assertEquals('retrieve-default', 2844 result.appCondition['feature']) 2845 2846 d = self.resource.default(pubsub.PubSubRequest()) 2847 self.assertFailure(d, error.StanzaError) 2848 d.addCallback(cb) 2849 return d 2850 2851 2852 def test_configureGet(self): 2853 """ 2854 Non-overridden configureGet yields unsupported 2855 error. 2856 """ 2857 2858 def cb(result): 2859 self.assertEquals('feature-not-implemented', result.condition) 2860 self.assertEquals('unsupported', result.appCondition.name) 2861 self.assertEquals(NS_PUBSUB_ERRORS, result.appCondition.uri) 2862 self.assertEquals('config-node', result.appCondition['feature']) 2863 2864 d = self.resource.configureGet(pubsub.PubSubRequest()) 2865 self.assertFailure(d, error.StanzaError) 2866 d.addCallback(cb) 2867 return d 2868 2869 2870 def test_configureSet(self): 2871 """ 2872 Non-overridden configureSet yields unsupported error. 2873 """ 2874 2875 def cb(result): 2876 self.assertEquals('feature-not-implemented', result.condition) 2877 self.assertEquals('unsupported', result.appCondition.name) 2878 self.assertEquals(NS_PUBSUB_ERRORS, result.appCondition.uri) 2879 self.assertEquals('config-node', result.appCondition['feature']) 2880 2881 d = self.resource.configureSet(pubsub.PubSubRequest()) 2882 self.assertFailure(d, error.StanzaError) 2883 d.addCallback(cb) 2884 return d 2885 2886 2887 def test_items(self): 2888 """ 2889 Non-overridden items yields unsupported error. 2890 """ 2891 2892 def cb(result): 2893 self.assertEquals('feature-not-implemented', result.condition) 2894 self.assertEquals('unsupported', result.appCondition.name) 2895 self.assertEquals(NS_PUBSUB_ERRORS, result.appCondition.uri) 2896 self.assertEquals('retrieve-items', result.appCondition['feature']) 2897 2898 d = self.resource.items(pubsub.PubSubRequest()) 2899 self.assertFailure(d, error.StanzaError) 2900 d.addCallback(cb) 2901 return d 2902 2903 2904 def test_retract(self): 2905 """ 2906 Non-overridden retract yields unsupported error. 2907 """ 2908 2909 def cb(result): 2910 self.assertEquals('feature-not-implemented', result.condition) 2911 self.assertEquals('unsupported', result.appCondition.name) 2912 self.assertEquals(NS_PUBSUB_ERRORS, result.appCondition.uri) 2913 self.assertEquals('retract-items', result.appCondition['feature']) 2914 2915 d = self.resource.retract(pubsub.PubSubRequest()) 2916 self.assertFailure(d, error.StanzaError) 2917 d.addCallback(cb) 2918 return d 2919 2920 2921 def test_purge(self): 2922 """ 2923 Non-overridden purge yields unsupported error. 2924 """ 2925 2926 def cb(result): 2927 self.assertEquals('feature-not-implemented', result.condition) 2928 self.assertEquals('unsupported', result.appCondition.name) 2929 self.assertEquals(NS_PUBSUB_ERRORS, result.appCondition.uri) 2930 self.assertEquals('purge-nodes', result.appCondition['feature']) 2931 2932 d = self.resource.purge(pubsub.PubSubRequest()) 2933 self.assertFailure(d, error.StanzaError) 2934 d.addCallback(cb) 2935 return d 2936 2937 2938 def test_delete(self): 2939 """ 2940 Non-overridden delete yields unsupported error. 2941 """ 2942 2943 def cb(result): 2944 self.assertEquals('feature-not-implemented', result.condition) 2945 self.assertEquals('unsupported', result.appCondition.name) 2946 self.assertEquals(NS_PUBSUB_ERRORS, result.appCondition.uri) 2947 self.assertEquals('delete-nodes', result.appCondition['feature']) 2948 2949 d = self.resource.delete(pubsub.PubSubRequest()) 2950 self.assertFailure(d, error.StanzaError) 2951 d.addCallback(cb) 2952 return d
Note: See TracChangeset
for help on using the changeset viewer.