|  | @@ 177-185 (lines=9) @@ | 
                                                            
                                    | 174 |  |         with patch('niprov.mongo.bson') as bson: | 
                                                            
                                    | 175 |  |             self.setupRepo() | 
                                                            
                                    | 176 |  |             img = Mock() | 
                                                            
                                    | 177 |  |             img.provenance = {'a':1} | 
                                                            
                                    | 178 |  |             self.repo.add(img) | 
                                                            
                                    | 179 |  |             assert not bson.Binary.called | 
                                                            
                                    | 180 |  |             self.db.provenance.insert_one.assert_called_with({'a':1}) | 
                                                            
                                    | 181 |  |  | 
                                                            
                                    | 182 |  |     def test_If_snapshotdata_hands_them_to_pictureCache_on_deserializing(self): | 
                                                            
                                    | 183 |  |         img = Mock() | 
                                                            
                                    | 184 |  |         self.fileFactory.fromProvenance.return_value = img | 
                                                            
                                    | 185 |  |         self.setupRepo() | 
                                                            
                                    | 186 |  |         self.db.provenance.find_one.return_value = {'a':3} | 
                                                            
                                    | 187 |  |         out = self.repo.byLocation('/p/f1') | 
                                                            
                                    | 188 |  |         assert not self.pictureCache.keep.called | 
                                                                                
                                |  | @@ 167-175 (lines=9) @@ | 
                                                            
                                    | 164 |  |             img = Mock() | 
                                                            
                                    | 165 |  |             img.provenance = {'a':1} | 
                                                            
                                    | 166 |  |             self.repo.add(img) | 
                                                            
                                    | 167 |  |             self.pictureCache.getBytes.assert_called_with(for_=img) | 
                                                            
                                    | 168 |  |             bson.Binary.assert_called_with(sentinel.snapbytes) | 
                                                            
                                    | 169 |  |             self.db.provenance.insert_one.assert_called_with({'a':1,  | 
                                                            
                                    | 170 |  |                 '_snapshot-data':sentinel.snapbson}) | 
                                                            
                                    | 171 |  |  | 
                                                            
                                    | 172 |  |     def test_If_no_snapshot_doesnt_add_data_field(self): | 
                                                            
                                    | 173 |  |         self.pictureCache.getBytes.return_value = None | 
                                                            
                                    | 174 |  |         with patch('niprov.mongo.bson') as bson: | 
                                                            
                                    | 175 |  |             self.setupRepo() | 
                                                            
                                    | 176 |  |             img = Mock() | 
                                                            
                                    | 177 |  |             img.provenance = {'a':1} | 
                                                            
                                    | 178 |  |             self.repo.add(img) | 
                                                                                
                                |  | @@ 84-92 (lines=9) @@ | 
                                                            
                                    | 81 |  |     def test_updateApproval(self): | 
                                                            
                                    | 82 |  |         self.setupRepo() | 
                                                            
                                    | 83 |  |         img = Mock() | 
                                                            
                                    | 84 |  |         p = '/p/f1' | 
                                                            
                                    | 85 |  |         newStatus = 'oh-oh' | 
                                                            
                                    | 86 |  |         self.repo.updateApproval(p, newStatus) | 
                                                            
                                    | 87 |  |         self.db.provenance.update.assert_called_with( | 
                                                            
                                    | 88 |  |             {'location':p}, {'$set': {'approval': newStatus}}) | 
                                                            
                                    | 89 |  |  | 
                                                            
                                    | 90 |  |     def test_latest(self): | 
                                                            
                                    | 91 |  |         self.fileFactory.fromProvenance.side_effect = lambda p: 'img_'+p | 
                                                            
                                    | 92 |  |         self.db.provenance.find.return_value = Mock() | 
                                                            
                                    | 93 |  |         self.db.provenance.find.return_value.sort.return_value.limit.return_value = ['px','py'] | 
                                                            
                                    | 94 |  |         self.setupRepo() | 
                                                            
                                    | 95 |  |         out = self.repo.latest() |