コード例 #1
0
 def test_sslkey_user_and_key_unique_together(self):
     key_string = get_data('data/test_x509_0.pem')
     user = factory.make_User()
     key = SSLKey(key=key_string, user=user)
     key.save()
     key2 = SSLKey(key=key_string, user=user)
     self.assertRaises(ValidationError, key2.full_clean)
コード例 #2
0
 def test_sslkey_same_key_can_be_used_by_different_users(self):
     key_string = get_data('data/test_x509_0.pem')
     user = factory.make_User()
     key = SSLKey(key=key_string, user=user)
     key.save()
     user2 = factory.make_User()
     key2 = SSLKey(key=key_string, user=user2)
     key2.full_clean()
コード例 #3
0
 def test_sslkey_user_and_key_unique_together_db_level(self):
     # Even if we hack our way around model-level checks, uniqueness
     # of the user/key combination is enforced at the database level.
     key_string = get_data('data/test_x509_0.pem')
     user = factory.make_User()
     existing_key = SSLKey(key=key_string, user=user)
     existing_key.save()
     # The trick to hack around the model-level checks: create a
     # duplicate key for another user, then attach it to the same
     # user as the existing key by updating it directly in the
     # database.
     redundant_key = SSLKey(key=key_string, user=factory.make_User())
     redundant_key.save()
     self.assertRaises(IntegrityError,
                       SSLKey.objects.filter(id=redundant_key.id).update,
                       user=user)