Tools used by OpenStack Documentation
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

38 lines
1.2 KiB

  1. # Licensed under the Apache License, Version 2.0 (the "License"); you may
  2. # not use this file except in compliance with the License. You may obtain
  3. # a copy of the License at
  4. #
  5. # http://www.apache.org/licenses/LICENSE-2.0
  6. #
  7. # Unless required by applicable law or agreed to in writing, software
  8. # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  9. # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  10. # License for the specific language governing permissions and limitations
  11. # under the License.
  12. import mock
  13. from sitemap.generator import items
  14. import unittest
  15. class TestSitemapItem(unittest.TestCase):
  16. def test_class_type(self):
  17. self.assertTrue(type(items.SitemapItem) is items.scrapy.item.ItemMeta)
  18. def test_class_supports_fields(self):
  19. with mock.patch.object(items.scrapy.item, 'Field'):
  20. a = items.SitemapItem()
  21. supported_fields = ['loc', 'lastmod', 'priority', 'changefreq']
  22. for field in supported_fields:
  23. a[field] = field
  24. not_supported_fields = ['some', 'random', 'fields']
  25. for field in not_supported_fields:
  26. with self.assertRaises(KeyError):
  27. a[field] = field
  28. if __name__ == '__main__':
  29. unittest.main()