コード例 #1
0
 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.'
     )
コード例 #2
0
 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"), {})
コード例 #3
0
 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'), {})
コード例 #4
0
 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')
コード例 #5
0
 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.")