'Test UUID fields storing as Binary object.'

def test_uuid_field_binary(self):

    class Person(Document, ):
        api_key = UUIDField(binary=True)
    Person.drop_collection()
    uu = uuid.uuid4()
    Person(api_key=uu).save()
    self.assertEqual(1, Person.objects(api_key=uu).count())
    self.assertEqual(uu, Person.objects.first().api_key)
    person = Person()
    valid = (uuid.uuid4(), uuid.uuid1())
    for api_key in valid:
        person.api_key = api_key
        person.validate()
    invalid = ('9d159858-549b-4975-9f98-dd2f987c113g', '9d159858-549b-4975-9f98-dd2f987c113')
    for api_key in invalid:
        person.api_key = api_key
        self.assertRaises(ValidationError, person.validate)
