def test_iterating_over_views(self): """ Test iterating over views within the DesignDocument """ ddoc = DesignDocument(self.db, "_design/ddoc001") view_map = "function (doc) {\n emit(doc._id, 1);\n}" ddoc.add_view("view001", view_map) ddoc.add_view("view002", view_map) ddoc.add_view("view003", view_map) view_names = [] for view_name, view in ddoc.iterviews(): self.assertIsInstance(view, View) view_names.append(view_name) self.assertTrue(all(x in view_names for x in ["view001", "view002", "view003"]))
def test_design_doc(self, mock_fetch): """test overridden methods work as expected""" mock_database = mock.Mock() ddoc = DesignDocument(mock_database, '_design/unittest') ddoc['views'] = { 'view1': {'map': "MAP", 'reduce': 'REDUCE'} } ddoc.fetch() self.assertTrue(mock_fetch.called) views = [x for x in ddoc.iterviews()] self.assertEqual(len(views), 1) view = views[0] self.assertIn('view1', view) funcs = view[1] self.assertEqual(funcs['map'], 'MAP') self.assertEqual(funcs['reduce'], 'REDUCE') self.assertIn('view1', ddoc.views)