@@ -584,7 +584,7 @@ def test_add_with_boost(self):
584584 self .assertEqual (len (res ), 5 )
585585 self .assertEqual ('doc_6' , res .docs [0 ]['id' ])
586586
587- def test_field_update (self ):
587+ def test_field_update_inc (self ):
588588 originalDocs = self .solr .search ('doc' )
589589 self .assertEqual (len (originalDocs ), 3 )
590590 updateList = []
@@ -601,6 +601,25 @@ def test_field_update(self):
601601 self .assertEqual (True , all (updatedDoc [k ] == originalDoc [k ] for k in updatedDoc .keys ()
602602 if k not in ['_version_' , 'popularity' ]))
603603
604+ def test_field_update_set (self ):
605+ originalDocs = self .solr .search ('doc' )
606+ updated_popularity = 10
607+ self .assertEqual (len (originalDocs ), 3 )
608+ updateList = []
609+ for i , doc in enumerate (originalDocs ):
610+ updateList .append ({'id' : doc ['id' ], 'popularity' : updated_popularity })
611+ self .solr .add (updateList , fieldUpdates = {'popularity' : 'set' })
612+
613+ updatedDocs = self .solr .search ('doc' )
614+ self .assertEqual (len (updatedDocs ), 3 )
615+ for i , (originalDoc , updatedDoc ) in enumerate (zip (originalDocs , updatedDocs )):
616+ self .assertEqual (len (updatedDoc .keys ()), len (originalDoc .keys ()))
617+ self .assertEqual (updatedDoc ['popularity' ], updated_popularity )
618+ # TODO: change this to use assertSetEqual:
619+ self .assertEqual (True , all (updatedDoc [k ] == originalDoc [k ] for k in updatedDoc .keys ()
620+ if k not in ['_version_' , 'popularity' ]))
621+
622+ def test_field_update_add (self ):
604623 self .solr .add ([
605624 {
606625 'id' : 'multivalued_1' ,
0 commit comments