- I create a "Testing" folder where all the test data will go. - !record {model: document.directory, id: dir_tests }: name: 'Testing (will be deleted!)' parent_id: dir_root - I create an attachment into the root folder (w. empty fields, test that defaults work) - !record {model: ir.attachment, id: file_test1 }: name: Test file.txt - I delete the attachment from the root folder - !python {model: ir.attachment}: | self.unlink(cr, uid, [ref('file_test1')]) - I create an attachment into the Testing folder. - !record {model: ir.attachment, id: file_test2 }: name: Test file 2 parent_id: dir_tests - I update the attachment with data, namely "abcd" - !record {model: ir.attachment, id: file_test2 }: datas: "YWJjZA==\n" - I test that the datas of the attachment are correct - !assert {model: ir.attachment, id: file_test2 }: - datas == "YWJjZA==\n" - file_size == 4 - I rename the attachment. - !record {model: ir.attachment, id: file_test2 }: name: Test renamed 2 - I search the testing folder for attachments. - !python {model: ir.attachment}: | ids = self.search(cr, uid, [('parent_id.name','=', 'Testing (will be deleted!)'), ('name','=','Test renamed 2')]) assert ids == [ ref("file_test2") ], ids - I create an attachment to a 3rd resource, eg. a res.country - !record {model: ir.attachment, id: attach_3rd }: name: 'Country attachment.txt' parent_id: dir_tests datas: "Q291bnRyeSBhdHRhY2htZW50IGNvbnRlbnQ=\n" res_model: res.country res_id: !eval ref("base.za") - I search for the res.country attachment - !python {model: ir.attachment}: | ids = self.search(cr, uid, [('res_model', '=', 'res.country'), ('res_id', '=', ref("base.za"))]) assert ids == [ ref("attach_3rd")], ids - I test that I can't create duplicate directories (even when duplicates are hidden by a record rule) - !python {model: document.directory}: | duplicate_detected = False from openerp.osv.osv import except_osv try: demo_uid = ref('base.user_demo') dir_vals = { 'name': 'Testing (will be deleted!)', 'parent_id': ref('document.dir_root') } new_dir_id = self.create(cr, demo_uid, dir_vals, context=None) self.unlink(cr, uid, [new_dir_id], context=None) except except_osv, e: duplicate_detected = e.value == u'Directory name must be unique!' assert duplicate_detected is True, 'Failed to detect duplicate directory' - I delete the attachments - !python {model: ir.attachment}: | self.unlink(cr, uid, [ref('file_test2')]) self.unlink(cr, uid, [ref('attach_3rd')]) - I delete the tests folder - !python {model: document.directory}: | self.unlink(cr, uid, [ref('dir_tests')])