Missed file
diff --git a/tests/primitives/utils.py b/tests/primitives/utils.py
new file mode 100644
index 0000000..e35c915
--- /dev/null
+++ b/tests/primitives/utils.py
@@ -0,0 +1,40 @@
+import binascii
+import os
+
+import pytest
+
+from cryptography.bindings import openssl
+from cryptography.primitives.block import BlockCipher
+
+
+def generate_encrypt_test(param_loader, cipher_name, vector_type, file_names,
+                          cipher_factory, mode_factory,
+                          only_if=lambda api: True):
+    def test_encryption(self):
+        for api in [openssl.api]:
+            if not only_if(api):
+                yield encrypt_skipped
+            else:
+                for file_name in file_names:
+                    for params in param_loader(
+                        os.path.join(cipher_name, vector_type, file_name)
+                    ):
+                        yield encrypt_test, api, cipher_factory, mode_factory, params
+    return test_encryption
+
+
+def encrypt_test(api, cipher_factory, mode_factory, params):
+    plaintext = params.pop("plaintext")
+    ciphertext = params.pop("ciphertext")
+    cipher = BlockCipher(
+        cipher_factory(**params),
+        mode_factory(**params),
+        api
+    )
+    actual_ciphertext = cipher.encrypt(binascii.unhexlify(plaintext))
+    actual_ciphertext += cipher.finalize()
+    assert binascii.hexlify(actual_ciphertext) == ciphertext
+
+
+def encrypt_skipped():
+    pytest.skip("because reasons")