def test_generate_validation_key(self, fake_sha256): (fake_sha256.expects_call() .returns_fake() .provides('update') .times_called(2) # initial and datetime .provides('hexdigest') .calls(lambda: 'ValidationKey')) self.assertEquals('ValidationKey', generate_validation_key('www.example.com')) (fake_sha256.expects_call() .returns_fake() .provides('update') .times_called(3) # initial, datetime and owner .provides('hexdigest') .calls(lambda: 'ValidationKeyWithOwnerInfo')) self.assertEquals('ValidationKeyWithOwnerInfo', generate_validation_key('www.example.com', 'owner'))
def pre_save_handler(sender, instance, **kwargs): if not instance.validation_key: instance.validation_key = generate_validation_key( instance.name, instance.owner and instance.owner.username) instance.save()