def test_delete_a_query_index_view(self): """ Test deleting a query index view fails as expected. """ # This is not the preferred way of dealing with query index # views but it works best for this test. data = { '_id': '_design/ddoc001', 'language': 'query', 'views': { 'view001': {'map': {'fields': {'name': 'asc', 'age': 'asc'}}, 'reduce': '_count', 'options': {'def': {'fields': ['name', 'age']}, 'w': 2} } } } self.db.create_document(data) ddoc = DesignDocument(self.db, '_design/ddoc001') ddoc.fetch() with self.assertRaises(CloudantException) as cm: ddoc.delete_view('view001') err = cm.exception self.assertEqual( str(err), 'Cannot delete a query index view using this method.' )
def test_delete_a_view(self): """ Test deleting a view from the DesignDocument dictionary. """ ddoc = DesignDocument(self.db, "_design/ddoc001") ddoc.add_view("view001", "function (doc) {\n emit(doc._id, 1);\n}") self.assertEqual(ddoc.get("views")["view001"], {"map": "function (doc) {\n emit(doc._id, 1);\n}"}) ddoc.delete_view("view001") self.assertEqual(ddoc.get("views"), {})
def test_delete_a_view(self): """ Test deleting a view from the DesignDocument dictionary. """ ddoc = DesignDocument(self.db, '_design/ddoc001') ddoc.add_view('view001', 'function (doc) {\n emit(doc._id, 1);\n}') self.assertEqual( ddoc.get('views')['view001'], {'map': 'function (doc) {\n emit(doc._id, 1);\n}'} ) ddoc.delete_view('view001') self.assertEqual(ddoc.get('views'), {})
def test_ddoc_delete_view(self): mock_database = mock.Mock() ddoc = DesignDocument(mock_database, '_design/unittest') ddoc.add_view('view1', "MAP", "REDUCE") ddoc.add_view('view2', "MAP", "REDUCE") self.assertIn('view1', ddoc['views']) self.assertIn('view2', ddoc['views']) ddoc.delete_view('view2') self.assertIn('view1', ddoc['views']) self.assertNotIn('view2', ddoc['views']) self.assertEqual(ddoc['views']['view1'].map, 'MAP') self.assertEqual(ddoc['views']['view1'].reduce, 'REDUCE')
def test_delete_a_query_index_view(self): """ Test deleting a query index view fails as expected. """ # This is not the preferred way of dealing with query index # views but it works best for this test. data = { "_id": "_design/ddoc001", "language": "query", "views": { "view001": { "map": {"fields": {"name": "asc", "age": "asc"}}, "reduce": "_count", "options": {"def": {"fields": ["name", "age"]}, "w": 2}, } }, } self.db.create_document(data) ddoc = DesignDocument(self.db, "_design/ddoc001") ddoc.fetch() with self.assertRaises(CloudantException) as cm: ddoc.delete_view("view001") err = cm.exception self.assertEqual(str(err), "Cannot delete a query index view using this method.")