@@ -841,6 +841,46 @@ def test_get_search_info(self):
841841 self .assertTrue (search_index_metadata ['pending_seq' ] <= 101 , 'The pending_seq should be 101 or fewer.' )
842842 self .assertTrue (search_index_metadata ['disk_size' ] > 0 , 'The disk_size should be greater than 0.' )
843843
844+ @unittest .skipUnless (
845+ os .environ .get ('RUN_CLOUDANT_TESTS' ) is not None ,
846+ 'Skipping Cloudant _search_disk_size endpoint test'
847+ )
848+ def test_get_search_disk_size (self ):
849+ """
850+ Test retrieval of search_disk_size endpoint from the DesignDocument.
851+ """
852+ self .populate_db_with_documents (100 )
853+ ddoc = DesignDocument (self .db , '_design/ddoc001' )
854+ ddoc .add_search_index (
855+ 'search001' ,
856+ 'function (doc) {\n index("default", doc._id); '
857+ 'if (doc._id) {index("name", doc.name, {"store": true}); }\n }'
858+ )
859+ ddoc .save ()
860+
861+ ddoc_remote = DesignDocument (self .db , '_design/ddoc001' )
862+ ddoc_remote .fetch ()
863+
864+ ddoc_remote .search_info ('search001' ) # trigger index build
865+
866+ search_disk_size = ddoc_remote .search_disk_size ('search001' )
867+
868+ self .assertEqual (
869+ sorted (search_disk_size .keys ()), ['name' , 'search_index' ],
870+ 'The search disk size should contain only keys "name" and "search_index"' )
871+ self .assertEqual (
872+ search_disk_size ['name' ], '_design/ddoc001/search001' ,
873+ 'The search index "name" should be correct.' )
874+ self .assertEqual (
875+ sorted (search_disk_size ['search_index' ].keys ()), ['disk_size' ],
876+ 'The search index should contain only key "disk_size"' )
877+ self .assertTrue (
878+ isinstance (search_disk_size ['search_index' ]['disk_size' ], int ),
879+ 'The "disk_size" value should be an integer.' )
880+ self .assertTrue (
881+ search_disk_size ['search_index' ]['disk_size' ] > 0 ,
882+ 'The "disk_size" should be greater than 0.' )
883+
844884 @unittest .skipUnless (
845885 os .environ .get ('RUN_CLOUDANT_TESTS' ) is not None ,
846886 'Skipping Cloudant _search_info raises HTTPError test'
0 commit comments