Use the Arkindex S3 client in Ponos
Closes #1596 (closed)
I updated the Artifact
model to use the S3FileMixin
to deduplicate the URL generation code, and created a TaskLogs
class to match the Thumbnail
class used to store thumbnails on folders, so everything uses the mixin.
I struggled with the unit test mocks as I was getting RecursionErrors that even the VSCode Python debugger would not catch. I learnt about sealing mocks to get AttributeError
when an attribute was not mocked, so I added that all over the relevant tests to get unstuck. I might make the use of seal()
into a brand new best practice with how much faster it is to troubleshoot with it.