Beispiel #1
0
 def persister(self, tmpdir):
     from palladium.persistence import File
     model1 = Dummy()
     annotate(model1, {
         'attachments/myatt.txt': 'aGV5',
         'attachments/my2ndatt.txt': 'aG8='
     })
     model2 = Dummy()
     annotate(model2, {'attachments/myatt.txt': 'aG8='})
     persister = File(str(tmpdir) + '/model-{version}')
     persister.write(model1)
     persister.write(model2)
     return persister
Beispiel #2
0
 def test_loaded_back_on_read(self, persister, tmpdir):
     # Attachment is read back from the file into metadata
     # dictionary on read:
     model1 = persister.read(version=1)
     assert annotate(model1)['attachments/myatt.txt'] == b'aGV5'
     assert annotate(model1)['attachments/my2ndatt.txt'] == b'aG8='
Beispiel #3
0
 def test_attachment_not_in_pickle(self, persister, tmpdir):
     # Attachment data is not pickled as part of the model:
     with open(tmpdir + '/model-1.pkl.gz', 'rb') as fh:
         with gzip.open(fh, 'rb') as f:
             model1 = pickle.load(f)
             assert 'attachments/myatt.txt' not in annotate(model1)
 def test_without_existing_data(self, annotate):
     model = TestAnnotate()
     assert annotate(model, {'one': '11'}) == {'one': '11'}
     assert model.__metadata__['one'] == '11'
 def test_with_existing_data(self, annotate):
     model = MagicMock(__metadata__={'one': 1, 'two': 2})
     annotate(model, {'one': '11'})
     assert model.__metadata__['one'] == '11'
     assert model.__metadata__['two'] == 2
     assert annotate(model) == {'one': '11', 'two': 2}
Beispiel #6
0
 def test_without_existing_data(self, annotate):
     model = TestAnnotate()
     assert annotate(model, {'one': '11'}) == {'one': '11'}
     assert model.__metadata__['one'] == '11'
Beispiel #7
0
 def test_with_existing_data(self, annotate):
     model = MagicMock(__metadata__={'one': 1, 'two': 2})
     annotate(model, {'one': '11'})
     assert model.__metadata__['one'] == '11'
     assert model.__metadata__['two'] == 2
     assert annotate(model) == {'one': '11', 'two': 2}