self.get_bucket_policy()['Statement'][0]['Principal']['AWS'] in the S3 bucket code is a random order, so not cannot reliably compare to the local definition of the policy.
For now will need to massage policy comparison so principals are sets.
Long term, policies need to be fully fledged resources.
(Used to work - is this a change to the API? Check releases notes etc)