#NEWLINE# def test_bad_dbref( self ) : #NEWLINE# #INDENT# c = self . db . test #NEWLINE# c . drop ( ) #NEWLINE# self . assertRaises ( InvalidDocument , c . insert_one , { #NEWLINE# #INDENT# 'ref' : { #NEWLINE# #INDENT# '$ref' : 'collection' , #NEWLINE# #UNINDENT# } , #NEWLINE# #UNINDENT# } ) #NEWLINE# self . assertRaises ( InvalidDocument , c . insert_one , { #NEWLINE# #INDENT# 'ref' : { #NEWLINE# #INDENT# '$id' : ObjectId ( ) , #NEWLINE# #UNINDENT# } , #NEWLINE# #UNINDENT# } ) #NEWLINE# ref_only = { #NEWLINE# #INDENT# 'ref' : { #NEWLINE# #INDENT# '$ref' : 'collection' , #NEWLINE# #UNINDENT# } , #NEWLINE# #UNINDENT# } #NEWLINE# id_only = { #NEWLINE# #INDENT# 'ref' : { #NEWLINE# #INDENT# '$id' : ObjectId ( ) , #NEWLINE# #UNINDENT# } , #NEWLINE# #UNINDENT# } #NEWLINE# if ( not client_context . version . at_least ( 2 , 5 , 2 ) ) : #NEWLINE# #INDENT# c . insert ( ref_only , check_keys = False ) #NEWLINE# self . assertEqual ( DBRef ( 'collection' , id = None ) , c . find_one ( ) [ 'ref' ] ) #NEWLINE# c . drop ( ) #NEWLINE# c . insert ( id_only , check_keys = False ) #NEWLINE# self . assertEqual ( id_only , c . find_one ( ) )