active_storage_encryption 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. checksums.yaml +7 -0
  2. data/Appraisals +7 -0
  3. data/MIT-LICENSE +20 -0
  4. data/README.md +236 -0
  5. data/Rakefile +17 -0
  6. data/bin/rails +26 -0
  7. data/bin/rubocop +8 -0
  8. data/config/initializers/active_storage_encryption.rb +9 -0
  9. data/config/routes.rb +7 -0
  10. data/gemfiles/rails_7.gemfile +7 -0
  11. data/gemfiles/rails_7.gemfile.lock +276 -0
  12. data/gemfiles/rails_8.gemfile +7 -0
  13. data/gemfiles/rails_8.gemfile.lock +276 -0
  14. data/lib/active_storage/service/encrypted_disk_service.rb +10 -0
  15. data/lib/active_storage/service/encrypted_mirror_service.rb +10 -0
  16. data/lib/active_storage/service/encrypted_s3_service.rb +10 -0
  17. data/lib/active_storage_encryption/encrypted_blobs_controller.rb +163 -0
  18. data/lib/active_storage_encryption/encrypted_disk_service/v1_scheme.rb +28 -0
  19. data/lib/active_storage_encryption/encrypted_disk_service/v2_scheme.rb +51 -0
  20. data/lib/active_storage_encryption/encrypted_disk_service.rb +186 -0
  21. data/lib/active_storage_encryption/encrypted_mirror_service.rb +76 -0
  22. data/lib/active_storage_encryption/encrypted_s3_service.rb +236 -0
  23. data/lib/active_storage_encryption/engine.rb +7 -0
  24. data/lib/active_storage_encryption/overrides.rb +201 -0
  25. data/lib/active_storage_encryption/private_url_policy.rb +53 -0
  26. data/lib/active_storage_encryption/resumable_gcs_upload.rb +194 -0
  27. data/lib/active_storage_encryption/version.rb +5 -0
  28. data/lib/active_storage_encryption.rb +79 -0
  29. data/lib/tasks/active_storage_encryption_tasks.rake +6 -0
  30. data/test/active_storage_encryption_test.rb +9 -0
  31. data/test/dummy/Rakefile +8 -0
  32. data/test/dummy/app/assets/stylesheets/application.css +1 -0
  33. data/test/dummy/app/controllers/application_controller.rb +6 -0
  34. data/test/dummy/app/helpers/application_helper.rb +4 -0
  35. data/test/dummy/app/models/application_record.rb +5 -0
  36. data/test/dummy/app/views/layouts/application.html.erb +22 -0
  37. data/test/dummy/app/views/pwa/manifest.json.erb +22 -0
  38. data/test/dummy/app/views/pwa/service-worker.js +26 -0
  39. data/test/dummy/bin/rails +4 -0
  40. data/test/dummy/bin/rake +4 -0
  41. data/test/dummy/bin/setup +37 -0
  42. data/test/dummy/config/application.rb +43 -0
  43. data/test/dummy/config/boot.rb +7 -0
  44. data/test/dummy/config/credentials.yml.enc +1 -0
  45. data/test/dummy/config/database.yml +32 -0
  46. data/test/dummy/config/environment.rb +7 -0
  47. data/test/dummy/config/environments/development.rb +59 -0
  48. data/test/dummy/config/environments/production.rb +81 -0
  49. data/test/dummy/config/environments/test.rb +53 -0
  50. data/test/dummy/config/initializers/content_security_policy.rb +27 -0
  51. data/test/dummy/config/initializers/filter_parameter_logging.rb +10 -0
  52. data/test/dummy/config/initializers/inflections.rb +18 -0
  53. data/test/dummy/config/initializers/permissions_policy.rb +15 -0
  54. data/test/dummy/config/locales/en.yml +31 -0
  55. data/test/dummy/config/master.key +1 -0
  56. data/test/dummy/config/puma.rb +36 -0
  57. data/test/dummy/config/routes.rb +5 -0
  58. data/test/dummy/config/storage.yml +21 -0
  59. data/test/dummy/config.ru +8 -0
  60. data/test/dummy/db/migrate/20250304023851_create_active_storage_tables.active_storage.rb +60 -0
  61. data/test/dummy/db/migrate/20250304023853_add_blob_encryption_key_column.rb +7 -0
  62. data/test/dummy/db/schema.rb +47 -0
  63. data/test/dummy/log/test.log +1022 -0
  64. data/test/dummy/public/404.html +67 -0
  65. data/test/dummy/public/406-unsupported-browser.html +66 -0
  66. data/test/dummy/public/422.html +67 -0
  67. data/test/dummy/public/500.html +66 -0
  68. data/test/dummy/public/icon.png +0 -0
  69. data/test/dummy/public/icon.svg +3 -0
  70. data/test/dummy/storage/test.sqlite3 +0 -0
  71. data/test/dummy/storage/x6/pl/x6plznfuhrsyjn9pox2a6xgmcs3x +0 -0
  72. data/test/dummy/storage/yq/sv/yqsvw5a72b3fv719zq8a6yb7lv0j +0 -0
  73. data/test/integration/encrypted_blobs_controller_test.rb +400 -0
  74. data/test/lib/encrypted_disk_service_test.rb +387 -0
  75. data/test/lib/encrypted_mirror_service_test.rb +159 -0
  76. data/test/lib/encrypted_s3_service_test.rb +293 -0
  77. data/test/test_helper.rb +19 -0
  78. metadata +264 -0
@@ -0,0 +1,1022 @@
1
+  (0.2ms) DROP TABLE IF EXISTS "active_storage_attachments"
2
+  (0.2ms) CREATE TABLE "active_storage_attachments" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar NOT NULL, "record_type" varchar NOT NULL, "record_id" bigint NOT NULL, "blob_id" bigint NOT NULL, "created_at" datetime(6) NOT NULL)
3
+  (0.1ms) CREATE INDEX "index_active_storage_attachments_on_blob_id" ON "active_storage_attachments" ("blob_id")
4
+  (0.0ms) CREATE UNIQUE INDEX "index_active_storage_attachments_uniqueness" ON "active_storage_attachments" ("record_type", "record_id", "name", "blob_id")
5
+  (0.0ms) DROP TABLE IF EXISTS "active_storage_blobs"
6
+  (0.1ms) CREATE TABLE "active_storage_blobs" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "key" varchar NOT NULL, "filename" varchar NOT NULL, "content_type" varchar, "metadata" text, "service_name" varchar NOT NULL, "byte_size" bigint NOT NULL, "checksum" varchar, "created_at" datetime(6) NOT NULL, "encryption_key" varchar)
7
+  (0.0ms) CREATE UNIQUE INDEX "index_active_storage_blobs_on_key" ON "active_storage_blobs" ("key")
8
+  (0.0ms) DROP TABLE IF EXISTS "active_storage_variant_records"
9
+  (0.0ms) CREATE TABLE "active_storage_variant_records" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "blob_id" bigint NOT NULL, "variation_digest" varchar NOT NULL)
10
+  (0.0ms) CREATE UNIQUE INDEX "index_active_storage_variant_records_uniqueness" ON "active_storage_variant_records" ("blob_id", "variation_digest")
11
+ TRANSACTION (0.0ms) BEGIN immediate TRANSACTION
12
+ SQL (0.1ms) PRAGMA foreign_keys
13
+ SQL (0.0ms) PRAGMA defer_foreign_keys
14
+  (0.0ms) PRAGMA defer_foreign_keys = ON
15
+  (0.0ms) PRAGMA foreign_keys = OFF
16
+  (0.0ms) CREATE TEMPORARY TABLE "aactive_storage_attachments" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar NOT NULL, "record_type" varchar NOT NULL, "record_id" bigint NOT NULL, "blob_id" bigint NOT NULL, "created_at" datetime(6) NOT NULL)
17
+  (0.0ms) CREATE UNIQUE INDEX "tindex_aactive_storage_attachments_uniqueness" ON "aactive_storage_attachments" ("record_type", "record_id", "name", "blob_id")
18
+  (0.0ms) CREATE INDEX "tindex_aactive_storage_attachments_on_blob_id" ON "aactive_storage_attachments" ("blob_id")
19
+ SQL (0.0ms) INSERT INTO "aactive_storage_attachments" ("id","name","record_type","record_id","blob_id","created_at")
20
+ SELECT "id","name","record_type","record_id","blob_id","created_at" FROM "active_storage_attachments"
21
+  (0.1ms) DROP TABLE "active_storage_attachments"
22
+  (0.0ms) CREATE TABLE "active_storage_attachments" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar NOT NULL, "record_type" varchar NOT NULL, "record_id" bigint NOT NULL, "blob_id" bigint NOT NULL, "created_at" datetime(6) NOT NULL, CONSTRAINT "fk_rails_c3b3935057"
23
+ FOREIGN KEY ("blob_id")
24
+ REFERENCES "active_storage_blobs" ("id")
25
+ )
26
+  (0.0ms) CREATE INDEX "index_active_storage_attachments_on_blob_id" ON "active_storage_attachments" ("blob_id")
27
+  (0.0ms) CREATE UNIQUE INDEX "index_active_storage_attachments_uniqueness" ON "active_storage_attachments" ("record_type", "record_id", "name", "blob_id")
28
+ SQL (0.0ms) INSERT INTO "active_storage_attachments" ("id","name","record_type","record_id","blob_id","created_at")
29
+ SELECT "id","name","record_type","record_id","blob_id","created_at" FROM "aactive_storage_attachments"
30
+  (0.0ms) DROP TABLE "aactive_storage_attachments"
31
+  (0.0ms) PRAGMA defer_foreign_keys = 0
32
+  (0.0ms) PRAGMA foreign_keys = 1
33
+ TRANSACTION (0.0ms) COMMIT TRANSACTION
34
+ TRANSACTION (0.0ms) BEGIN immediate TRANSACTION
35
+ SQL (0.0ms) PRAGMA foreign_keys
36
+ SQL (0.0ms) PRAGMA defer_foreign_keys
37
+  (0.0ms) PRAGMA defer_foreign_keys = ON
38
+  (0.0ms) PRAGMA foreign_keys = OFF
39
+  (0.0ms) CREATE TEMPORARY TABLE "aactive_storage_variant_records" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "blob_id" bigint NOT NULL, "variation_digest" varchar NOT NULL)
40
+  (0.0ms) CREATE UNIQUE INDEX "tindex_aactive_storage_variant_records_uniqueness" ON "aactive_storage_variant_records" ("blob_id", "variation_digest")
41
+ SQL (0.0ms) INSERT INTO "aactive_storage_variant_records" ("id","blob_id","variation_digest")
42
+ SELECT "id","blob_id","variation_digest" FROM "active_storage_variant_records"
43
+  (0.0ms) DROP TABLE "active_storage_variant_records"
44
+  (0.0ms) CREATE TABLE "active_storage_variant_records" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "blob_id" bigint NOT NULL, "variation_digest" varchar NOT NULL, CONSTRAINT "fk_rails_993965df05"
45
+ FOREIGN KEY ("blob_id")
46
+ REFERENCES "active_storage_blobs" ("id")
47
+ )
48
+  (0.0ms) CREATE UNIQUE INDEX "index_active_storage_variant_records_uniqueness" ON "active_storage_variant_records" ("blob_id", "variation_digest")
49
+ SQL (0.0ms) INSERT INTO "active_storage_variant_records" ("id","blob_id","variation_digest")
50
+ SELECT "id","blob_id","variation_digest" FROM "aactive_storage_variant_records"
51
+  (0.0ms) DROP TABLE "aactive_storage_variant_records"
52
+  (0.0ms) PRAGMA defer_foreign_keys = 0
53
+  (0.0ms) PRAGMA foreign_keys = 1
54
+ TRANSACTION (0.0ms) COMMIT TRANSACTION
55
+  (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar NOT NULL PRIMARY KEY)
56
+ ActiveRecord::SchemaMigration Load (0.0ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
57
+  (0.0ms) INSERT INTO "schema_migrations" (version) VALUES (20250304023853)
58
+  (0.0ms) INSERT INTO "schema_migrations" (version) VALUES
59
+ (20250304023851);
60
+  (0.1ms) CREATE TABLE "ar_internal_metadata" ("key" varchar NOT NULL PRIMARY KEY, "value" varchar, "created_at" datetime(6) NOT NULL, "updated_at" datetime(6) NOT NULL)
61
+ ActiveRecord::InternalMetadata Load (0.0ms) SELECT * FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = ? ORDER BY "ar_internal_metadata"."key" ASC LIMIT 1 [[nil, "environment"]]
62
+ ActiveRecord::InternalMetadata Create (0.0ms) INSERT INTO "ar_internal_metadata" ("key", "value", "created_at", "updated_at") VALUES ('environment', 'test', '2025-03-12 10:09:35.102943', '2025-03-12 10:09:35.102944') RETURNING "key"
63
+ ActiveRecord::InternalMetadata Load (0.0ms) SELECT * FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = ? ORDER BY "ar_internal_metadata"."key" ASC LIMIT 1 [[nil, "environment"]]
64
+ ActiveRecord::InternalMetadata Load (0.0ms) SELECT * FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = ? ORDER BY "ar_internal_metadata"."key" ASC LIMIT 1 [[nil, "schema_sha1"]]
65
+ ActiveRecord::InternalMetadata Create (0.0ms) INSERT INTO "ar_internal_metadata" ("key", "value", "created_at", "updated_at") VALUES ('schema_sha1', 'fa0ae80582e80e839b77a5431b546eee5a7c0817', '2025-03-12 10:09:35.103280', '2025-03-12 10:09:35.103280') RETURNING "key"
66
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
67
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
68
+ ---------------------------------------------------------------------------------------------------------
69
+ ActiveStorageEncryption::EncryptedMirrorServiceTest: test_get_without_headers_succeeds_if_service_permits
70
+ ---------------------------------------------------------------------------------------------------------
71
+  EncryptedDisk Storage (1.2ms) Uploaded file to key: key-1
72
+ [ActiveJob] Enqueued ActiveStorageEncryption::EncryptedMirrorService::MirrorJobWithEncryption (Job ID: 0109bf05-6673-4be6-b3bd-8e7c6786ba05) to Test(default) with arguments: "key-1", {:checksum=>nil, :service_name=>"EncryptedMirror", :encryption_key_token=>"lAQLHuSiAt9iOb74VCiIu0_uj7-249HTTJWJKSvasCrrsYVji8S0uhxObr57_Px4MU07uv9DQqllszK8ePM07djuJ4dE2Ha4fAYUVn7ra7fmILriPvR0e6cE2EDNQlhxrGIRqQrbPD-QLzgirzBAffpQWNcO5p5qtV_m6z4AHtR8F3jnEEDZlPc35zksiZEc7xnB-Q--Uo7k4ddfDFtd93FC--JVYuMosNVtEg7J2dA1FT_g"}
73
+  EncryptedDisk Storage (17.4ms) Generated URL for file at key: key-1 (https://www.example.com/active-storage-encryption/blob/hYHDZ2Ytz4qXp4mjHAwwHRu0h9tJhD-RQg9DeRpQSP8YRk-g7qH7EvV83Pioztk815eVuDrepbH4StEgJHJWB7ExK9Q_LmOqxIZkjuH_0A-gh34p3humlJdvtTfZnupP4TwAxyvwHvqloUoW3nuHpw7uiJAwoQLHD2ApHcRBJnprJfEGgfH6masVf2R1yZgaEoxIsXTJObmUuBobgFXDpWuj2XKAfLshYAWkwbmKgWSUwIQlex3yb7tlTLAIS8BjaiimAMZ5WsQF1Cae1nkKl1tMl81JVw9u72-eYpQHhRgxmvltWTna4kZsaweh-4RRlLiT3ExXHDQo-jo0_FPDKHO14K0MhlIRXXApHNtCeTFt6TKUaA8x_8j5PGdC7HkJFwq_A4DDADtQeYpmFDOPEXL8UfTfEIkenwxiYtwxmcaM3QA7wK5UK4McklhPphzlxS1yKkCUyoB6rethaLekTVVD9MNHM066GvUHa7cnMpNvtEPsUdsbeoZjp_HawGJA7nhhHJpXgvzjMK1qoQqiSRiSkw--29FKZ_P_9PkspJ_H--7Lw7RT1BB2WlnDhnbrYm1Q/temp.bin)
74
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
75
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
76
+ -------------------------------------------------------------------------------------------------------
77
+ ActiveStorageEncryption::EncryptedMirrorServiceTest: test_uploads_to_primary_and_mirrors_to_secondaries
78
+ -------------------------------------------------------------------------------------------------------
79
+  EncryptedDisk Storage (1.8ms) Uploaded file to key: key-1
80
+ [ActiveJob] Enqueued ActiveStorageEncryption::EncryptedMirrorService::MirrorJobWithEncryption (Job ID: feb630f4-bcfa-4422-a671-3a0d2c096e8f) to Test(default) with arguments: "key-1", {:checksum=>nil, :service_name=>"EncryptedMirror", :encryption_key_token=>"QWkNyoWIt9Zig9abL9aSFdzHqmI3yAMdZI9BsHR7kqW_p_3ZpLVXbRr9mEkcBx17tExRbiCP0Zna0p641g6qQCk_wopkNMQsHHJGnktwXyXudAT2D3_HEgnmsL5PCvL-k5nAeBYXBO1CMpcu4wo4mEnKaeHOK9ufKZtGyoIjdKAh6qyldjdBsahb_SINAbG05khXKA--FgLwz6wVtXfGsPq3--D5J0hUT5IdiGG6qpyK4auA"}
81
+  Disk Storage (0.0ms) Checked if file exists at key: key-1 (no)
82
+ [ActiveJob] [ActiveStorageEncryption::EncryptedMirrorService::MirrorJobWithEncryption] [feb630f4-bcfa-4422-a671-3a0d2c096e8f] Performing ActiveStorageEncryption::EncryptedMirrorService::MirrorJobWithEncryption (Job ID: feb630f4-bcfa-4422-a671-3a0d2c096e8f) from Test(default) enqueued at 2025-03-12T10:09:35.223693000Z with arguments: "key-1", {:checksum=>nil, :service_name=>"EncryptedMirror", :encryption_key_token=>"QWkNyoWIt9Zig9abL9aSFdzHqmI3yAMdZI9BsHR7kqW_p_3ZpLVXbRr9mEkcBx17tExRbiCP0Zna0p641g6qQCk_wopkNMQsHHJGnktwXyXudAT2D3_HEgnmsL5PCvL-k5nAeBYXBO1CMpcu4wo4mEnKaeHOK9ufKZtGyoIjdKAh6qyldjdBsahb_SINAbG05khXKA--FgLwz6wVtXfGsPq3--D5J0hUT5IdiGG6qpyK4auA"}
83
+ [ActiveJob] [ActiveStorageEncryption::EncryptedMirrorService::MirrorJobWithEncryption] [feb630f4-bcfa-4422-a671-3a0d2c096e8f]  Disk Storage (0.0ms) Checked if file exists at key: key-1 (no)
84
+ [ActiveJob] [ActiveStorageEncryption::EncryptedMirrorService::MirrorJobWithEncryption] [feb630f4-bcfa-4422-a671-3a0d2c096e8f]  EncryptedDisk Storage (0.3ms) Downloaded file from key: key-1
85
+ [ActiveJob] [ActiveStorageEncryption::EncryptedMirrorService::MirrorJobWithEncryption] [feb630f4-bcfa-4422-a671-3a0d2c096e8f]  Disk Storage (0.3ms) Uploaded file to key: key-1
86
+ [ActiveJob] [ActiveStorageEncryption::EncryptedMirrorService::MirrorJobWithEncryption] [feb630f4-bcfa-4422-a671-3a0d2c096e8f]  EncryptedDisk Storage (0.3ms) Uploaded file to key: key-1
87
+ [ActiveJob] [ActiveStorageEncryption::EncryptedMirrorService::MirrorJobWithEncryption] [feb630f4-bcfa-4422-a671-3a0d2c096e8f]  EncryptedMirror Storage (1.2ms) Mirrored file at key: key-1
88
+ [ActiveJob] [ActiveStorageEncryption::EncryptedMirrorService::MirrorJobWithEncryption] [feb630f4-bcfa-4422-a671-3a0d2c096e8f] Performed ActiveStorageEncryption::EncryptedMirrorService::MirrorJobWithEncryption (Job ID: feb630f4-bcfa-4422-a671-3a0d2c096e8f) from Test(default) in 14.7ms
89
+  Disk Storage (0.0ms) Checked if file exists at key: key-1 (yes)
90
+  Disk Storage (0.0ms) Downloaded file from key: key-1
91
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: key-1
92
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: key-1
93
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
94
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
95
+ ------------------------------------------------------------------------------------------------
96
+ ActiveStorageEncryption::EncryptedMirrorServiceTest: test_upload_then_download_using_correct_key
97
+ ------------------------------------------------------------------------------------------------
98
+  EncryptedDisk Storage (0.3ms) Uploaded file to key: key-1
99
+ [ActiveJob] Enqueued ActiveStorageEncryption::EncryptedMirrorService::MirrorJobWithEncryption (Job ID: 01a90694-b6d3-4a2b-aead-eb7b42ee9260) to Test(default) with arguments: "key-1", {:checksum=>nil, :service_name=>"EncryptedMirror", :encryption_key_token=>"LYB4JjvbJHJFcc-3xPZoj9GWXmVtZLlvT5TQCtIMz8qNMr2VlNclbgF51CMBFiA-utV7DpMFhUc0t4KE-nIWiK2QjjP8uNYQit_Cu-6BUXqPkeuPybRKToZW368BaTPfLBp2Rt-UBaRas2OzKo0kf6ymWN2aQxgWqaCiu0Jf-sPdNafH1KqV19hWTfouaAjX-FtMFw--upbWZrZWw6S7arr0--puF28HgSZiGlSqXNB4r5mQ"}
100
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: key-1
101
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
102
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
103
+ -----------------------------------------------------------------------------------
104
+ ActiveStorageEncryption::EncryptedMirrorServiceTest: test_headers_for_direct_upload
105
+ -----------------------------------------------------------------------------------
106
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
107
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
108
+ -------------------------------------------------------------------------------------------------
109
+ ActiveStorageEncryption::EncryptedMirrorServiceTest: test_generates_direct_upload_url_for_primary
110
+ -------------------------------------------------------------------------------------------------
111
+  EncryptedDisk Storage (0.2ms) Generated URL for file at key: key-1 (https://www.example.com/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJrZXktMSIsImNvbnRlbnRfdHlwZSI6ImJpbmFyeS9vY3RldC1zdHJlYW0iLCJjb250ZW50X2xlbmd0aCI6MTc0MjEsImVuY3J5cHRpb25fa2V5X3NoYTI1NiI6IlQ3MUtXMy9wZnRLUmh2dWczTkkrV1k0ZldhSGdNUzRrc1NjdlY4NUJHT1E9IiwiY2hlY2tzdW0iOiJxdFA1UXBSRHNMTXQ2NlZsUEszRWRRPT0iLCJzZXJ2aWNlX25hbWUiOm51bGx9LCJleHAiOiIyMDI1LTAzLTEyVDEwOjEwOjM1LjI1NVoiLCJwdXIiOiJlbmNyeXB0ZWRfcHV0In19--d0da935f82a9caf108a88924e775717d227885ab)
112
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
113
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
114
+ --------------------------------------------------------------------------------------------
115
+ ActiveStorageEncryption::EncryptedMirrorServiceTest: test_does_not_accept_private_url_policy
116
+ --------------------------------------------------------------------------------------------
117
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
118
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
119
+ ------------------------------------------------------------------------------
120
+ ActiveStorageEncryption::EncryptedMirrorServiceTest: test_upload_with_checksum
121
+ ------------------------------------------------------------------------------
122
+  EncryptedDisk Storage (0.1ms) Deleted file from key: key-1
123
+  EncryptedDisk Storage (0.6ms) Uploaded file to key: key-1 (checksum: n4/fpUeO0sSI6s7+jd9JCQ==)
124
+  EncryptedDisk Storage (0.3ms) Uploaded file to key: key-1 (checksum: xodE5j4NKNra2IpnkRBmpQ==)
125
+ [ActiveJob] Enqueued ActiveStorageEncryption::EncryptedMirrorService::MirrorJobWithEncryption (Job ID: 24758907-3ec0-4f31-832b-1984b7c3ada3) to Test(default) with arguments: "key-1", {:checksum=>"xodE5j4NKNra2IpnkRBmpQ==", :service_name=>"EncryptedMirror", :encryption_key_token=>"9cGqRXTYR_-0n9OXpUT6J2-h9ykGiQpAE7V8aLavRNr5cvDRKnjCty8bWOaqeF-qeZdXjzRZf-hpRPG0IcvMhUKLQnLH_JHIMbUgvVA3jyJPLQmshhwFjGWWyMwhMmv59aCgnB0kzOqDQ61QoZsGXxqxkrwuCTkC9eQyu2tTcLXbIJFuA3KCLR1NndwcngqWSrWEGA--C7YAGaVMAUHiBYD5--lNPoNuPKtxAukxBtvXM4GA"}
126
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
127
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
128
+ -----------------------------------------------------------------------------------------------------------------
129
+ ActiveStorageEncryption::EncryptedDiskServiceTest: test_upload_via_older_encryption_scheme_still_can_be_retrieved
130
+ -----------------------------------------------------------------------------------------------------------------
131
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: 7558d614f0d178b87ef52f6e61d380d08bf76b28c35473ce8162a36dd6562dd4
132
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: 7558d614f0d178b87ef52f6e61d380d08bf76b28c35473ce8162a36dd6562dd4
133
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
134
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
135
+ ------------------------------------------------------------------------------------------------------------------------
136
+ ActiveStorageEncryption::EncryptedDiskServiceTest: test_upload_then_download_using_user_supplied_key_of_arbitrary_length
137
+ ------------------------------------------------------------------------------------------------------------------------
138
+  EncryptedDisk Storage (0.3ms) Uploaded file to key: key-1
139
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: key-1
140
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
141
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
142
+ ---------------------------------------------------------------------------------------------
143
+ ActiveStorageEncryption::EncryptedDiskServiceTest: test_upload_requires_key_of_certain_length
144
+ ---------------------------------------------------------------------------------------------
145
+  EncryptedDisk Storage (0.0ms) Uploaded file to key: key-1
146
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
147
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
148
+ --------------------------------------------------------------------------
149
+ ActiveStorageEncryption::EncryptedDiskServiceTest: test_put_via_controller
150
+ --------------------------------------------------------------------------
151
+  EncryptedDisk Storage (0.1ms) Generated URL for file at key: key-1 (https://www.example.com/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJrZXktMSIsImNvbnRlbnRfdHlwZSI6ImJpbmFyeS9vY3RldC1zdHJlYW0iLCJjb250ZW50X2xlbmd0aCI6MTc0MjEsImVuY3J5cHRpb25fa2V5X3NoYTI1NiI6IjZLTFE5UnlGWG9tNUFncnFWVFVWakkvUFl5eU9RdHpHSEdjUmhMSks0WjQ9IiwiY2hlY2tzdW0iOiJHNzdaVkJIUmRmYWdIK29QTXRDNXdRPT0iLCJzZXJ2aWNlX25hbWUiOiJhbWF6aW5nX2VuY3J5cHRpbmdfZGlza19zZXJ2aWNlIn0sImV4cCI6IjIwMjUtMDMtMTJUMTA6MTA6MzUuMjc0WiIsInB1ciI6ImVuY3J5cHRlZF9wdXQifX0=--862bd6e37c228983ca2b6444e413bf01c4cd625e)
152
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#update as HTML
153
+ Parameters: {"token"=>"eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJrZXktMSIsImNvbnRlbnRfdHlwZSI6ImJpbmFyeS9vY3RldC1zdHJlYW0iLCJjb250ZW50X2xlbmd0aCI6MTc0MjEsImVuY3J5cHRpb25fa2V5X3NoYTI1NiI6IjZLTFE5UnlGWG9tNUFncnFWVFVWakkvUFl5eU9RdHpHSEdjUmhMSks0WjQ9IiwiY2hlY2tzdW0iOiJHNzdaVkJIUmRmYWdIK29QTXRDNXdRPT0iLCJzZXJ2aWNlX25hbWUiOiJhbWF6aW5nX2VuY3J5cHRpbmdfZGlza19zZXJ2aWNlIn0sImV4cCI6IjIwMjUtMDMtMTJUMTA6MTA6MzUuMjc0WiIsInB1ciI6ImVuY3J5cHRlZF9wdXQifX0=--862bd6e37c228983ca2b6444e413bf01c4cd625e"}
154
+  EncryptedDisk Storage (0.5ms) Uploaded file to key: key-1 (checksum: G77ZVBHRdfagH+oPMtC5wQ==)
155
+ No template found for ActiveStorageEncryption::EncryptedBlobsController#update, rendering head :no_content
156
+ Completed 204 No Content in 1ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
157
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: key-1
158
+  EncryptedDisk Storage (0.2ms) Downloaded file from key: key-1
159
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
160
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
161
+ ----------------------------------------------------------------------------
162
+ ActiveStorageEncryption::EncryptedDiskServiceTest: test_upload_with_checksum
163
+ ----------------------------------------------------------------------------
164
+  EncryptedDisk Storage (0.1ms) Deleted file from key: key-1
165
+  EncryptedDisk Storage (0.6ms) Uploaded file to key: key-1 (checksum: n4/fpUeO0sSI6s7+jd9JCQ==)
166
+  EncryptedDisk Storage (0.4ms) Uploaded file to key: key-1 (checksum: 2239EZ2lHPPLbyJrxfOPJQ==)
167
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
168
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
169
+ ----------------------------------------------------------------------------------------------
170
+ ActiveStorageEncryption::EncryptedDiskServiceTest: test_upload_then_download_using_correct_key
171
+ ----------------------------------------------------------------------------------------------
172
+  EncryptedDisk Storage (0.3ms) Uploaded file to key: key-1
173
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: key-1
174
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
175
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
176
+ -------------------------------------------------------------------------------------------------------
177
+ ActiveStorageEncryption::EncryptedDiskServiceTest: test_get_without_headers_succeeds_if_service_permits
178
+ -------------------------------------------------------------------------------------------------------
179
+  EncryptedDisk Storage (0.2ms) Uploaded file to key: key-1
180
+  EncryptedDisk Storage (13.1ms) Generated URL for file at key: key-1 (https://www.example.com/active-storage-encryption/blob/F1WThQf5Aqm_iqYiessIC95gOj7AYJL1Ji6ikLzYCz2pcb_PLeuniMxqtEV1tFXG9RgG8N0LQRTBPseeW_w6F7rXcUnwnyVFTXqSvDer5YmgDQG2AfEh9XD_ogaXlxSDH2w3FSdmduG9RFSkVekyImdC6Pzo7Xj8G5tqXdJALBtA9j30k6k1gpxlUvh_UwvszDuEvGKARuahlcS0Vi83rPlytRjrr9OLEJHE4xus6XMc7Z6YpUuU9RVZLGxvYbkkgXhsyTiulLijkgipvpZXBtlSAA2mirQpjdS3Ey8Y36dU2HSQtlQGoqXTbD8cXzQhQ8hd12pHkuLzeFs45Z7JvPpmlaX_znK__Lt5Cl20pTmABag7UMRAdRDssQZwj0c8dj_o8UMqa_dcPKdnXpRYVQdA4KT-NBTjlxGqGAdGDtgG-MlIcb-mwri1uWrU2tOtaUZ25Uh0m_B1_fTmoymZdyhz4lueQe4xQr2kjjQ4Gus-59B0KL8nPzzcTYexdmwOmmUlc5LF_mp6sLS2-gJeZX3Ug_M5S4xnCwFXVuvAS753MW0v13FxhEH85zlskkzA--05YGXD8x_pXhNMo8--tpNhznNk8MSQwBEIESWppw/temp.bin)
181
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#show as HTML
182
+ Parameters: {"token"=>"F1WThQf5Aqm_iqYiessIC95gOj7AYJL1Ji6ikLzYCz2pcb_PLeuniMxqtEV1tFXG9RgG8N0LQRTBPseeW_w6F7rXcUnwnyVFTXqSvDer5YmgDQG2AfEh9XD_ogaXlxSDH2w3FSdmduG9RFSkVekyImdC6Pzo7Xj8G5tqXdJALBtA9j30k6k1gpxlUvh_UwvszDuEvGKARuahlcS0Vi83rPlytRjrr9OLEJHE4xus6XMc7Z6YpUuU9RVZLGxvYbkkgXhsyTiulLijkgipvpZXBtlSAA2mirQpjdS3Ey8Y36dU2HSQtlQGoqXTbD8cXzQhQ8hd12pHkuLzeFs45Z7JvPpmlaX_znK__Lt5Cl20pTmABag7UMRAdRDssQZwj0c8dj_o8UMqa_dcPKdnXpRYVQdA4KT-NBTjlxGqGAdGDtgG-MlIcb-mwri1uWrU2tOtaUZ25Uh0m_B1_fTmoymZdyhz4lueQe4xQr2kjjQ4Gus-59B0KL8nPzzcTYexdmwOmmUlc5LF_mp6sLS2-gJeZX3Ug_M5S4xnCwFXVuvAS753MW0v13FxhEH85zlskkzA--05YGXD8x_pXhNMo8--tpNhznNk8MSQwBEIESWppw"}
183
+  EncryptedDisk Storage (0.2ms) Downloaded file from key: key-1
184
+ Completed 200 OK in 13ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
185
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
186
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
187
+ ----------------------------------------------------------------------------------------
188
+ ActiveStorageEncryption::EncryptedDiskServiceTest: test_get_with_headers_always_succeeds
189
+ ----------------------------------------------------------------------------------------
190
+  EncryptedDisk Storage (0.2ms) Uploaded file to key: key-1
191
+  EncryptedDisk Storage (13.2ms) Generated URL for file at key: key-1 (https://www.example.com/active-storage-encryption/blob/n7iNLhNHFzr6yIpkvqUe-u2iKM6ueBioaNN0SkJFilv_Sx3RpkaKckFVcjBEwUiD0CQuqWCgMQlvpxPfk_lfC66B-zIXOD8gtsr8MvJ1kbxPy3bbTYUtTyk8G-gFzsW1ZZFP8rfgr8gRCI0ezTpa4RxrD7y22ZHSkPBaf3HtGHAQ0GNAX7DIgP63VIKeY4yhKyhedWa-9RoAq-9xINAUDYl7fUs8bE6smx2xTFGwbEM_Q4q4cqWDH2tz5NtWMaIWt2ExHw44QiO1xWHJe8SOJ_0VrrnNVqlen8BRgTcX71Me9I5wpF4PLrOJBAtwJfcCVTEgcDd4cTHTe1Ld_z-v1CEdukarspPp4QkAz01tDMgVsH6DHJZpk3ABdBQWsYpO1KFswN2zn7w_hYQ0sQv2aif_sqicdUqoG8-Uvplh-ZyKiyf-S9NWWWC76R7qqeQk_WR5HAd70Hc0IZ6qi1cEIwpcwqd2dMinohG7g35z19H46sGzCAY4hdxYYkCy9NLt4DlSMZ13B0lD8Gzly2XiFOU4Aa122U9NIy4DIfRErczuryjU2Xo1KnpznYbom2ig--GSUyyZIP533R2XEH--Ecj1OWy3fgEdY9xGElcBQA/temp.bin)
192
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#show as HTML
193
+ Parameters: {"token"=>"n7iNLhNHFzr6yIpkvqUe-u2iKM6ueBioaNN0SkJFilv_Sx3RpkaKckFVcjBEwUiD0CQuqWCgMQlvpxPfk_lfC66B-zIXOD8gtsr8MvJ1kbxPy3bbTYUtTyk8G-gFzsW1ZZFP8rfgr8gRCI0ezTpa4RxrD7y22ZHSkPBaf3HtGHAQ0GNAX7DIgP63VIKeY4yhKyhedWa-9RoAq-9xINAUDYl7fUs8bE6smx2xTFGwbEM_Q4q4cqWDH2tz5NtWMaIWt2ExHw44QiO1xWHJe8SOJ_0VrrnNVqlen8BRgTcX71Me9I5wpF4PLrOJBAtwJfcCVTEgcDd4cTHTe1Ld_z-v1CEdukarspPp4QkAz01tDMgVsH6DHJZpk3ABdBQWsYpO1KFswN2zn7w_hYQ0sQv2aif_sqicdUqoG8-Uvplh-ZyKiyf-S9NWWWC76R7qqeQk_WR5HAd70Hc0IZ6qi1cEIwpcwqd2dMinohG7g35z19H46sGzCAY4hdxYYkCy9NLt4DlSMZ13B0lD8Gzly2XiFOU4Aa122U9NIy4DIfRErczuryjU2Xo1KnpznYbom2ig--GSUyyZIP533R2XEH--Ecj1OWy3fgEdY9xGElcBQA"}
194
+  EncryptedDisk Storage (0.2ms) Downloaded file from key: key-1
195
+ Completed 200 OK in 13ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
196
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
197
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
198
+ ---------------------------------------------------------------------------------------------------
199
+ ActiveStorageEncryption::EncryptedDiskServiceTest: test_non_encrypted_service_goes_through_normally
200
+ ---------------------------------------------------------------------------------------------------
201
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
202
+ ActiveStorage::Blob Create (0.2ms) INSERT INTO "active_storage_blobs" ("key", "filename", "content_type", "metadata", "service_name", "byte_size", "checksum", "created_at", "encryption_key") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING "id" [["key", "yqsvw5a72b3fv719zq8a6yb7lv0j"], ["filename", "random.text"], ["content_type", "text/plain"], ["metadata", "{\"identified\":true}"], ["service_name", "test"], ["byte_size", 17421], ["checksum", "/JibtkdpAv5C1vdl/tJTmQ=="], ["created_at", "2025-03-12 10:09:35.364000"], ["encryption_key", "[FILTERED]"]]
203
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
204
+  Disk Storage (0.3ms) Uploaded file to key: yqsvw5a72b3fv719zq8a6yb7lv0j (checksum: /JibtkdpAv5C1vdl/tJTmQ==)
205
+  Disk Storage (0.0ms) Downloaded file from key: yqsvw5a72b3fv719zq8a6yb7lv0j
206
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
207
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
208
+ -------------------------------------------------------------------------------------------------------
209
+ ActiveStorageEncryption::EncryptedDiskServiceTest: test_upload_then_failing_download_with_incorrect_key
210
+ -------------------------------------------------------------------------------------------------------
211
+  EncryptedDisk Storage (0.3ms) Uploaded file to key: key-1
212
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: key-1
213
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: key-1
214
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
215
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
216
+ ------------------------------------------------------------------------------------------------------------
217
+ ActiveStorageEncryption::EncryptedDiskServiceTest: test_get_without_headers_fails_if_service_does_not_permit
218
+ ------------------------------------------------------------------------------------------------------------
219
+  EncryptedDisk Storage (0.3ms) Uploaded file to key: key-1
220
+  EncryptedDisk Storage (13.2ms) Generated URL for file at key: key-1 (https://www.example.com/active-storage-encryption/blob/fI9LLmriGEjj2p55dknhj78As6zZp11vgXf7-Voli-gef6H3jIDw-7OceJ-d0Vc8agnhWN_rhsUo3RkGhoaNBECfgy0orGmlnAGa8BgduyIbHoJDU8zOpa4ZYfyW0RflM7Nhb4LSUeV9bQUTFgJJP397N-y4UtdYKZLyb-JRee6zhfnBg2uLhc0Xu55kJ65M5k648otLpUyOZys-DA-7mPjFz2mB7cqJFDNUaJ-70sbXfOlLuQi-hK0Y8o_5xsf69kqy80AxJooVayV45VpaJvmQ-u-Jw7q4x5HR7Vl_-D0HqDlPcZG98AUesoSesaef5oj-ilw5g9CFwxNqJSUb0cQzan1hClW5ek5sEKgrqqlSAXTAiMA-FyeV8wh4Cri4_inj_ZSWc3oagsac4YwUCTKgec89i23rAnFDNW12sB2ImDjTH8MFXdslJlYZUCOXJhpav8j0cWVWHzcRFTGDiOCXsGzbCajNms4oVylaQ-QFMmTvsaD7hOQDORUCkrTq49SmzOQC1ea77-PRgaySLmx0kaJnDRh195wJDeKX4NGgvWg5gXDakEY0uFkhvjXc--Llux_xMTxfx3ePAT--CrBMNrd2cBLXXaUSQRlZuQ/temp.bin)
221
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#show as HTML
222
+ Parameters: {"token"=>"fI9LLmriGEjj2p55dknhj78As6zZp11vgXf7-Voli-gef6H3jIDw-7OceJ-d0Vc8agnhWN_rhsUo3RkGhoaNBECfgy0orGmlnAGa8BgduyIbHoJDU8zOpa4ZYfyW0RflM7Nhb4LSUeV9bQUTFgJJP397N-y4UtdYKZLyb-JRee6zhfnBg2uLhc0Xu55kJ65M5k648otLpUyOZys-DA-7mPjFz2mB7cqJFDNUaJ-70sbXfOlLuQi-hK0Y8o_5xsf69kqy80AxJooVayV45VpaJvmQ-u-Jw7q4x5HR7Vl_-D0HqDlPcZG98AUesoSesaef5oj-ilw5g9CFwxNqJSUb0cQzan1hClW5ek5sEKgrqqlSAXTAiMA-FyeV8wh4Cri4_inj_ZSWc3oagsac4YwUCTKgec89i23rAnFDNW12sB2ImDjTH8MFXdslJlYZUCOXJhpav8j0cWVWHzcRFTGDiOCXsGzbCajNms4oVylaQ-QFMmTvsaD7hOQDORUCkrTq49SmzOQC1ea77-PRgaySLmx0kaJnDRh195wJDeKX4NGgvWg5gXDakEY0uFkhvjXc--Llux_xMTxfx3ePAT--CrBMNrd2cBLXXaUSQRlZuQ"}
223
+ Completed 403 Forbidden in 13ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
224
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
225
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
226
+ ----------------------------------------------------------------------------------------------------------------
227
+ ActiveStorageEncryption::EncryptedDiskServiceTest: test_generating_url_fails_if_streaming_is_off_for_the_service
228
+ ----------------------------------------------------------------------------------------------------------------
229
+  EncryptedDisk Storage (0.3ms) Uploaded file to key: key-1
230
+  EncryptedDisk Storage (0.0ms) Generated URL for file at key: key-1 ()
231
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
232
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
233
+ ------------------------------------------------------------------------
234
+ ActiveStorageEncryption::EncryptedDiskServiceTest: test_composes_objects
235
+ ------------------------------------------------------------------------
236
+  EncryptedDisk Storage (0.2ms) Uploaded file to key: key-1
237
+  EncryptedDisk Storage (0.2ms) Uploaded file to key: key-2
238
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: key-3
239
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: key-3
240
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
241
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
242
+ ---------------------------------------------------------------------------------
243
+ ActiveStorageEncryption::EncryptedDiskServiceTest: test_headers_for_direct_upload
244
+ ---------------------------------------------------------------------------------
245
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
246
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
247
+ -----------------------------------------------------------------------------------
248
+ ActiveStorageEncryption::EncryptedS3ServiceTest: test_s3_upload_requiring_multipart
249
+ -----------------------------------------------------------------------------------
250
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
251
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
252
+ -----------------------------------------------------------------------------------------------
253
+ ActiveStorageEncryption::EncryptedS3ServiceTest: test_uploads_correctly_across_multiple_threads
254
+ -----------------------------------------------------------------------------------------------
255
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
256
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
257
+ --------------------------------------------------------------------------------------------------------
258
+ ActiveStorageEncryption::EncryptedS3ServiceTest: test_generates_private_urls_with_require_headers_policy
259
+ --------------------------------------------------------------------------------------------------------
260
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
261
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
262
+ --------------------------------------------------------------------------------------------------------------------
263
+ ActiveStorageEncryption::EncryptedS3ServiceTest: test_rejects_direct_upload_if_client_manipulates_the_encryption_key
264
+ --------------------------------------------------------------------------------------------------------------------
265
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
266
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
267
+ ------------------------------------------------------------
268
+ ActiveStorageEncryption::EncryptedS3ServiceTest: test_exists
269
+ ------------------------------------------------------------
270
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
271
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
272
+ ----------------------------------------------------------------------
273
+ ActiveStorageEncryption::EncryptedS3ServiceTest: test_composes_objects
274
+ ----------------------------------------------------------------------
275
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
276
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
277
+ ------------------------------------------------------------------------------------------------------------
278
+ ActiveStorageEncryption::EncryptedS3ServiceTest: test_generates_private_streaming_urls_with_streaming_policy
279
+ ------------------------------------------------------------------------------------------------------------
280
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
281
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
282
+ -------------------------------------------------------------------------------------------------
283
+ ActiveStorageEncryption::EncryptedS3ServiceTest: test_s3_config_sane_and_works_with_stock_service
284
+ -------------------------------------------------------------------------------------------------
285
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
286
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
287
+ -------------------------------------------------------------------------------
288
+ ActiveStorageEncryption::EncryptedS3ServiceTest: test_encrypted_question_method
289
+ -------------------------------------------------------------------------------
290
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
291
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
292
+ -----------------------------------------------------------------------
293
+ ActiveStorageEncryption::EncryptedS3ServiceTest: test_basic_s3_readback
294
+ -----------------------------------------------------------------------
295
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
296
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
297
+ ------------------------------------------------------------------------------------------------------
298
+ ActiveStorageEncryption::EncryptedS3ServiceTest: test_accepts_direct_upload_with_signature_and_headers
299
+ ------------------------------------------------------------------------------------------------------
300
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
301
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
302
+ -----------------------------------------------------------------------------------------------
303
+ ActiveStorageEncryption::EncryptedS3ServiceTest: test_forbids_private_urls_with_disabled_policy
304
+ -----------------------------------------------------------------------------------------------
305
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
306
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
307
+ ------------------------------------------------------------------------------------------------------------------------
308
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_show()_refuses_a_request_which_goes_to_a_non-encrypted_Service
309
+ ------------------------------------------------------------------------------------------------------------------------
310
+  EncryptedDisk Storage (0.2ms) Uploaded file to key: sz3g5j5eq54y
311
+  EncryptedDisk Storage (13.3ms) Generated URL for file at key: sz3g5j5eq54y (https://www.example.com/active-storage-encryption/blob/cRJcoyf9frjC_uK75b1w_haW2R96stkUB8aEaTUaM7qKQSZTcJzRVUic4Yi_yiU4e7SVX9aVAYd7ebPO4xEtgCLKeknrFpw8DT041vJdasvbaJ6kiEKT8w2G258ki989XSd3mH0bnw5jYh67ytT93QbD3MOWDZRfxpDIenHypyiAaG_cXgV1p9WlbS5JqQEHRS4JjbrUPN5xtRv-gC2h2VIJpIvpPsHZVzlNXL3cCE44mkW3HRxyvoZFsxYdNR4Ucb8snfwWSS3_Hwd0P7t9dmI5Nidyd9WDohAprnXNEK10RyO7XDIxcz-qYbZVFvpHmhGNYNtBcTuglPPOWhM6U63wr0hBjs8rT1cRkTG7BBlUq4ywh5jZHL8oPhuL01_f2NlnUhALjI0jxZf31FMp9KzwdHhZvGyb45tkXT_nd-Gob-c3DqisLr4FUlJllaSGeBI0K98dc04tYjZnGqN2--DSsXLjadu4h_SRgIi6B727sFFcfUej5OqUXYFfrIGlBwc7A3kHhXAIIOCk--gEODOcbGRXEnOxmR--X3GrFaXu6Q8rpQM6XPshbw/private.doc)
312
+ Started GET "/active-storage-encryption/blob/cRJcoyf9frjC_uK75b1w_haW2R96stkUB8aEaTUaM7qKQSZTcJzRVUic4Yi_yiU4e7SVX9aVAYd7ebPO4xEtgCLKeknrFpw8DT041vJdasvbaJ6kiEKT8w2G258ki989XSd3mH0bnw5jYh67ytT93QbD3MOWDZRfxpDIenHypyiAaG_cXgV1p9WlbS5JqQEHRS4JjbrUPN5xtRv-gC2h2VIJpIvpPsHZVzlNXL3cCE44mkW3HRxyvoZFsxYdNR4Ucb8snfwWSS3_Hwd0P7t9dmI5Nidyd9WDohAprnXNEK10RyO7XDIxcz-qYbZVFvpHmhGNYNtBcTuglPPOWhM6U63wr0hBjs8rT1cRkTG7BBlUq4ywh5jZHL8oPhuL01_f2NlnUhALjI0jxZf31FMp9KzwdHhZvGyb45tkXT_nd-Gob-c3DqisLr4FUlJllaSGeBI0K98dc04tYjZnGqN2--DSsXLjadu4h_SRgIi6B727sFFcfUej5OqUXYFfrIGlBwc7A3kHhXAIIOCk--gEODOcbGRXEnOxmR--X3GrFaXu6Q8rpQM6XPshbw/private.doc" for 127.0.0.1 at 2025-03-12 10:09:35 +0000
313
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#show as */*
314
+ Parameters: {"token"=>"[FILTERED]", "filename"=>"private"}
315
+ Completed 403 Forbidden in 13ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
316
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
317
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
318
+ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
319
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_create_direct_upload_creates_a_blob_and_returns_the_headers_and_the_URL_to_start_the_upload,_which_are_for_the_correct_service_name
320
+ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
321
+ Started POST "/active-storage-encryption/blob/direct-uploads" for 127.0.0.1 at 2025-03-12 10:09:35 +0000
322
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#create_direct_upload as HTML
323
+ Parameters: {"service_name"=>"amazing_encrypting_disk_service", "blob"=>{"content_type"=>"x-binary/sensitive", "filename"=>"biometrics.sec", "checksum"=>"KbFoJXR/V5e/3rZ4Ilo/jg==", "service_name"=>"amazing_encrypting_disk_service", "byte_size"=>"512", "metadata"=>{"womp"=>"1"}}}
324
+ Unpermitted parameter: :service_name. Context: { controller: ActiveStorageEncryption::EncryptedBlobsController, action: create_direct_upload, request: #<ActionDispatch::Request:0x0000000104d56100>, params: {"service_name"=>"amazing_encrypting_disk_service", "blob"=>{"content_type"=>"x-binary/sensitive", "filename"=>"biometrics.sec", "checksum"=>"KbFoJXR/V5e/3rZ4Ilo/jg==", "service_name"=>"amazing_encrypting_disk_service", "byte_size"=>"512", "metadata"=>{"womp"=>"1"}}, "controller"=>"active_storage_encryption/encrypted_blobs", "action"=>"create_direct_upload"} }
325
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
326
+ ActiveStorage::Blob Create (0.2ms) INSERT INTO "active_storage_blobs" ("key", "filename", "content_type", "metadata", "service_name", "byte_size", "checksum", "created_at", "encryption_key") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING "id" [["key", "zhie7e71enno1we8jvfknt7wm4p5"], ["filename", "biometrics.sec"], ["content_type", "x-binary/sensitive"], ["metadata", "{\"womp\":\"1\"}"], ["service_name", "amazing_encrypting_disk_service"], ["byte_size", 512], ["checksum", "KbFoJXR/V5e/3rZ4Ilo/jg=="], ["created_at", "2025-03-12 10:09:35"], ["encryption_key", "[FILTERED]"]]
327
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
328
+  EncryptedDisk Storage (0.3ms) Generated URL for file at key: zhie7e71enno1we8jvfknt7wm4p5 (http://www.example.com/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJ6aGllN2U3MWVubm8xd2U4anZma250N3dtNHA1IiwiY29udGVudF90eXBlIjoieC1iaW5hcnkvc2Vuc2l0aXZlIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2IjoiTVhiL2JMM1FJdVZ0Q3FYTHl1UTVDT2F3UWJDTlVjQVRhWmlvODVxcW5pUT0iLCJjaGVja3N1bSI6IktiRm9KWFIvVjVlLzNyWjRJbG8vamc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDoxNDozNS4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--373dd5d048687d19d6168861ea8fe51664d9de26)
329
+ Completed 200 OK in 17ms (Views: 0.1ms | ActiveRecord: 0.2ms (1 query, 0 cached) | GC: 0.4ms)
330
+ ActiveStorage::Blob Load (0.1ms) SELECT "active_storage_blobs".* FROM "active_storage_blobs" WHERE "active_storage_blobs"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
331
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
332
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
333
+ ----------------------------------------------------------------------------------------------------------------
334
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_show()_refuses_a_request_with_a_token_that_has_expired
335
+ ----------------------------------------------------------------------------------------------------------------
336
+  EncryptedDisk Storage (0.3ms) Uploaded file to key: s0nmt6lky7rl
337
+  EncryptedDisk Storage (13.1ms) Generated URL for file at key: s0nmt6lky7rl (https://www.example.com/active-storage-encryption/blob/2b8c_LqGd4No5IG4wDqcLeQAup_5dExIh3r4n1SrG9RMNV-okSM-7SSwivQt5f4S4hV03c4fEcFZ9Xo84IV_4ZGAbXJlufWMkromB6h0E_g_ejd_uwCgK4V0LPPI8U5W18u8XwwK7CVcsEvOHJDNcXYAtNIeecHmsi7SSzOSDvKbCMm4itCEyFjsOkkGNO4o3bEAdRyiy6n-iMYYCreb3RStrSNsiVDBFWIjtuanFToae91Pn5C5kRGSGkuo3hdZEFx8KeL8tXwDcU1ldmbFlmtxLV5leET-7ph0fBhPol4_2QtxkC4iliWv9IsgiidhUtWOrKuce4wAnbTF980qKj8A1EG8vJMbMCbYrEi7NtRrbbkwVHvSGRVFp6TP7GwsZwf93dQ9xFCkuc1tBrk-8x0uqepKLCm6Eqc5Jt5DsnhgkOFchYxxyhyTvyffXCiz5DYiH5igBoFnyMJZp6SPWfvh94HHdtLWn3Gq2-sX0DuaVAdO5sPMbcQ6dpHaETRZ_OFT68p7KEqy4JLdHg--K2c4cKR2kyuFNWBn--S-roYpTgtUwGI3dsNIionA/private.doc)
338
+ Started GET "/active-storage-encryption/blob/2b8c_LqGd4No5IG4wDqcLeQAup_5dExIh3r4n1SrG9RMNV-okSM-7SSwivQt5f4S4hV03c4fEcFZ9Xo84IV_4ZGAbXJlufWMkromB6h0E_g_ejd_uwCgK4V0LPPI8U5W18u8XwwK7CVcsEvOHJDNcXYAtNIeecHmsi7SSzOSDvKbCMm4itCEyFjsOkkGNO4o3bEAdRyiy6n-iMYYCreb3RStrSNsiVDBFWIjtuanFToae91Pn5C5kRGSGkuo3hdZEFx8KeL8tXwDcU1ldmbFlmtxLV5leET-7ph0fBhPol4_2QtxkC4iliWv9IsgiidhUtWOrKuce4wAnbTF980qKj8A1EG8vJMbMCbYrEi7NtRrbbkwVHvSGRVFp6TP7GwsZwf93dQ9xFCkuc1tBrk-8x0uqepKLCm6Eqc5Jt5DsnhgkOFchYxxyhyTvyffXCiz5DYiH5igBoFnyMJZp6SPWfvh94HHdtLWn3Gq2-sX0DuaVAdO5sPMbcQ6dpHaETRZ_OFT68p7KEqy4JLdHg--K2c4cKR2kyuFNWBn--S-roYpTgtUwGI3dsNIionA/private.doc" for 127.0.0.1 at 2025-03-12 10:09:40 +0000
339
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#show as */*
340
+ Parameters: {"token"=>"[FILTERED]", "filename"=>"private"}
341
+ Completed 403 Forbidden in 13ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
342
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
343
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
344
+ ------------------------------------------------------------------------------------------------------------------------
345
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_show()_refuses_a_request_which_has_an_incorrect_encryption_key
346
+ ------------------------------------------------------------------------------------------------------------------------
347
+  EncryptedDisk Storage (0.3ms) Uploaded file to key: 0qrnqyt6ilqe
348
+  EncryptedDisk Storage (13.0ms) Generated URL for file at key: 0qrnqyt6ilqe (https://www.example.com/active-storage-encryption/blob/SPUWVkjfr3LDJmjCm0EvY8YEZ5lc-3vz3OouiiT6OUhcd1y0slFr5HG4yvpOdIfIJZnG8biuMuI89klv1bkowXycGD9-73j2VrIQMdnIMjdIFRs57BTj62kjv3-a6KtAeCgnJ0Hw_WHArlqadbdzNBiTm_40v5R4b5YesJCxLoSTBMdPWYBZcK2PS96tIyiohuj3IuNuJgUDliITff3l9a6o8rzPaaLa1TJnovpe5rnD2a3b1iSZz7Edt1fc-I3Yq648ZdWfPudI7kmaV8PAlds6rYdRf3U5GDQHKAImqiIZV9DHYveVcJe2LTf_xkcOVw0x45BNi_Yy9RhXiWVrC69TNivV9mifUC2CV85qCPrM5QrhbB7t5xmI1ASZgHayyaKSJPC_3ABjDAuT2xW6p0N49URSdOQ9RR4Foat5SPrGGVi5KxFPlboOQaKw79Zs5eLtTaUNcsPCJ0jf0KqpXLo7_Vk_G_5fxUaKrdWPZVGgmyD0oI81H3S4s8yJi26AcWV10CBbqefHiTKC--5skP2P6CoYcycqI8--bI4UB0gALIlFletJm2DLDA/private.doc)
349
+ Started GET "/active-storage-encryption/blob/SPUWVkjfr3LDJmjCm0EvY8YEZ5lc-3vz3OouiiT6OUhcd1y0slFr5HG4yvpOdIfIJZnG8biuMuI89klv1bkowXycGD9-73j2VrIQMdnIMjdIFRs57BTj62kjv3-a6KtAeCgnJ0Hw_WHArlqadbdzNBiTm_40v5R4b5YesJCxLoSTBMdPWYBZcK2PS96tIyiohuj3IuNuJgUDliITff3l9a6o8rzPaaLa1TJnovpe5rnD2a3b1iSZz7Edt1fc-I3Yq648ZdWfPudI7kmaV8PAlds6rYdRf3U5GDQHKAImqiIZV9DHYveVcJe2LTf_xkcOVw0x45BNi_Yy9RhXiWVrC69TNivV9mifUC2CV85qCPrM5QrhbB7t5xmI1ASZgHayyaKSJPC_3ABjDAuT2xW6p0N49URSdOQ9RR4Foat5SPrGGVi5KxFPlboOQaKw79Zs5eLtTaUNcsPCJ0jf0KqpXLo7_Vk_G_5fxUaKrdWPZVGgmyD0oI81H3S4s8yJi26AcWV10CBbqefHiTKC--5skP2P6CoYcycqI8--bI4UB0gALIlFletJm2DLDA/private.doc" for 127.0.0.1 at 2025-03-12 10:09:35 +0000
350
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#show as */*
351
+ Parameters: {"token"=>"[FILTERED]", "filename"=>"private"}
352
+  EncryptedDisk Storage (0.2ms) Downloaded file from key: 0qrnqyt6ilqe
353
+ Completed 403 Forbidden in 13ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
354
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
355
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
356
+ ----------------------------------------------------------------------------------------------------------------------------------
357
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_update()_refuses_to_upload_if_no_encryption_key_is_present_in_the_header
358
+ ----------------------------------------------------------------------------------------------------------------------------------
359
+  EncryptedDisk Storage (0.1ms) Generated URL for file at key: fb57a046fb3c5748fd5c9f17 (https://www.example.com/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJmYjU3YTA0NmZiM2M1NzQ4ZmQ1YzlmMTciLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2IjoibHJXNUJMMnJMbllqMmQybkNkWUlYZUI5ejBtV3djR21IUXdaY0NaKzVOST0iLCJjaGVja3N1bSI6IktiRm9KWFIvVjVlLzNyWjRJbG8vamc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDowOTo0MC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--ce7f4b17872a0580ed2d4c360a149ca7240189e2)
360
+ Started PUT "/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJmYjU3YTA0NmZiM2M1NzQ4ZmQ1YzlmMTciLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2IjoibHJXNUJMMnJMbllqMmQybkNkWUlYZUI5ejBtV3djR21IUXdaY0NaKzVOST0iLCJjaGVja3N1bSI6IktiRm9KWFIvVjVlLzNyWjRJbG8vamc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDowOTo0MC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--ce7f4b17872a0580ed2d4c360a149ca7240189e2" for 127.0.0.1 at 2025-03-12 10:09:35 +0000
361
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#update as HTML
362
+ Parameters: {"token"=>"[FILTERED]"}
363
+ Completed 422 Unprocessable Content in 0ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
364
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
365
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
366
+ --------------------------------------------------------------------------------------------------------------------------------------
367
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_update()_uploads_the_blob_binary_data_to_an_encrypted_Service_using_HTTP_PUT
368
+ --------------------------------------------------------------------------------------------------------------------------------------
369
+  EncryptedDisk Storage (0.1ms) Generated URL for file at key: fb57a046fb3c5748fd5c9f17 (https://www.example.com/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJmYjU3YTA0NmZiM2M1NzQ4ZmQ1YzlmMTciLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2IjoibHJXNUJMMnJMbllqMmQybkNkWUlYZUI5ejBtV3djR21IUXdaY0NaKzVOST0iLCJjaGVja3N1bSI6IktiRm9KWFIvVjVlLzNyWjRJbG8vamc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDowOTo0MC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--ce7f4b17872a0580ed2d4c360a149ca7240189e2)
370
+ Started PUT "/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJmYjU3YTA0NmZiM2M1NzQ4ZmQ1YzlmMTciLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2IjoibHJXNUJMMnJMbllqMmQybkNkWUlYZUI5ejBtV3djR21IUXdaY0NaKzVOST0iLCJjaGVja3N1bSI6IktiRm9KWFIvVjVlLzNyWjRJbG8vamc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDowOTo0MC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--ce7f4b17872a0580ed2d4c360a149ca7240189e2" for 127.0.0.1 at 2025-03-12 10:09:35 +0000
371
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#update as HTML
372
+ Parameters: {"token"=>"[FILTERED]"}
373
+  EncryptedDisk Storage (0.4ms) Uploaded file to key: fb57a046fb3c5748fd5c9f17 (checksum: KbFoJXR/V5e/3rZ4Ilo/jg==)
374
+ No template found for ActiveStorageEncryption::EncryptedBlobsController#update, rendering head :no_content
375
+ Completed 204 No Content in 1ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
376
+  EncryptedDisk Storage (0.2ms) Downloaded file from key: fb57a046fb3c5748fd5c9f17
377
+  EncryptedDisk Storage (0.2ms) Downloaded file from key: fb57a046fb3c5748fd5c9f17
378
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
379
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
380
+ ------------------------------------------------------------------------------------------------
381
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_show()_returns_the_decrypted_blob_body
382
+ ------------------------------------------------------------------------------------------------
383
+  EncryptedDisk Storage (0.2ms) Uploaded file to key: q2pgsiwgiwdl
384
+  EncryptedDisk Storage (13.2ms) Generated URL for file at key: q2pgsiwgiwdl (https://www.example.com/active-storage-encryption/blob/UfCf5l56r_Rrz7iax_3oUd1EWj6gd9kywNBeHwmYIBx3Zb9tfIOuUuWFa4HPeHhFCoTgluuDVr4re42NJW2lkIWPhZvG1nV7tHHhOTgnRNDletPqPepo2b4d_DHtRDEl_zuO4wjVRSbmb5eZbPMfO7xLXRb2YUfLyqglqcxqR5LpxqSZRqNnyJfozR8EWe9nDwl4of1xZqt1qElSvslg48ogVf8VOWd_IYlNK3BB0gqpsURrebZhlxQIp7V4pX-YE9-2fhohx2slvWe8FDCSBFb7KHHnkhPrM0CNtfonOjDPFDsJQzrY22PSM1Ixui7BvwKFVuvzch01HrPbWObS9w-0c_mqmp7SIQZfi9jOPko4rQW4gZEYyDYCs3rEMPckPtwKf18WgTfI0xOYzjZoDQHybQC7GSB7FUH7eUP3sBcZWQFNti5-zAzIYvvcFsxfr_ELV0LGp-Iq6H4rsj5vGybWkHeImkenEjVf_6iIpb7RJZJvfM2mB755LWLra-pv6wwGiSDzy5E_8uso--12Ej9l4FvMt-eVR8--sAn_luFAw7wdOUHYpWcPZA/private.doc)
385
+ Started GET "/active-storage-encryption/blob/UfCf5l56r_Rrz7iax_3oUd1EWj6gd9kywNBeHwmYIBx3Zb9tfIOuUuWFa4HPeHhFCoTgluuDVr4re42NJW2lkIWPhZvG1nV7tHHhOTgnRNDletPqPepo2b4d_DHtRDEl_zuO4wjVRSbmb5eZbPMfO7xLXRb2YUfLyqglqcxqR5LpxqSZRqNnyJfozR8EWe9nDwl4of1xZqt1qElSvslg48ogVf8VOWd_IYlNK3BB0gqpsURrebZhlxQIp7V4pX-YE9-2fhohx2slvWe8FDCSBFb7KHHnkhPrM0CNtfonOjDPFDsJQzrY22PSM1Ixui7BvwKFVuvzch01HrPbWObS9w-0c_mqmp7SIQZfi9jOPko4rQW4gZEYyDYCs3rEMPckPtwKf18WgTfI0xOYzjZoDQHybQC7GSB7FUH7eUP3sBcZWQFNti5-zAzIYvvcFsxfr_ELV0LGp-Iq6H4rsj5vGybWkHeImkenEjVf_6iIpb7RJZJvfM2mB755LWLra-pv6wwGiSDzy5E_8uso--12Ej9l4FvMt-eVR8--sAn_luFAw7wdOUHYpWcPZA/private.doc" for 127.0.0.1 at 2025-03-12 10:09:35 +0000
386
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#show as */*
387
+ Parameters: {"token"=>"[FILTERED]", "filename"=>"private"}
388
+  EncryptedDisk Storage (0.2ms) Downloaded file from key: q2pgsiwgiwdl
389
+ Completed 200 OK in 13ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
390
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
391
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
392
+ --------------------------------------------------------------------------------------------------------------------------------------------------------------
393
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_update()_refuses_to_upload_if_plaintext_is_different_to_the_one_the_checksum_has_been_calculated_for
394
+ --------------------------------------------------------------------------------------------------------------------------------------------------------------
395
+  EncryptedDisk Storage (0.1ms) Generated URL for file at key: fb57a046fb3c5748fd5c9f17 (https://www.example.com/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJmYjU3YTA0NmZiM2M1NzQ4ZmQ1YzlmMTciLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2IjoibHJXNUJMMnJMbllqMmQybkNkWUlYZUI5ejBtV3djR21IUXdaY0NaKzVOST0iLCJjaGVja3N1bSI6IktiRm9KWFIvVjVlLzNyWjRJbG8vamc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDowOTo0MC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--ce7f4b17872a0580ed2d4c360a149ca7240189e2)
396
+ Started PUT "/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJmYjU3YTA0NmZiM2M1NzQ4ZmQ1YzlmMTciLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2IjoibHJXNUJMMnJMbllqMmQybkNkWUlYZUI5ejBtV3djR21IUXdaY0NaKzVOST0iLCJjaGVja3N1bSI6IktiRm9KWFIvVjVlLzNyWjRJbG8vamc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDowOTo0MC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--ce7f4b17872a0580ed2d4c360a149ca7240189e2" for 127.0.0.1 at 2025-03-12 10:09:35 +0000
397
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#update as HTML
398
+ Parameters: {"token"=>"[FILTERED]"}
399
+  EncryptedDisk Storage (0.1ms) Deleted file from key: fb57a046fb3c5748fd5c9f17
400
+  EncryptedDisk Storage (0.5ms) Uploaded file to key: fb57a046fb3c5748fd5c9f17 (checksum: KbFoJXR/V5e/3rZ4Ilo/jg==)
401
+ Completed 422 Unprocessable Content in 1ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
402
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
403
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
404
+ -------------------------------------------------------------------------------------------------------------------------------
405
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_update()_refuses_to_upload_if_no_Content-MD5_is_sent_with_the_request
406
+ -------------------------------------------------------------------------------------------------------------------------------
407
+  EncryptedDisk Storage (0.1ms) Generated URL for file at key: fb57a046fb3c5748fd5c9f17 (https://www.example.com/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJmYjU3YTA0NmZiM2M1NzQ4ZmQ1YzlmMTciLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2IjoibHJXNUJMMnJMbllqMmQybkNkWUlYZUI5ejBtV3djR21IUXdaY0NaKzVOST0iLCJjaGVja3N1bSI6IktiRm9KWFIvVjVlLzNyWjRJbG8vamc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDowOTo0MC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--ce7f4b17872a0580ed2d4c360a149ca7240189e2)
408
+ Started PUT "/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJmYjU3YTA0NmZiM2M1NzQ4ZmQ1YzlmMTciLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2IjoibHJXNUJMMnJMbllqMmQybkNkWUlYZUI5ejBtV3djR21IUXdaY0NaKzVOST0iLCJjaGVja3N1bSI6IktiRm9KWFIvVjVlLzNyWjRJbG8vamc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDowOTo0MC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--ce7f4b17872a0580ed2d4c360a149ca7240189e2" for 127.0.0.1 at 2025-03-12 10:09:35 +0000
409
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#update as HTML
410
+ Parameters: {"token"=>"[FILTERED]"}
411
+ Completed 422 Unprocessable Content in 0ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.2ms)
412
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
413
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
414
+ -----------------------------------------------------------------------------------------------------------------------------------------------------
415
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_show()_requires_headers_if_the_private_url_policy_of_the_service_is_set_to_:require_headers
416
+ -----------------------------------------------------------------------------------------------------------------------------------------------------
417
+  EncryptedDisk Storage (0.2ms) Uploaded file to key: b1skringxjtg
418
+  EncryptedDisk Storage (12.9ms) Generated URL for file at key: b1skringxjtg (https://www.example.com/active-storage-encryption/blob/nLJkoyFzKYD1NPF-niKIMKrYScPv1IL4bOg8wflp4IbWz1tXiKhocu9M4MFb95J_YG_yDBk7RU5-skDdX4DjS60P7TWZjC2RmH4UOAc4scfXgTPmUriNmJzrg_l7ZhRC21TP_xiIzh2IiFcO30bJub0udp3SilCQBjWS6NQjvG6a0-OUbiNvtRddCWkFNs_Wk8UO3xy6Cce43FxZ57YSON-WxufZQsU4Nf0Ef1jKf1E3GuZ_0lHsAFLQ-yGOq7gqIs_6sbwNimGtdsoqP78kH63IaibmAzGFAAMxp0qWqs1fPUGjKYhqSqhtOmooqRkiY1rdKaEeFzQKIUdxX5Iq60BO3kkrFVo5VOkwkbYgLxDGADNldl89MkWOSraGAaOQEHN7l-NhI76e-y93rnha2i1TUmwB71k6PB5KCYazwXL-wdFSLuoOcQhEJuNcgi1mIbR1vEnfbBS6GolI1GUqeRO5IxFGX3eZWdQ4HHYeuIG-bCcQDGt1yoO0U0Av483pNgUFks58W83Kv87n--yGSiPEMY5S_btf-C--0i2MT-SxZ2b5CZ9PZ85Bnw/private.doc)
419
+ Started GET "/active-storage-encryption/blob/nLJkoyFzKYD1NPF-niKIMKrYScPv1IL4bOg8wflp4IbWz1tXiKhocu9M4MFb95J_YG_yDBk7RU5-skDdX4DjS60P7TWZjC2RmH4UOAc4scfXgTPmUriNmJzrg_l7ZhRC21TP_xiIzh2IiFcO30bJub0udp3SilCQBjWS6NQjvG6a0-OUbiNvtRddCWkFNs_Wk8UO3xy6Cce43FxZ57YSON-WxufZQsU4Nf0Ef1jKf1E3GuZ_0lHsAFLQ-yGOq7gqIs_6sbwNimGtdsoqP78kH63IaibmAzGFAAMxp0qWqs1fPUGjKYhqSqhtOmooqRkiY1rdKaEeFzQKIUdxX5Iq60BO3kkrFVo5VOkwkbYgLxDGADNldl89MkWOSraGAaOQEHN7l-NhI76e-y93rnha2i1TUmwB71k6PB5KCYazwXL-wdFSLuoOcQhEJuNcgi1mIbR1vEnfbBS6GolI1GUqeRO5IxFGX3eZWdQ4HHYeuIG-bCcQDGt1yoO0U0Av483pNgUFks58W83Kv87n--yGSiPEMY5S_btf-C--0i2MT-SxZ2b5CZ9PZ85Bnw/private.doc" for 127.0.0.1 at 2025-03-12 10:09:35 +0000
420
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#show as */*
421
+ Parameters: {"token"=>"[FILTERED]", "filename"=>"private"}
422
+ Completed 403 Forbidden in 13ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
423
+ Started GET "/active-storage-encryption/blob/nLJkoyFzKYD1NPF-niKIMKrYScPv1IL4bOg8wflp4IbWz1tXiKhocu9M4MFb95J_YG_yDBk7RU5-skDdX4DjS60P7TWZjC2RmH4UOAc4scfXgTPmUriNmJzrg_l7ZhRC21TP_xiIzh2IiFcO30bJub0udp3SilCQBjWS6NQjvG6a0-OUbiNvtRddCWkFNs_Wk8UO3xy6Cce43FxZ57YSON-WxufZQsU4Nf0Ef1jKf1E3GuZ_0lHsAFLQ-yGOq7gqIs_6sbwNimGtdsoqP78kH63IaibmAzGFAAMxp0qWqs1fPUGjKYhqSqhtOmooqRkiY1rdKaEeFzQKIUdxX5Iq60BO3kkrFVo5VOkwkbYgLxDGADNldl89MkWOSraGAaOQEHN7l-NhI76e-y93rnha2i1TUmwB71k6PB5KCYazwXL-wdFSLuoOcQhEJuNcgi1mIbR1vEnfbBS6GolI1GUqeRO5IxFGX3eZWdQ4HHYeuIG-bCcQDGt1yoO0U0Av483pNgUFks58W83Kv87n--yGSiPEMY5S_btf-C--0i2MT-SxZ2b5CZ9PZ85Bnw/private.doc" for 127.0.0.1 at 2025-03-12 10:09:35 +0000
424
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#show as */*
425
+ Parameters: {"token"=>"[FILTERED]", "filename"=>"private"}
426
+  EncryptedDisk Storage (0.2ms) Downloaded file from key: b1skringxjtg
427
+ Completed 200 OK in 13ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
428
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
429
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
430
+ ------------------------------------------------------------------------------------------------------------------------------------------------------------
431
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_update()_refuses_to_upload_if_plaintext_has_a_different_length_than_stated_during_token_generation
432
+ ------------------------------------------------------------------------------------------------------------------------------------------------------------
433
+  EncryptedDisk Storage (0.1ms) Generated URL for file at key: fb57a046fb3c5748fd5c9f17 (https://www.example.com/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJmYjU3YTA0NmZiM2M1NzQ4ZmQ1YzlmMTciLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjQ2OCwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2IjoibHJXNUJMMnJMbllqMmQybkNkWUlYZUI5ejBtV3djR21IUXdaY0NaKzVOST0iLCJjaGVja3N1bSI6IktiRm9KWFIvVjVlLzNyWjRJbG8vamc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDowOTo0MC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--609c5b8826bd958ccdcc8282c9a515881053afb9)
434
+ Started PUT "/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJmYjU3YTA0NmZiM2M1NzQ4ZmQ1YzlmMTciLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjQ2OCwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2IjoibHJXNUJMMnJMbllqMmQybkNkWUlYZUI5ejBtV3djR21IUXdaY0NaKzVOST0iLCJjaGVja3N1bSI6IktiRm9KWFIvVjVlLzNyWjRJbG8vamc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDowOTo0MC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--609c5b8826bd958ccdcc8282c9a515881053afb9" for 127.0.0.1 at 2025-03-12 10:09:35 +0000
435
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#update as HTML
436
+ Parameters: {"token"=>"[FILTERED]"}
437
+ Completed 422 Unprocessable Content in 0ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
438
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
439
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
440
+ ---------------------------------------------------------------------------------------------------------------------------------------------------------
441
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_show()_refuses_a_request_with_a_token_that_has_been_encrypted_using_an_incorrect_encryption_key
442
+ ---------------------------------------------------------------------------------------------------------------------------------------------------------
443
+  EncryptedDisk Storage (0.4ms) Uploaded file to key: v3njjmjlo8id
444
+  EncryptedDisk Storage (0.1ms) Generated URL for file at key: v3njjmjlo8id (https://www.example.com/active-storage-encryption/blob/Khi8LBeQsyTr336f8Q4EsrgsueaXcS7ckmqLzGY9EDceZ1C-RVhigzzK2ckC49UPus32YpcSyz4UrjSPVapUDs1g59YCxrPUUSiFJCZSRrfed4sEoD4bv0k8DWXtLExvC2gy-gGJfqaEfDJ5m05Wp4RtIrt0xd5A6snO-ln9jhCI9CfjzXEJjP8SWPqe6Y7IrDHGaKRi01WLQk7m5xRoWwsYgVPlhKWGD636FPVaNop4LkErTGkY-GonKunJEy3vXXVf_AePbSwKcr2aUbiM25E8DKvWYVgyYlhX4W7LIl5hqB41W55AvbwsZuc3MDvu-OgHtYrE54IF0Tboia9DCbwKj1w_c_GrR12BCjW7yluhgXnh41ym-vIjPDKcy199jZUPoxca5SpXvtciZlpBkGknphuma1R_2_96mxGI15iD2aSZKxldm3TS44fXWxBjBAh8kQ7Cu1O8fad8WbUJdBeAfCXZvF56BtDboICAUZ65HBFXKAtbAhWn662Fy7v9dqa7z8P0A3UBKZnw0w--F4zuOCcXM5bse0JM--A-UhyT99aTC7OXZTSObt4A/private.doc)
445
+ Started GET "/active-storage-encryption/blob/Khi8LBeQsyTr336f8Q4EsrgsueaXcS7ckmqLzGY9EDceZ1C-RVhigzzK2ckC49UPus32YpcSyz4UrjSPVapUDs1g59YCxrPUUSiFJCZSRrfed4sEoD4bv0k8DWXtLExvC2gy-gGJfqaEfDJ5m05Wp4RtIrt0xd5A6snO-ln9jhCI9CfjzXEJjP8SWPqe6Y7IrDHGaKRi01WLQk7m5xRoWwsYgVPlhKWGD636FPVaNop4LkErTGkY-GonKunJEy3vXXVf_AePbSwKcr2aUbiM25E8DKvWYVgyYlhX4W7LIl5hqB41W55AvbwsZuc3MDvu-OgHtYrE54IF0Tboia9DCbwKj1w_c_GrR12BCjW7yluhgXnh41ym-vIjPDKcy199jZUPoxca5SpXvtciZlpBkGknphuma1R_2_96mxGI15iD2aSZKxldm3TS44fXWxBjBAh8kQ7Cu1O8fad8WbUJdBeAfCXZvF56BtDboICAUZ65HBFXKAtbAhWn662Fy7v9dqa7z8P0A3UBKZnw0w--F4zuOCcXM5bse0JM--A-UhyT99aTC7OXZTSObt4A/private.doc" for 127.0.0.1 at 2025-03-12 10:09:35 +0000
446
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#show as */*
447
+ Parameters: {"token"=>"[FILTERED]", "filename"=>"private"}
448
+ Completed 403 Forbidden in 13ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
449
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
450
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
451
+ --------------------------------------------------------------------------------------------------------------------------
452
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_create_direct_upload_refuses_without_being_given_an_MD5_checksum
453
+ --------------------------------------------------------------------------------------------------------------------------
454
+ Started POST "/active-storage-encryption/blob/direct-uploads" for 127.0.0.1 at 2025-03-12 10:09:35 +0000
455
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#create_direct_upload as HTML
456
+ Parameters: {"service_name"=>"amazing_encrypting_disk_service", "blob"=>{"content_type"=>"x-binary/sensitive", "filename"=>"biometrics.sec", "service_name"=>"amazing_encrypting_disk_service", "byte_size"=>"512"}}
457
+ Unpermitted parameter: :service_name. Context: { controller: ActiveStorageEncryption::EncryptedBlobsController, action: create_direct_upload, request: #<ActionDispatch::Request:0x0000000107e5ad28>, params: {"service_name"=>"amazing_encrypting_disk_service", "blob"=>{"content_type"=>"x-binary/sensitive", "filename"=>"biometrics.sec", "service_name"=>"amazing_encrypting_disk_service", "byte_size"=>"512"}, "controller"=>"active_storage_encryption/encrypted_blobs", "action"=>"create_direct_upload"} }
458
+ Rendering text template
459
+ Rendered text template (Duration: 0.0ms | GC: 0.0ms)
460
+ Completed 422 Unprocessable Content in 2ms (Views: 1.8ms | ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.1ms)
461
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
462
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
463
+ -------------------------------------------------------------------------------------------------------
464
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_show()_refuses_a_request_with_a_garbage_token
465
+ -------------------------------------------------------------------------------------------------------
466
+ Started GET "/active-storage-encryption/blob/garbage/exfil.bin" for 127.0.0.1 at 2025-03-12 10:09:35 +0000
467
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#show as */*
468
+ Parameters: {"token"=>"[FILTERED]", "filename"=>"exfil"}
469
+ Completed 403 Forbidden in 13ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
470
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
471
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
472
+ ------------------------------------------------------------------------------------------------------------------------
473
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_update()_refuses_to_upload_if_the_token_in_the_URL_has_expired
474
+ ------------------------------------------------------------------------------------------------------------------------
475
+  EncryptedDisk Storage (0.1ms) Generated URL for file at key: fb57a046fb3c5748fd5c9f17 (https://www.example.com/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJmYjU3YTA0NmZiM2M1NzQ4ZmQ1YzlmMTciLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2IjoibHJXNUJMMnJMbllqMmQybkNkWUlYZUI5ejBtV3djR21IUXdaY0NaKzVOST0iLCJjaGVja3N1bSI6IktiRm9KWFIvVjVlLzNyWjRJbG8vamc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDowOTo0MC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--ce7f4b17872a0580ed2d4c360a149ca7240189e2)
476
+ Started PUT "/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJmYjU3YTA0NmZiM2M1NzQ4ZmQ1YzlmMTciLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2IjoibHJXNUJMMnJMbllqMmQybkNkWUlYZUI5ejBtV3djR21IUXdaY0NaKzVOST0iLCJjaGVja3N1bSI6IktiRm9KWFIvVjVlLzNyWjRJbG8vamc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDowOTo0MC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--ce7f4b17872a0580ed2d4c360a149ca7240189e2" for 127.0.0.1 at 2025-03-12 10:09:45 +0000
477
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#update as HTML
478
+ Parameters: {"token"=>"[FILTERED]"}
479
+ Completed 422 Unprocessable Content in 0ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
480
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
481
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
482
+ --------------------------------------------------------------------------------------------------------------------------------
483
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_show()_refuses_a_request_if_the_service_no_longer_permits_private_URLs
484
+ --------------------------------------------------------------------------------------------------------------------------------
485
+  EncryptedDisk Storage (0.3ms) Uploaded file to key: zd5oxvk38b5c
486
+  EncryptedDisk Storage (12.9ms) Generated URL for file at key: zd5oxvk38b5c (https://www.example.com/active-storage-encryption/blob/SwMaTCBILTYMkM2zBoncqF44_-NFcPKI13LUAEJOSHryYpKBm6cCgrXgcl1CXw6WtzbN3nSb0jElWPKIk1EyQhPcbF7ci5v6fOpNLJuoKS9_vk3aVQZrcCp57q68NEPmYqgOmTyH6jQpk5c8jrDHs8HDa062xd3L0NLlOf3W4wcyydRO-4hRymeDVHNq67Ju8zxqLb71CisuwIwoiKKTe5yYx4ADg98P1nAFjaCecRb3ot0FYw_In6tIY7Z90hxIXTc-nJ3sQbcoqP9SD_JK4Xjuwb_xmRPjvQhBPwf0UOY_vGg8zXVaEbl3EDiu8nNSrZlLD_4ugXqE6gRqIGA8Mqh50eJCaqsxeWjnM1VLJ-klhBdGAUCrIgCzIJX3XgjKGszBDzxFD51RK76nwbT6w51kHDG2Jn05K5C4HD79Yn8FTNWTo3G2sxNjvl6QZuaD0ShH6JRj51pYdlDid9Og-i9mtBNnKRC8vOUzLp0_KlTp9S2YuTvg455VlKIG2lFPOrge1nBFZ3VlG-cr--C7GRkrXbMejDMaUS--4b9cq9ur-CTHVR4jNtEV3g/private.doc)
487
+ Started GET "/active-storage-encryption/blob/SwMaTCBILTYMkM2zBoncqF44_-NFcPKI13LUAEJOSHryYpKBm6cCgrXgcl1CXw6WtzbN3nSb0jElWPKIk1EyQhPcbF7ci5v6fOpNLJuoKS9_vk3aVQZrcCp57q68NEPmYqgOmTyH6jQpk5c8jrDHs8HDa062xd3L0NLlOf3W4wcyydRO-4hRymeDVHNq67Ju8zxqLb71CisuwIwoiKKTe5yYx4ADg98P1nAFjaCecRb3ot0FYw_In6tIY7Z90hxIXTc-nJ3sQbcoqP9SD_JK4Xjuwb_xmRPjvQhBPwf0UOY_vGg8zXVaEbl3EDiu8nNSrZlLD_4ugXqE6gRqIGA8Mqh50eJCaqsxeWjnM1VLJ-klhBdGAUCrIgCzIJX3XgjKGszBDzxFD51RK76nwbT6w51kHDG2Jn05K5C4HD79Yn8FTNWTo3G2sxNjvl6QZuaD0ShH6JRj51pYdlDid9Og-i9mtBNnKRC8vOUzLp0_KlTp9S2YuTvg455VlKIG2lFPOrge1nBFZ3VlG-cr--C7GRkrXbMejDMaUS--4b9cq9ur-CTHVR4jNtEV3g/private.doc" for 127.0.0.1 at 2025-03-12 10:09:35 +0000
488
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#show as */*
489
+ Parameters: {"token"=>"[FILTERED]", "filename"=>"private"}
490
+ Completed 403 Forbidden in 13ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
491
+ Started GET "/active-storage-encryption/blob/SwMaTCBILTYMkM2zBoncqF44_-NFcPKI13LUAEJOSHryYpKBm6cCgrXgcl1CXw6WtzbN3nSb0jElWPKIk1EyQhPcbF7ci5v6fOpNLJuoKS9_vk3aVQZrcCp57q68NEPmYqgOmTyH6jQpk5c8jrDHs8HDa062xd3L0NLlOf3W4wcyydRO-4hRymeDVHNq67Ju8zxqLb71CisuwIwoiKKTe5yYx4ADg98P1nAFjaCecRb3ot0FYw_In6tIY7Z90hxIXTc-nJ3sQbcoqP9SD_JK4Xjuwb_xmRPjvQhBPwf0UOY_vGg8zXVaEbl3EDiu8nNSrZlLD_4ugXqE6gRqIGA8Mqh50eJCaqsxeWjnM1VLJ-klhBdGAUCrIgCzIJX3XgjKGszBDzxFD51RK76nwbT6w51kHDG2Jn05K5C4HD79Yn8FTNWTo3G2sxNjvl6QZuaD0ShH6JRj51pYdlDid9Og-i9mtBNnKRC8vOUzLp0_KlTp9S2YuTvg455VlKIG2lFPOrge1nBFZ3VlG-cr--C7GRkrXbMejDMaUS--4b9cq9ur-CTHVR4jNtEV3g/private.doc" for 127.0.0.1 at 2025-03-12 10:09:35 +0000
492
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#show as */*
493
+ Parameters: {"token"=>"[FILTERED]", "filename"=>"private"}
494
+ Completed 403 Forbidden in 13ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
495
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
496
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
497
+ --------------------------------------------------------------------------------------------------------------------------------------------------
498
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_update()_refuses_to_upload_if_Content-MD5_from_headers_differs_from_the_one_in_the_token
499
+ --------------------------------------------------------------------------------------------------------------------------------------------------
500
+  EncryptedDisk Storage (0.1ms) Generated URL for file at key: fb57a046fb3c5748fd5c9f17 (https://www.example.com/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJmYjU3YTA0NmZiM2M1NzQ4ZmQ1YzlmMTciLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2IjoibHJXNUJMMnJMbllqMmQybkNkWUlYZUI5ejBtV3djR21IUXdaY0NaKzVOST0iLCJjaGVja3N1bSI6IktiRm9KWFIvVjVlLzNyWjRJbG8vamc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDowOTo0MC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--ce7f4b17872a0580ed2d4c360a149ca7240189e2)
501
+ Started PUT "/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJmYjU3YTA0NmZiM2M1NzQ4ZmQ1YzlmMTciLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2IjoibHJXNUJMMnJMbllqMmQybkNkWUlYZUI5ejBtV3djR21IUXdaY0NaKzVOST0iLCJjaGVja3N1bSI6IktiRm9KWFIvVjVlLzNyWjRJbG8vamc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDowOTo0MC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--ce7f4b17872a0580ed2d4c360a149ca7240189e2" for 127.0.0.1 at 2025-03-12 10:09:35 +0000
502
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#update as HTML
503
+ Parameters: {"token"=>"[FILTERED]"}
504
+ Completed 422 Unprocessable Content in 0ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
505
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
506
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
507
+ --------------------------------------------------------------------------------------------------------------------------------
508
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_create_direct_upload_creates_a_blob_which_can_then_be_uploaded_via_PUT
509
+ --------------------------------------------------------------------------------------------------------------------------------
510
+ Started POST "/active-storage-encryption/blob/direct-uploads" for 127.0.0.1 at 2025-03-12 10:09:35 +0000
511
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#create_direct_upload as HTML
512
+ Parameters: {"service_name"=>"amazing_encrypting_disk_service", "blob"=>{"content_type"=>"x-binary/sensitive", "filename"=>"biometrics.sec", "checksum"=>"KbFoJXR/V5e/3rZ4Ilo/jg==", "service_name"=>"amazing_encrypting_disk_service", "byte_size"=>"512"}}
513
+ Unpermitted parameter: :service_name. Context: { controller: ActiveStorageEncryption::EncryptedBlobsController, action: create_direct_upload, request: #<ActionDispatch::Request:0x0000000105418218>, params: {"service_name"=>"amazing_encrypting_disk_service", "blob"=>{"content_type"=>"x-binary/sensitive", "filename"=>"biometrics.sec", "checksum"=>"KbFoJXR/V5e/3rZ4Ilo/jg==", "service_name"=>"amazing_encrypting_disk_service", "byte_size"=>"512"}, "controller"=>"active_storage_encryption/encrypted_blobs", "action"=>"create_direct_upload"} }
514
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
515
+ ActiveStorage::Blob Create (0.1ms) INSERT INTO "active_storage_blobs" ("key", "filename", "content_type", "metadata", "service_name", "byte_size", "checksum", "created_at", "encryption_key") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING "id" [["key", "e2uzzwmnw8krh3g6i2w4biarf8mk"], ["filename", "biometrics.sec"], ["content_type", "x-binary/sensitive"], ["metadata", nil], ["service_name", "amazing_encrypting_disk_service"], ["byte_size", 512], ["checksum", "KbFoJXR/V5e/3rZ4Ilo/jg=="], ["created_at", "2025-03-12 10:09:35"], ["encryption_key", "[FILTERED]"]]
516
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
517
+  EncryptedDisk Storage (0.1ms) Generated URL for file at key: e2uzzwmnw8krh3g6i2w4biarf8mk (http://www.example.com/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJlMnV6endtbnc4a3JoM2c2aTJ3NGJpYXJmOG1rIiwiY29udGVudF90eXBlIjoieC1iaW5hcnkvc2Vuc2l0aXZlIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2IjoiRGgvRGZ6d3RGWjRaWlIvSm5oMS9aRUtpOWV0ci9URy9rRVVDeUtMUUFvbz0iLCJjaGVja3N1bSI6IktiRm9KWFIvVjVlLzNyWjRJbG8vamc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDoxNDozNS4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--0f812b542af6c1e7f56ad9e6154cb41e53506825)
518
+ Completed 200 OK in 1ms (Views: 0.0ms | ActiveRecord: 0.2ms (1 query, 0 cached) | GC: 0.0ms)
519
+ Started PUT "/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJlMnV6endtbnc4a3JoM2c2aTJ3NGJpYXJmOG1rIiwiY29udGVudF90eXBlIjoieC1iaW5hcnkvc2Vuc2l0aXZlIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2IjoiRGgvRGZ6d3RGWjRaWlIvSm5oMS9aRUtpOWV0ci9URy9rRVVDeUtMUUFvbz0iLCJjaGVja3N1bSI6IktiRm9KWFIvVjVlLzNyWjRJbG8vamc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDoxNDozNS4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--0f812b542af6c1e7f56ad9e6154cb41e53506825" for 127.0.0.1 at 2025-03-12 10:09:35 +0000
520
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#update as HTML
521
+ Parameters: {"token"=>"[FILTERED]"}
522
+  EncryptedDisk Storage (0.5ms) Uploaded file to key: e2uzzwmnw8krh3g6i2w4biarf8mk (checksum: KbFoJXR/V5e/3rZ4Ilo/jg==)
523
+ No template found for ActiveStorageEncryption::EncryptedBlobsController#update, rendering head :no_content
524
+ Completed 204 No Content in 1ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
525
+ ActiveStorage::Blob Load (0.0ms) SELECT "active_storage_blobs".* FROM "active_storage_blobs" WHERE "active_storage_blobs"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
526
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: e2uzzwmnw8krh3g6i2w4biarf8mk
527
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: e2uzzwmnw8krh3g6i2w4biarf8mk
528
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
529
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
530
+ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
531
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_update()_refuses_to_upload_if_the_encryption_key_given_in_the_header_is_different_than_the_one_used_to_generate_the_URL
532
+ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
533
+  EncryptedDisk Storage (0.1ms) Generated URL for file at key: fb57a046fb3c5748fd5c9f17 (https://www.example.com/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJmYjU3YTA0NmZiM2M1NzQ4ZmQ1YzlmMTciLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2IjoibHJXNUJMMnJMbllqMmQybkNkWUlYZUI5ejBtV3djR21IUXdaY0NaKzVOST0iLCJjaGVja3N1bSI6IktiRm9KWFIvVjVlLzNyWjRJbG8vamc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDowOTo0MC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--ce7f4b17872a0580ed2d4c360a149ca7240189e2)
534
+ Started PUT "/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJmYjU3YTA0NmZiM2M1NzQ4ZmQ1YzlmMTciLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2IjoibHJXNUJMMnJMbllqMmQybkNkWUlYZUI5ejBtV3djR21IUXdaY0NaKzVOST0iLCJjaGVja3N1bSI6IktiRm9KWFIvVjVlLzNyWjRJbG8vamc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDowOTo0MC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--ce7f4b17872a0580ed2d4c360a149ca7240189e2" for 127.0.0.1 at 2025-03-12 10:09:35 +0000
535
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#update as HTML
536
+ Parameters: {"token"=>"[FILTERED]"}
537
+ Completed 422 Unprocessable Content in 0ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
538
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
539
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
540
+ ---------------------------------------------------------
541
+ ActiveStorageEncryptionTest: test_it_has_a_version_number
542
+ ---------------------------------------------------------
543
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
544
+ ActiveRecord::InternalMetadata Load (0.1ms) SELECT * FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = ? ORDER BY "ar_internal_metadata"."key" ASC LIMIT 1 [[nil, "schema_sha1"]]
545
+ ActiveRecord::SchemaMigration Load (0.0ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
546
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
547
+ ---------------------------------------------------------------------------------------------------------
548
+ ActiveStorageEncryption::EncryptedMirrorServiceTest: test_get_without_headers_succeeds_if_service_permits
549
+ ---------------------------------------------------------------------------------------------------------
550
+  EncryptedDisk Storage (1.2ms) Uploaded file to key: key-1
551
+ [ActiveJob] Enqueued ActiveStorageEncryption::EncryptedMirrorService::MirrorJobWithEncryption (Job ID: 41945804-9558-4734-85dc-9f3dc6e2df77) to Test(default) with arguments: "key-1", {:checksum=>nil, :service_name=>"EncryptedMirror", :encryption_key_token=>"KUKAi6hQirdYD2cernHGyhIzoh-Jv_Ui5VbHpM-aqfMvAqBZK2hRSDtMSy9e2YBdia0nMbj6F6QV0cJSbuW7HSiN5rOhsw1OqBDjdhiiSpUP7bLt64HcT2lkDQZab45J7J3oMrlfaG0m2pJO3MQAUhOC5P35_7n1RN34OgF5w7VYBhzPSTW9um9Yl29seRm7kM-7ag--coa9aAVEfN4-6OUm--iTqz_639cH-tjzrVvfcj_w"}
552
+  EncryptedDisk Storage (16.9ms) Generated URL for file at key: key-1 (https://www.example.com/active-storage-encryption/blob/xehCqHa0iHrytR3kYJ2YLSDUO7jlP34g-oHyPNI9phg10BtydsKYd9AUiwhW2LU-EG-KtCRV-BAu7BF5qBFTt-aK5hdeyAutQwUG8cSHTlUxiC-hH97hSrk_yhkGg_SlmfYhblWodyRlOCToyu_KO6oG8A5IaYqckQea6w8R29zJfGAhVACRjble-H1m5xia_0hFKZ82UsEHZdWZZ8eeP_Kg-8npOPJh3Cm2DdgeZKmcc-f7cPoY7d3PkYFjjeMbA7v5rziWHpqDqLCUPxvp_fnqUel96bjMxAXMve9JnAkTiacpDOqJsB7fXXhBc27bt4Aoif6qIoEmFjQI0EbhIMEgYj44vqZPgNFHqYdNTJDz_VCoJX3R1HXtExEqD_EwbUd3jDrYG97AydP21OM1KwP7LjIJm2Iq6s5gbLs7YobATEM4fTkSQl0UZ4tmJcQ2OvYDKYioEev8duYTauND09UO0mB44IG0CMbr-xLwiAIx-imk9HuCZb8TwHeX-XFARECaQwM811d1KjmPYTzRVW9tfA--_mkncXdwA4vt9uZV--hxKATaNBbncREhJYbF7Bfw/temp.bin)
553
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
554
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
555
+ --------------------------------------------------------------------------------------------
556
+ ActiveStorageEncryption::EncryptedMirrorServiceTest: test_does_not_accept_private_url_policy
557
+ --------------------------------------------------------------------------------------------
558
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
559
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
560
+ -----------------------------------------------------------------------------------
561
+ ActiveStorageEncryption::EncryptedMirrorServiceTest: test_headers_for_direct_upload
562
+ -----------------------------------------------------------------------------------
563
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
564
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
565
+ -------------------------------------------------------------------------------------------------------
566
+ ActiveStorageEncryption::EncryptedMirrorServiceTest: test_uploads_to_primary_and_mirrors_to_secondaries
567
+ -------------------------------------------------------------------------------------------------------
568
+  EncryptedDisk Storage (0.4ms) Uploaded file to key: key-1
569
+ [ActiveJob] Enqueued ActiveStorageEncryption::EncryptedMirrorService::MirrorJobWithEncryption (Job ID: d5d79060-fb93-4565-b5bf-11469220e294) to Test(default) with arguments: "key-1", {:checksum=>nil, :service_name=>"EncryptedMirror", :encryption_key_token=>"vrBCZykDzl6X9PHXRDkWEgmiRYmEmeZVwO2q-o8ZHqlZqVpBye-TkyFYeFDhzXIxUwB6aYGaSXwKIvXzm7xxXRpv89MkiCqdR4Galj-JsYYNJw2CEYVJd3UCDWbPeaM3sQcOpmNZ8tidSi9jLPPpH7nVjvih3IhGz43JP8w95wFNqPJn48lKi1qOv3gA3_-VKCgelg--MQGo_m-SbzWADp6D--5WsEp_7RzctRoLbZj9FXPA"}
570
+  Disk Storage (0.0ms) Checked if file exists at key: key-1 (no)
571
+ [ActiveJob] [ActiveStorageEncryption::EncryptedMirrorService::MirrorJobWithEncryption] [d5d79060-fb93-4565-b5bf-11469220e294] Performing ActiveStorageEncryption::EncryptedMirrorService::MirrorJobWithEncryption (Job ID: d5d79060-fb93-4565-b5bf-11469220e294) from Test(default) enqueued at 2025-03-12T10:09:55.316248000Z with arguments: "key-1", {:checksum=>nil, :service_name=>"EncryptedMirror", :encryption_key_token=>"vrBCZykDzl6X9PHXRDkWEgmiRYmEmeZVwO2q-o8ZHqlZqVpBye-TkyFYeFDhzXIxUwB6aYGaSXwKIvXzm7xxXRpv89MkiCqdR4Galj-JsYYNJw2CEYVJd3UCDWbPeaM3sQcOpmNZ8tidSi9jLPPpH7nVjvih3IhGz43JP8w95wFNqPJn48lKi1qOv3gA3_-VKCgelg--MQGo_m-SbzWADp6D--5WsEp_7RzctRoLbZj9FXPA"}
572
+ [ActiveJob] [ActiveStorageEncryption::EncryptedMirrorService::MirrorJobWithEncryption] [d5d79060-fb93-4565-b5bf-11469220e294]  Disk Storage (0.0ms) Checked if file exists at key: key-1 (no)
573
+ [ActiveJob] [ActiveStorageEncryption::EncryptedMirrorService::MirrorJobWithEncryption] [d5d79060-fb93-4565-b5bf-11469220e294]  EncryptedDisk Storage (0.4ms) Downloaded file from key: key-1
574
+ [ActiveJob] [ActiveStorageEncryption::EncryptedMirrorService::MirrorJobWithEncryption] [d5d79060-fb93-4565-b5bf-11469220e294]  Disk Storage (0.3ms) Uploaded file to key: key-1
575
+ [ActiveJob] [ActiveStorageEncryption::EncryptedMirrorService::MirrorJobWithEncryption] [d5d79060-fb93-4565-b5bf-11469220e294]  EncryptedDisk Storage (0.3ms) Uploaded file to key: key-1
576
+ [ActiveJob] [ActiveStorageEncryption::EncryptedMirrorService::MirrorJobWithEncryption] [d5d79060-fb93-4565-b5bf-11469220e294]  EncryptedMirror Storage (1.3ms) Mirrored file at key: key-1
577
+ [ActiveJob] [ActiveStorageEncryption::EncryptedMirrorService::MirrorJobWithEncryption] [d5d79060-fb93-4565-b5bf-11469220e294] Performed ActiveStorageEncryption::EncryptedMirrorService::MirrorJobWithEncryption (Job ID: d5d79060-fb93-4565-b5bf-11469220e294) from Test(default) in 14.91ms
578
+  Disk Storage (0.0ms) Checked if file exists at key: key-1 (yes)
579
+  Disk Storage (0.0ms) Downloaded file from key: key-1
580
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: key-1
581
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: key-1
582
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
583
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
584
+ ------------------------------------------------------------------------------------------------
585
+ ActiveStorageEncryption::EncryptedMirrorServiceTest: test_upload_then_download_using_correct_key
586
+ ------------------------------------------------------------------------------------------------
587
+  EncryptedDisk Storage (0.3ms) Uploaded file to key: key-1
588
+ [ActiveJob] Enqueued ActiveStorageEncryption::EncryptedMirrorService::MirrorJobWithEncryption (Job ID: 00507d24-162b-430c-95b7-59653f0bbd7f) to Test(default) with arguments: "key-1", {:checksum=>nil, :service_name=>"EncryptedMirror", :encryption_key_token=>"cQG-lHM_RO1FvKMEfqUu3L4OE49sTbK9TAQCkXkltOLfKNoA1Nd-Z7qHMk6Fypf2sRscpWTmQ1PM1-gNmN7UFBlAMpoKKJ1b8Q_rWqBWbVRZCwWz4IUD-6U8rRK7oznZEwFfhHSjLbSra59UfaE2hkBTbJUHW4t_Knluo4cAAcp5sUDm5qvoKCPaV6jYaqjKkNPkmQ--rSSC_rlVBQO1kT9B--M4n77HCtdhqKAO5AOSeOyg"}
589
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: key-1
590
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
591
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
592
+ -------------------------------------------------------------------------------------------------
593
+ ActiveStorageEncryption::EncryptedMirrorServiceTest: test_generates_direct_upload_url_for_primary
594
+ -------------------------------------------------------------------------------------------------
595
+  EncryptedDisk Storage (0.4ms) Generated URL for file at key: key-1 (https://www.example.com/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJrZXktMSIsImNvbnRlbnRfdHlwZSI6ImJpbmFyeS9vY3RldC1zdHJlYW0iLCJjb250ZW50X2xlbmd0aCI6MTc0MjEsImVuY3J5cHRpb25fa2V5X3NoYTI1NiI6InNrUnhEMXVYRFJOVGRSUWFUV1NaZmNqKzZlNjV1N1QyQ1gyWW9ZbjBUU1E9IiwiY2hlY2tzdW0iOiJLNktQS0JLQnJ2ZDVBWVhLK3cxckR3PT0iLCJzZXJ2aWNlX25hbWUiOm51bGx9LCJleHAiOiIyMDI1LTAzLTEyVDEwOjEwOjU1LjM0N1oiLCJwdXIiOiJlbmNyeXB0ZWRfcHV0In19--bf1a7f75fc5daef71c3f8ecf71e1c71f6dbe1c40)
596
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
597
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
598
+ ------------------------------------------------------------------------------
599
+ ActiveStorageEncryption::EncryptedMirrorServiceTest: test_upload_with_checksum
600
+ ------------------------------------------------------------------------------
601
+  EncryptedDisk Storage (0.1ms) Deleted file from key: key-1
602
+  EncryptedDisk Storage (0.6ms) Uploaded file to key: key-1 (checksum: n4/fpUeO0sSI6s7+jd9JCQ==)
603
+  EncryptedDisk Storage (0.3ms) Uploaded file to key: key-1 (checksum: 5ABqviZVf2aewVN/WhvSCw==)
604
+ [ActiveJob] Enqueued ActiveStorageEncryption::EncryptedMirrorService::MirrorJobWithEncryption (Job ID: a750075a-91d1-4ff8-a694-39f7e31e8f8e) to Test(default) with arguments: "key-1", {:checksum=>"5ABqviZVf2aewVN/WhvSCw==", :service_name=>"EncryptedMirror", :encryption_key_token=>"23X49UdIGrOvcOxdPeVGLdZtHyfhWrBjoE9r1AFKw43Ur-niTR9LcLIqYkrsSFacqiZdrqW37ajSfdajTXzmyImKYYKLR9bW6BRZ7orbNL-kXyoKx5RtPnghC3M_G4lgWO5I0QRq2M-CBC6e8IZ6o2zI3t1P2AEfxsQdQktVna1mxV9sQI6q0hdzTZeVpkC5jG7WDA--iMMA51I9190s03wu--a2sh_JCLNydmNKEfc0HXWg"}
605
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
606
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
607
+ -------------------------------------------------------------------------------------------------
608
+ ActiveStorageEncryption::EncryptedS3ServiceTest: test_s3_config_sane_and_works_with_stock_service
609
+ -------------------------------------------------------------------------------------------------
610
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
611
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
612
+ ------------------------------------------------------------------------------------------------------
613
+ ActiveStorageEncryption::EncryptedS3ServiceTest: test_accepts_direct_upload_with_signature_and_headers
614
+ ------------------------------------------------------------------------------------------------------
615
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
616
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
617
+ -------------------------------------------------------------------------------
618
+ ActiveStorageEncryption::EncryptedS3ServiceTest: test_encrypted_question_method
619
+ -------------------------------------------------------------------------------
620
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
621
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
622
+ -----------------------------------------------------------------------------------
623
+ ActiveStorageEncryption::EncryptedS3ServiceTest: test_s3_upload_requiring_multipart
624
+ -----------------------------------------------------------------------------------
625
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
626
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
627
+ -----------------------------------------------------------------------------------------------
628
+ ActiveStorageEncryption::EncryptedS3ServiceTest: test_uploads_correctly_across_multiple_threads
629
+ -----------------------------------------------------------------------------------------------
630
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
631
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
632
+ --------------------------------------------------------------------------------------------------------------------
633
+ ActiveStorageEncryption::EncryptedS3ServiceTest: test_rejects_direct_upload_if_client_manipulates_the_encryption_key
634
+ --------------------------------------------------------------------------------------------------------------------
635
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
636
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
637
+ ----------------------------------------------------------------------
638
+ ActiveStorageEncryption::EncryptedS3ServiceTest: test_composes_objects
639
+ ----------------------------------------------------------------------
640
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
641
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
642
+ ------------------------------------------------------------------------------------------------------------
643
+ ActiveStorageEncryption::EncryptedS3ServiceTest: test_generates_private_streaming_urls_with_streaming_policy
644
+ ------------------------------------------------------------------------------------------------------------
645
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
646
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
647
+ -----------------------------------------------------------------------------------------------
648
+ ActiveStorageEncryption::EncryptedS3ServiceTest: test_forbids_private_urls_with_disabled_policy
649
+ -----------------------------------------------------------------------------------------------
650
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
651
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
652
+ ------------------------------------------------------------
653
+ ActiveStorageEncryption::EncryptedS3ServiceTest: test_exists
654
+ ------------------------------------------------------------
655
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
656
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
657
+ -----------------------------------------------------------------------
658
+ ActiveStorageEncryption::EncryptedS3ServiceTest: test_basic_s3_readback
659
+ -----------------------------------------------------------------------
660
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
661
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
662
+ --------------------------------------------------------------------------------------------------------
663
+ ActiveStorageEncryption::EncryptedS3ServiceTest: test_generates_private_urls_with_require_headers_policy
664
+ --------------------------------------------------------------------------------------------------------
665
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
666
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
667
+ ------------------------------------------------------------------------------------------------
668
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_show()_returns_the_decrypted_blob_body
669
+ ------------------------------------------------------------------------------------------------
670
+  EncryptedDisk Storage (0.2ms) Uploaded file to key: ck4qe724a4w9
671
+  EncryptedDisk Storage (12.8ms) Generated URL for file at key: ck4qe724a4w9 (https://www.example.com/active-storage-encryption/blob/r-BayRmQSGe46kjSJ_0UsmiykJWN98QhVPz1VMTmL7D17NwTCqkXPjqjZPXVpjdjapzVDh5VYu64NbUzMlHNBHsSOqLNFDTxl_Uq6ygh5kjyr_NMFbd-dvP-DDaXjR49jw0hk9BXYJkZQXERudD6kn9a8G2naDkEVQQxQokPVHigWVoa-gs4OOYr3h2Z6vxmVlhThYePxl7IhCzDb3dSSQ3XWc3FjsQ7c6VFatOrtC_74EMAIw8YvVUyA8R8euj8Y56Dy09N3fwHwoXA9uXJR8HoJ66gcKpTRI1Bx977TWa65y20RPzk4DK79SznN-zf6jrUdLJILa1gcv741XJs11LMqVe7OWjoX6rqCXXKdh7lRDQdyD_z6c9ifkHxzTUQDXRG25tTLFuX-XJOWOotUqVJCEQ2Qph1BOyP1VVSqO1S39TpV3qZkbuvuk6cHeeZQUjsZEfEyEn86lGJFTuMBMWHHNzmM6_a0_XMg1AgqRhHitlJ804EaYlUp8Z3-CQYoeqMinZqtZQkg0v7--Wc9d_QlF78I4cpri--LvuB9tOXW27oDa1JhD2PMw/private.doc)
672
+ Started GET "/active-storage-encryption/blob/r-BayRmQSGe46kjSJ_0UsmiykJWN98QhVPz1VMTmL7D17NwTCqkXPjqjZPXVpjdjapzVDh5VYu64NbUzMlHNBHsSOqLNFDTxl_Uq6ygh5kjyr_NMFbd-dvP-DDaXjR49jw0hk9BXYJkZQXERudD6kn9a8G2naDkEVQQxQokPVHigWVoa-gs4OOYr3h2Z6vxmVlhThYePxl7IhCzDb3dSSQ3XWc3FjsQ7c6VFatOrtC_74EMAIw8YvVUyA8R8euj8Y56Dy09N3fwHwoXA9uXJR8HoJ66gcKpTRI1Bx977TWa65y20RPzk4DK79SznN-zf6jrUdLJILa1gcv741XJs11LMqVe7OWjoX6rqCXXKdh7lRDQdyD_z6c9ifkHxzTUQDXRG25tTLFuX-XJOWOotUqVJCEQ2Qph1BOyP1VVSqO1S39TpV3qZkbuvuk6cHeeZQUjsZEfEyEn86lGJFTuMBMWHHNzmM6_a0_XMg1AgqRhHitlJ804EaYlUp8Z3-CQYoeqMinZqtZQkg0v7--Wc9d_QlF78I4cpri--LvuB9tOXW27oDa1JhD2PMw/private.doc" for 127.0.0.1 at 2025-03-12 10:09:55 +0000
673
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#show as */*
674
+ Parameters: {"token"=>"[FILTERED]", "filename"=>"private"}
675
+  EncryptedDisk Storage (0.2ms) Downloaded file from key: ck4qe724a4w9
676
+ Completed 200 OK in 13ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
677
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
678
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
679
+ --------------------------------------------------------------------------------------------------------------------------------
680
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_create_direct_upload_creates_a_blob_which_can_then_be_uploaded_via_PUT
681
+ --------------------------------------------------------------------------------------------------------------------------------
682
+ Started POST "/active-storage-encryption/blob/direct-uploads" for 127.0.0.1 at 2025-03-12 10:09:55 +0000
683
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#create_direct_upload as HTML
684
+ Parameters: {"service_name"=>"amazing_encrypting_disk_service", "blob"=>{"content_type"=>"x-binary/sensitive", "filename"=>"biometrics.sec", "checksum"=>"fjQvwif1mjFhcFtiCQd9pw==", "service_name"=>"amazing_encrypting_disk_service", "byte_size"=>"512"}}
685
+ Unpermitted parameter: :service_name. Context: { controller: ActiveStorageEncryption::EncryptedBlobsController, action: create_direct_upload, request: #<ActionDispatch::Request:0x0000000118c53ac8>, params: {"service_name"=>"amazing_encrypting_disk_service", "blob"=>{"content_type"=>"x-binary/sensitive", "filename"=>"biometrics.sec", "checksum"=>"fjQvwif1mjFhcFtiCQd9pw==", "service_name"=>"amazing_encrypting_disk_service", "byte_size"=>"512"}, "controller"=>"active_storage_encryption/encrypted_blobs", "action"=>"create_direct_upload"} }
686
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
687
+ ActiveStorage::Blob Create (0.2ms) INSERT INTO "active_storage_blobs" ("key", "filename", "content_type", "metadata", "service_name", "byte_size", "checksum", "created_at", "encryption_key") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING "id" [["key", "353qn7flzmnk4jziwt9kakzeokru"], ["filename", "biometrics.sec"], ["content_type", "x-binary/sensitive"], ["metadata", nil], ["service_name", "amazing_encrypting_disk_service"], ["byte_size", 512], ["checksum", "fjQvwif1mjFhcFtiCQd9pw=="], ["created_at", "2025-03-12 10:09:55"], ["encryption_key", "[FILTERED]"]]
688
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
689
+  EncryptedDisk Storage (0.1ms) Generated URL for file at key: 353qn7flzmnk4jziwt9kakzeokru (http://www.example.com/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiIzNTNxbjdmbHptbms0anppd3Q5a2FremVva3J1IiwiY29udGVudF90eXBlIjoieC1iaW5hcnkvc2Vuc2l0aXZlIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2IjoiWFdodWF4dkFoRTN1bEg4OTBhQlQ4d1QybzdReVVWZE1VeUhGMzNrTjV3Zz0iLCJjaGVja3N1bSI6ImZqUXZ3aWYxbWpGaGNGdGlDUWQ5cHc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDoxNDo1NS4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--54eb80beb27491469e9a83c0c1bf07a222d27d76)
690
+ Completed 200 OK in 21ms (Views: 0.1ms | ActiveRecord: 0.3ms (1 query, 0 cached) | GC: 0.0ms)
691
+ Started PUT "/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiIzNTNxbjdmbHptbms0anppd3Q5a2FremVva3J1IiwiY29udGVudF90eXBlIjoieC1iaW5hcnkvc2Vuc2l0aXZlIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2IjoiWFdodWF4dkFoRTN1bEg4OTBhQlQ4d1QybzdReVVWZE1VeUhGMzNrTjV3Zz0iLCJjaGVja3N1bSI6ImZqUXZ3aWYxbWpGaGNGdGlDUWQ5cHc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDoxNDo1NS4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--54eb80beb27491469e9a83c0c1bf07a222d27d76" for 127.0.0.1 at 2025-03-12 10:09:55 +0000
692
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#update as HTML
693
+ Parameters: {"token"=>"[FILTERED]"}
694
+  EncryptedDisk Storage (4.0ms) Uploaded file to key: 353qn7flzmnk4jziwt9kakzeokru (checksum: fjQvwif1mjFhcFtiCQd9pw==)
695
+ No template found for ActiveStorageEncryption::EncryptedBlobsController#update, rendering head :no_content
696
+ Completed 204 No Content in 5ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 3.3ms)
697
+ ActiveStorage::Blob Load (0.1ms) SELECT "active_storage_blobs".* FROM "active_storage_blobs" WHERE "active_storage_blobs"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
698
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: 353qn7flzmnk4jziwt9kakzeokru
699
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: 353qn7flzmnk4jziwt9kakzeokru
700
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
701
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
702
+ --------------------------------------------------------------------------------------------------------------------------------
703
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_show()_refuses_a_request_if_the_service_no_longer_permits_private_URLs
704
+ --------------------------------------------------------------------------------------------------------------------------------
705
+  EncryptedDisk Storage (0.3ms) Uploaded file to key: edeet1aroh6q
706
+  EncryptedDisk Storage (13.0ms) Generated URL for file at key: edeet1aroh6q (https://www.example.com/active-storage-encryption/blob/KOt0ZS3SzpQtD9_eDinkohDazNConi79CpVVqW6wGH8SZ3htKW8KxsLF-oPJ4vb0-svuNvtFIpRTY7n1tsJcu2NF5e3rYD6rEa6Z8oVdIK4feT4HJ0KRFcproIaY5kp5ae_IzYutMSVXrO-DYiJ2aIpBZlDMBxfecfvvbIb8bg-MvC-DOOa3FV4zyGf3-v4HCJRI8PPeKZ9klZfbhGBIKVeseUYZFJtjG2-iSDzZDTZkUqgnzE_2pqZt45KfZcjIzXnKwJ5v9MlpDLz4ziC3zBy7pfn-myFhChURi0J1akE6s_T20ZzVz3w0QUiZX1r1mQFIV7f2dHy_8spa9tfMOuwHz1uvKOWmjXA85tX0oeKL5q9hIRngsSaFecxCJ21Tq02dqVt_IlzNxUWQTLuXYYVr4PJEhouk99LGcMdhYnq2vq4fucTvMd4cvA5y6g6h95dJ2iGbu4kHE7iYBttE-LuWh4hhnDKDiUGJcMSw-ekXnWjk-8jDu4xJIoF3d5hO5CBHIQiT8PRonZ1e--b1fmZ4Ecxh7LPkXc--QJOhetBs4LKXxZ2tdviq8g/private.doc)
707
+ Started GET "/active-storage-encryption/blob/KOt0ZS3SzpQtD9_eDinkohDazNConi79CpVVqW6wGH8SZ3htKW8KxsLF-oPJ4vb0-svuNvtFIpRTY7n1tsJcu2NF5e3rYD6rEa6Z8oVdIK4feT4HJ0KRFcproIaY5kp5ae_IzYutMSVXrO-DYiJ2aIpBZlDMBxfecfvvbIb8bg-MvC-DOOa3FV4zyGf3-v4HCJRI8PPeKZ9klZfbhGBIKVeseUYZFJtjG2-iSDzZDTZkUqgnzE_2pqZt45KfZcjIzXnKwJ5v9MlpDLz4ziC3zBy7pfn-myFhChURi0J1akE6s_T20ZzVz3w0QUiZX1r1mQFIV7f2dHy_8spa9tfMOuwHz1uvKOWmjXA85tX0oeKL5q9hIRngsSaFecxCJ21Tq02dqVt_IlzNxUWQTLuXYYVr4PJEhouk99LGcMdhYnq2vq4fucTvMd4cvA5y6g6h95dJ2iGbu4kHE7iYBttE-LuWh4hhnDKDiUGJcMSw-ekXnWjk-8jDu4xJIoF3d5hO5CBHIQiT8PRonZ1e--b1fmZ4Ecxh7LPkXc--QJOhetBs4LKXxZ2tdviq8g/private.doc" for 127.0.0.1 at 2025-03-12 10:09:55 +0000
708
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#show as */*
709
+ Parameters: {"token"=>"[FILTERED]", "filename"=>"private"}
710
+ Completed 403 Forbidden in 13ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
711
+ Started GET "/active-storage-encryption/blob/KOt0ZS3SzpQtD9_eDinkohDazNConi79CpVVqW6wGH8SZ3htKW8KxsLF-oPJ4vb0-svuNvtFIpRTY7n1tsJcu2NF5e3rYD6rEa6Z8oVdIK4feT4HJ0KRFcproIaY5kp5ae_IzYutMSVXrO-DYiJ2aIpBZlDMBxfecfvvbIb8bg-MvC-DOOa3FV4zyGf3-v4HCJRI8PPeKZ9klZfbhGBIKVeseUYZFJtjG2-iSDzZDTZkUqgnzE_2pqZt45KfZcjIzXnKwJ5v9MlpDLz4ziC3zBy7pfn-myFhChURi0J1akE6s_T20ZzVz3w0QUiZX1r1mQFIV7f2dHy_8spa9tfMOuwHz1uvKOWmjXA85tX0oeKL5q9hIRngsSaFecxCJ21Tq02dqVt_IlzNxUWQTLuXYYVr4PJEhouk99LGcMdhYnq2vq4fucTvMd4cvA5y6g6h95dJ2iGbu4kHE7iYBttE-LuWh4hhnDKDiUGJcMSw-ekXnWjk-8jDu4xJIoF3d5hO5CBHIQiT8PRonZ1e--b1fmZ4Ecxh7LPkXc--QJOhetBs4LKXxZ2tdviq8g/private.doc" for 127.0.0.1 at 2025-03-12 10:09:55 +0000
712
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#show as */*
713
+ Parameters: {"token"=>"[FILTERED]", "filename"=>"private"}
714
+ Completed 403 Forbidden in 13ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
715
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
716
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
717
+ ----------------------------------------------------------------------------------------------------------------
718
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_show()_refuses_a_request_with_a_token_that_has_expired
719
+ ----------------------------------------------------------------------------------------------------------------
720
+  EncryptedDisk Storage (0.3ms) Uploaded file to key: ed924tppnspa
721
+  EncryptedDisk Storage (12.8ms) Generated URL for file at key: ed924tppnspa (https://www.example.com/active-storage-encryption/blob/RJAJigOvYslZ__bEKxRwja9Kb0fSgoLsJTs796kl1ilzSvbooAzfm-Cl3bbNYmyYAQMnYADzN4bV4CiXI8JYm1zjmJhvLawUiwMQWPcCNQ7S82H7y8THM4_WQ6F34yG2czzc6sWm0KGsvKhybsrDkEdZ-THT86DU1xAHAPaSYBfj_NQCEEpqKIRO3qfqFHwSZgBy3MBj4hNhWjaL7bcwkttD8eycH-9Bpjk-IYqxJmHoXFXyZDcKpRQ3UOWi3V-MLslVSLm8iBSZhgIPq4OQJdYkmjNaOl5BG8CAayaKSXx-y7flbgxVDI8VMD6xg08h1H-ZR___ImbP_mgaZ_iS0N45TiKrojMoKaPoQ63bqCVZZOVs62Kwpq55KTCt-jITz0hQGwHUAg_8MrQ8BlgJK7DfOFB1WKVOkXTHRDXg4E02RwmWZpj2gOsliILROBCMaWM9EoL5bQhQUWUvPx0LGjZYaStBsyzbaTFgjmFE-7iUKT0QiVpJO7FWoeS0UqLROiokQggiEeBsF5J47w--O-2R9RiI8IZTFe-M--f08ieA7bHMFHdQoylX4skw/private.doc)
722
+ Started GET "/active-storage-encryption/blob/RJAJigOvYslZ__bEKxRwja9Kb0fSgoLsJTs796kl1ilzSvbooAzfm-Cl3bbNYmyYAQMnYADzN4bV4CiXI8JYm1zjmJhvLawUiwMQWPcCNQ7S82H7y8THM4_WQ6F34yG2czzc6sWm0KGsvKhybsrDkEdZ-THT86DU1xAHAPaSYBfj_NQCEEpqKIRO3qfqFHwSZgBy3MBj4hNhWjaL7bcwkttD8eycH-9Bpjk-IYqxJmHoXFXyZDcKpRQ3UOWi3V-MLslVSLm8iBSZhgIPq4OQJdYkmjNaOl5BG8CAayaKSXx-y7flbgxVDI8VMD6xg08h1H-ZR___ImbP_mgaZ_iS0N45TiKrojMoKaPoQ63bqCVZZOVs62Kwpq55KTCt-jITz0hQGwHUAg_8MrQ8BlgJK7DfOFB1WKVOkXTHRDXg4E02RwmWZpj2gOsliILROBCMaWM9EoL5bQhQUWUvPx0LGjZYaStBsyzbaTFgjmFE-7iUKT0QiVpJO7FWoeS0UqLROiokQggiEeBsF5J47w--O-2R9RiI8IZTFe-M--f08ieA7bHMFHdQoylX4skw/private.doc" for 127.0.0.1 at 2025-03-12 10:10:00 +0000
723
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#show as */*
724
+ Parameters: {"token"=>"[FILTERED]", "filename"=>"private"}
725
+ Completed 403 Forbidden in 13ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
726
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
727
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
728
+ ------------------------------------------------------------------------------------------------------------------------
729
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_update()_refuses_to_upload_if_the_token_in_the_URL_has_expired
730
+ ------------------------------------------------------------------------------------------------------------------------
731
+  EncryptedDisk Storage (0.1ms) Generated URL for file at key: b7815fbc3027306f8799e179 (https://www.example.com/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJiNzgxNWZiYzMwMjczMDZmODc5OWUxNzkiLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2Ijoiakdnc04zVkZkSVlZNk9aeEwweDMydG1YOG14YUE4TytwTTBCSVoxbWZ1dz0iLCJjaGVja3N1bSI6ImZqUXZ3aWYxbWpGaGNGdGlDUWQ5cHc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDoxMDowMC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--07d073d3863cb0435de1941e99622e1017f13456)
732
+ Started PUT "/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJiNzgxNWZiYzMwMjczMDZmODc5OWUxNzkiLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2Ijoiakdnc04zVkZkSVlZNk9aeEwweDMydG1YOG14YUE4TytwTTBCSVoxbWZ1dz0iLCJjaGVja3N1bSI6ImZqUXZ3aWYxbWpGaGNGdGlDUWQ5cHc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDoxMDowMC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--07d073d3863cb0435de1941e99622e1017f13456" for 127.0.0.1 at 2025-03-12 10:10:05 +0000
733
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#update as HTML
734
+ Parameters: {"token"=>"[FILTERED]"}
735
+ Completed 422 Unprocessable Content in 0ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
736
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
737
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
738
+ --------------------------------------------------------------------------------------------------------------------------------------------------
739
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_update()_refuses_to_upload_if_Content-MD5_from_headers_differs_from_the_one_in_the_token
740
+ --------------------------------------------------------------------------------------------------------------------------------------------------
741
+  EncryptedDisk Storage (0.1ms) Generated URL for file at key: b7815fbc3027306f8799e179 (https://www.example.com/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJiNzgxNWZiYzMwMjczMDZmODc5OWUxNzkiLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2Ijoiakdnc04zVkZkSVlZNk9aeEwweDMydG1YOG14YUE4TytwTTBCSVoxbWZ1dz0iLCJjaGVja3N1bSI6ImZqUXZ3aWYxbWpGaGNGdGlDUWQ5cHc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDoxMDowMC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--07d073d3863cb0435de1941e99622e1017f13456)
742
+ Started PUT "/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJiNzgxNWZiYzMwMjczMDZmODc5OWUxNzkiLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2Ijoiakdnc04zVkZkSVlZNk9aeEwweDMydG1YOG14YUE4TytwTTBCSVoxbWZ1dz0iLCJjaGVja3N1bSI6ImZqUXZ3aWYxbWpGaGNGdGlDUWQ5cHc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDoxMDowMC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--07d073d3863cb0435de1941e99622e1017f13456" for 127.0.0.1 at 2025-03-12 10:09:55 +0000
743
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#update as HTML
744
+ Parameters: {"token"=>"[FILTERED]"}
745
+ Completed 422 Unprocessable Content in 0ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
746
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
747
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
748
+ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
749
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_create_direct_upload_creates_a_blob_and_returns_the_headers_and_the_URL_to_start_the_upload,_which_are_for_the_correct_service_name
750
+ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
751
+ Started POST "/active-storage-encryption/blob/direct-uploads" for 127.0.0.1 at 2025-03-12 10:09:55 +0000
752
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#create_direct_upload as HTML
753
+ Parameters: {"service_name"=>"amazing_encrypting_disk_service", "blob"=>{"content_type"=>"x-binary/sensitive", "filename"=>"biometrics.sec", "checksum"=>"fjQvwif1mjFhcFtiCQd9pw==", "service_name"=>"amazing_encrypting_disk_service", "byte_size"=>"512", "metadata"=>{"womp"=>"1"}}}
754
+ Unpermitted parameter: :service_name. Context: { controller: ActiveStorageEncryption::EncryptedBlobsController, action: create_direct_upload, request: #<ActionDispatch::Request:0x0000000118d5f840>, params: {"service_name"=>"amazing_encrypting_disk_service", "blob"=>{"content_type"=>"x-binary/sensitive", "filename"=>"biometrics.sec", "checksum"=>"fjQvwif1mjFhcFtiCQd9pw==", "service_name"=>"amazing_encrypting_disk_service", "byte_size"=>"512", "metadata"=>{"womp"=>"1"}}, "controller"=>"active_storage_encryption/encrypted_blobs", "action"=>"create_direct_upload"} }
755
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
756
+ ActiveStorage::Blob Create (0.1ms) INSERT INTO "active_storage_blobs" ("key", "filename", "content_type", "metadata", "service_name", "byte_size", "checksum", "created_at", "encryption_key") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING "id" [["key", "9mv2n3pgchyy78umco8ahihq3q2h"], ["filename", "biometrics.sec"], ["content_type", "x-binary/sensitive"], ["metadata", "{\"womp\":\"1\"}"], ["service_name", "amazing_encrypting_disk_service"], ["byte_size", 512], ["checksum", "fjQvwif1mjFhcFtiCQd9pw=="], ["created_at", "2025-03-12 10:09:55"], ["encryption_key", "[FILTERED]"]]
757
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
758
+  EncryptedDisk Storage (0.1ms) Generated URL for file at key: 9mv2n3pgchyy78umco8ahihq3q2h (http://www.example.com/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiI5bXYybjNwZ2NoeXk3OHVtY284YWhpaHEzcTJoIiwiY29udGVudF90eXBlIjoieC1iaW5hcnkvc2Vuc2l0aXZlIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2IjoiM1J6eFFXdXZzZGgxRlJYOU9DTUtMQ25Sck9mVUxpVGNUZG44U3dtenhmOD0iLCJjaGVja3N1bSI6ImZqUXZ3aWYxbWpGaGNGdGlDUWQ5cHc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDoxNDo1NS4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--81d27a2640205971fb3c0c898d7d9a616cb5b015)
759
+ Completed 200 OK in 1ms (Views: 0.0ms | ActiveRecord: 0.1ms (1 query, 0 cached) | GC: 0.0ms)
760
+ ActiveStorage::Blob Load (0.0ms) SELECT "active_storage_blobs".* FROM "active_storage_blobs" WHERE "active_storage_blobs"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
761
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
762
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
763
+ -----------------------------------------------------------------------------------------------------------------------------------------------------
764
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_show()_requires_headers_if_the_private_url_policy_of_the_service_is_set_to_:require_headers
765
+ -----------------------------------------------------------------------------------------------------------------------------------------------------
766
+  EncryptedDisk Storage (0.3ms) Uploaded file to key: 13n1mgqb4r05
767
+  EncryptedDisk Storage (13.0ms) Generated URL for file at key: 13n1mgqb4r05 (https://www.example.com/active-storage-encryption/blob/8AKQql2OgDuWutXXY1zKPSu3F51w_no1t9htpDRFIkbRjeH_KP-zazQYEXxG6hXHnxiq4zrL0rs8NOgDoWAJGRQ4biZopbtWqs00lulY4zJ3LrAuNbbSQkU70e0arTUxa7pJdmZ_Z3wL4CrCK42qktcKn3SA8dQron0u7GUZdzNbGzdpylAvm5JNj8FWmc1TvSPABCAkf3ohm1_8rovScF9EF_8W8R8TWKQMfcgzKU_qo-Pf9wc8BxOXaE47JU1d6eu3pQLb4v_oh6qCrN2xmPL40X9KOoP5nRQB5gSRqAj8nSIr4o_pVLR4UO21wC5UnksfzIbWnhgIHE9e3EHVCV9ev41T3itvXFqBkdhuX5CLdnY5rGqlyRszMuKyJYv9MQXNw_nT2rkRLOYGUUYyreb91g-03TQY0G7U_rxAzLF3g_btFybIIPYqdQYkwfv6oU_0cR3qEusSNWEtq1IJ2r4Kbgz7AB1lJ6WeV750KOCOKqz81XXRl7807mfnr4iY61bHU-IqWXezexX2--nOn1KOySikdSff6u--s4LTo0VyiO6qNEIW3KF_gQ/private.doc)
768
+ Started GET "/active-storage-encryption/blob/8AKQql2OgDuWutXXY1zKPSu3F51w_no1t9htpDRFIkbRjeH_KP-zazQYEXxG6hXHnxiq4zrL0rs8NOgDoWAJGRQ4biZopbtWqs00lulY4zJ3LrAuNbbSQkU70e0arTUxa7pJdmZ_Z3wL4CrCK42qktcKn3SA8dQron0u7GUZdzNbGzdpylAvm5JNj8FWmc1TvSPABCAkf3ohm1_8rovScF9EF_8W8R8TWKQMfcgzKU_qo-Pf9wc8BxOXaE47JU1d6eu3pQLb4v_oh6qCrN2xmPL40X9KOoP5nRQB5gSRqAj8nSIr4o_pVLR4UO21wC5UnksfzIbWnhgIHE9e3EHVCV9ev41T3itvXFqBkdhuX5CLdnY5rGqlyRszMuKyJYv9MQXNw_nT2rkRLOYGUUYyreb91g-03TQY0G7U_rxAzLF3g_btFybIIPYqdQYkwfv6oU_0cR3qEusSNWEtq1IJ2r4Kbgz7AB1lJ6WeV750KOCOKqz81XXRl7807mfnr4iY61bHU-IqWXezexX2--nOn1KOySikdSff6u--s4LTo0VyiO6qNEIW3KF_gQ/private.doc" for 127.0.0.1 at 2025-03-12 10:09:55 +0000
769
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#show as */*
770
+ Parameters: {"token"=>"[FILTERED]", "filename"=>"private"}
771
+ Completed 403 Forbidden in 13ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
772
+ Started GET "/active-storage-encryption/blob/8AKQql2OgDuWutXXY1zKPSu3F51w_no1t9htpDRFIkbRjeH_KP-zazQYEXxG6hXHnxiq4zrL0rs8NOgDoWAJGRQ4biZopbtWqs00lulY4zJ3LrAuNbbSQkU70e0arTUxa7pJdmZ_Z3wL4CrCK42qktcKn3SA8dQron0u7GUZdzNbGzdpylAvm5JNj8FWmc1TvSPABCAkf3ohm1_8rovScF9EF_8W8R8TWKQMfcgzKU_qo-Pf9wc8BxOXaE47JU1d6eu3pQLb4v_oh6qCrN2xmPL40X9KOoP5nRQB5gSRqAj8nSIr4o_pVLR4UO21wC5UnksfzIbWnhgIHE9e3EHVCV9ev41T3itvXFqBkdhuX5CLdnY5rGqlyRszMuKyJYv9MQXNw_nT2rkRLOYGUUYyreb91g-03TQY0G7U_rxAzLF3g_btFybIIPYqdQYkwfv6oU_0cR3qEusSNWEtq1IJ2r4Kbgz7AB1lJ6WeV750KOCOKqz81XXRl7807mfnr4iY61bHU-IqWXezexX2--nOn1KOySikdSff6u--s4LTo0VyiO6qNEIW3KF_gQ/private.doc" for 127.0.0.1 at 2025-03-12 10:09:55 +0000
773
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#show as */*
774
+ Parameters: {"token"=>"[FILTERED]", "filename"=>"private"}
775
+  EncryptedDisk Storage (0.2ms) Downloaded file from key: 13n1mgqb4r05
776
+ Completed 200 OK in 13ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.1ms)
777
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
778
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
779
+ -------------------------------------------------------------------------------------------------------------------------------
780
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_update()_refuses_to_upload_if_no_Content-MD5_is_sent_with_the_request
781
+ -------------------------------------------------------------------------------------------------------------------------------
782
+  EncryptedDisk Storage (0.2ms) Generated URL for file at key: b7815fbc3027306f8799e179 (https://www.example.com/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJiNzgxNWZiYzMwMjczMDZmODc5OWUxNzkiLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2Ijoiakdnc04zVkZkSVlZNk9aeEwweDMydG1YOG14YUE4TytwTTBCSVoxbWZ1dz0iLCJjaGVja3N1bSI6ImZqUXZ3aWYxbWpGaGNGdGlDUWQ5cHc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDoxMDowMC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--07d073d3863cb0435de1941e99622e1017f13456)
783
+ Started PUT "/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJiNzgxNWZiYzMwMjczMDZmODc5OWUxNzkiLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2Ijoiakdnc04zVkZkSVlZNk9aeEwweDMydG1YOG14YUE4TytwTTBCSVoxbWZ1dz0iLCJjaGVja3N1bSI6ImZqUXZ3aWYxbWpGaGNGdGlDUWQ5cHc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDoxMDowMC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--07d073d3863cb0435de1941e99622e1017f13456" for 127.0.0.1 at 2025-03-12 10:09:55 +0000
784
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#update as HTML
785
+ Parameters: {"token"=>"[FILTERED]"}
786
+ Completed 422 Unprocessable Content in 0ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
787
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
788
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
789
+ ------------------------------------------------------------------------------------------------------------------------
790
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_show()_refuses_a_request_which_goes_to_a_non-encrypted_Service
791
+ ------------------------------------------------------------------------------------------------------------------------
792
+  EncryptedDisk Storage (0.3ms) Uploaded file to key: uo7m2ehwyhp7
793
+  EncryptedDisk Storage (12.8ms) Generated URL for file at key: uo7m2ehwyhp7 (https://www.example.com/active-storage-encryption/blob/cTdIQOWtfbVG2VN5ZqYhtXWT-aDaeU-5L31h0C5ti8z9ZbwGUo3VpSFK43NwsYX_OpW2ngOJiPA1o5lAt4zujKjXxahYF8tmYvvlDavLlsdOilVt4asMous1jbn40FuF1pPiCM79mHQAZDw2ZRIYdluqgu-pLmGeydw_G-2De9DyL1LodXEpsi2-XNatffxlOxKCK84kvmFpCChxb6jDywQNG84843SQHNVFVqACjCUo7JD4FTd0sBNAwIdFTofY5c9uzBqMQIHxDIaZRL8LS8YMnno-mNHoQiZyWRezA2V88dLeyOdn5ugM9OIJNLGz9OSOkqppDYJD1kLI9SAM5CTnau2s1T5M3hlCe_TsD7nmopa4eWOjWmoP9KYX7qoPtgXVT5gxxQnVXlFgD5gZ6Viz_kM9AnywxlURd2AcJ4zxK8PGkrx6015tJsP0chgY4DaHwMlGGuiTKveV3CR4syUA9XWAXCZJmCrTn3HrxZdcx4Mz_fLCwhPotVdtZOxH3ov85UaDS4OzpAOz--80_zprnldes23OnN--JhObrSQRK_lR4gssiG6x-A/private.doc)
794
+ Started GET "/active-storage-encryption/blob/cTdIQOWtfbVG2VN5ZqYhtXWT-aDaeU-5L31h0C5ti8z9ZbwGUo3VpSFK43NwsYX_OpW2ngOJiPA1o5lAt4zujKjXxahYF8tmYvvlDavLlsdOilVt4asMous1jbn40FuF1pPiCM79mHQAZDw2ZRIYdluqgu-pLmGeydw_G-2De9DyL1LodXEpsi2-XNatffxlOxKCK84kvmFpCChxb6jDywQNG84843SQHNVFVqACjCUo7JD4FTd0sBNAwIdFTofY5c9uzBqMQIHxDIaZRL8LS8YMnno-mNHoQiZyWRezA2V88dLeyOdn5ugM9OIJNLGz9OSOkqppDYJD1kLI9SAM5CTnau2s1T5M3hlCe_TsD7nmopa4eWOjWmoP9KYX7qoPtgXVT5gxxQnVXlFgD5gZ6Viz_kM9AnywxlURd2AcJ4zxK8PGkrx6015tJsP0chgY4DaHwMlGGuiTKveV3CR4syUA9XWAXCZJmCrTn3HrxZdcx4Mz_fLCwhPotVdtZOxH3ov85UaDS4OzpAOz--80_zprnldes23OnN--JhObrSQRK_lR4gssiG6x-A/private.doc" for 127.0.0.1 at 2025-03-12 10:09:55 +0000
795
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#show as */*
796
+ Parameters: {"token"=>"[FILTERED]", "filename"=>"private"}
797
+ Completed 403 Forbidden in 13ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
798
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
799
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
800
+ --------------------------------------------------------------------------------------------------------------------------------------------------------------
801
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_update()_refuses_to_upload_if_plaintext_is_different_to_the_one_the_checksum_has_been_calculated_for
802
+ --------------------------------------------------------------------------------------------------------------------------------------------------------------
803
+  EncryptedDisk Storage (0.1ms) Generated URL for file at key: b7815fbc3027306f8799e179 (https://www.example.com/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJiNzgxNWZiYzMwMjczMDZmODc5OWUxNzkiLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2Ijoiakdnc04zVkZkSVlZNk9aeEwweDMydG1YOG14YUE4TytwTTBCSVoxbWZ1dz0iLCJjaGVja3N1bSI6ImZqUXZ3aWYxbWpGaGNGdGlDUWQ5cHc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDoxMDowMC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--07d073d3863cb0435de1941e99622e1017f13456)
804
+ Started PUT "/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJiNzgxNWZiYzMwMjczMDZmODc5OWUxNzkiLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2Ijoiakdnc04zVkZkSVlZNk9aeEwweDMydG1YOG14YUE4TytwTTBCSVoxbWZ1dz0iLCJjaGVja3N1bSI6ImZqUXZ3aWYxbWpGaGNGdGlDUWQ5cHc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDoxMDowMC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--07d073d3863cb0435de1941e99622e1017f13456" for 127.0.0.1 at 2025-03-12 10:09:55 +0000
805
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#update as HTML
806
+ Parameters: {"token"=>"[FILTERED]"}
807
+  EncryptedDisk Storage (0.1ms) Deleted file from key: b7815fbc3027306f8799e179
808
+  EncryptedDisk Storage (0.5ms) Uploaded file to key: b7815fbc3027306f8799e179 (checksum: fjQvwif1mjFhcFtiCQd9pw==)
809
+ Completed 422 Unprocessable Content in 1ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
810
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
811
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
812
+ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
813
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_update()_refuses_to_upload_if_the_encryption_key_given_in_the_header_is_different_than_the_one_used_to_generate_the_URL
814
+ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
815
+  EncryptedDisk Storage (0.2ms) Generated URL for file at key: b7815fbc3027306f8799e179 (https://www.example.com/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJiNzgxNWZiYzMwMjczMDZmODc5OWUxNzkiLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2Ijoiakdnc04zVkZkSVlZNk9aeEwweDMydG1YOG14YUE4TytwTTBCSVoxbWZ1dz0iLCJjaGVja3N1bSI6ImZqUXZ3aWYxbWpGaGNGdGlDUWQ5cHc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDoxMDowMC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--07d073d3863cb0435de1941e99622e1017f13456)
816
+ Started PUT "/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJiNzgxNWZiYzMwMjczMDZmODc5OWUxNzkiLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2Ijoiakdnc04zVkZkSVlZNk9aeEwweDMydG1YOG14YUE4TytwTTBCSVoxbWZ1dz0iLCJjaGVja3N1bSI6ImZqUXZ3aWYxbWpGaGNGdGlDUWQ5cHc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDoxMDowMC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--07d073d3863cb0435de1941e99622e1017f13456" for 127.0.0.1 at 2025-03-12 10:09:55 +0000
817
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#update as HTML
818
+ Parameters: {"token"=>"[FILTERED]"}
819
+ Completed 422 Unprocessable Content in 0ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
820
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
821
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
822
+ ------------------------------------------------------------------------------------------------------------------------------------------------------------
823
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_update()_refuses_to_upload_if_plaintext_has_a_different_length_than_stated_during_token_generation
824
+ ------------------------------------------------------------------------------------------------------------------------------------------------------------
825
+  EncryptedDisk Storage (0.1ms) Generated URL for file at key: b7815fbc3027306f8799e179 (https://www.example.com/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJiNzgxNWZiYzMwMjczMDZmODc5OWUxNzkiLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjQ2OCwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2Ijoiakdnc04zVkZkSVlZNk9aeEwweDMydG1YOG14YUE4TytwTTBCSVoxbWZ1dz0iLCJjaGVja3N1bSI6ImZqUXZ3aWYxbWpGaGNGdGlDUWQ5cHc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDoxMDowMC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--f1e798d6083184c9d93383159db5b42749cbd3af)
826
+ Started PUT "/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJiNzgxNWZiYzMwMjczMDZmODc5OWUxNzkiLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjQ2OCwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2Ijoiakdnc04zVkZkSVlZNk9aeEwweDMydG1YOG14YUE4TytwTTBCSVoxbWZ1dz0iLCJjaGVja3N1bSI6ImZqUXZ3aWYxbWpGaGNGdGlDUWQ5cHc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDoxMDowMC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--f1e798d6083184c9d93383159db5b42749cbd3af" for 127.0.0.1 at 2025-03-12 10:09:55 +0000
827
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#update as HTML
828
+ Parameters: {"token"=>"[FILTERED]"}
829
+ Completed 422 Unprocessable Content in 0ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
830
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
831
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
832
+ --------------------------------------------------------------------------------------------------------------------------
833
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_create_direct_upload_refuses_without_being_given_an_MD5_checksum
834
+ --------------------------------------------------------------------------------------------------------------------------
835
+ Started POST "/active-storage-encryption/blob/direct-uploads" for 127.0.0.1 at 2025-03-12 10:09:55 +0000
836
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#create_direct_upload as HTML
837
+ Parameters: {"service_name"=>"amazing_encrypting_disk_service", "blob"=>{"content_type"=>"x-binary/sensitive", "filename"=>"biometrics.sec", "service_name"=>"amazing_encrypting_disk_service", "byte_size"=>"512"}}
838
+ Unpermitted parameter: :service_name. Context: { controller: ActiveStorageEncryption::EncryptedBlobsController, action: create_direct_upload, request: #<ActionDispatch::Request:0x0000000118c55dc8>, params: {"service_name"=>"amazing_encrypting_disk_service", "blob"=>{"content_type"=>"x-binary/sensitive", "filename"=>"biometrics.sec", "service_name"=>"amazing_encrypting_disk_service", "byte_size"=>"512"}, "controller"=>"active_storage_encryption/encrypted_blobs", "action"=>"create_direct_upload"} }
839
+ Rendering text template
840
+ Rendered text template (Duration: 0.0ms | GC: 0.0ms)
841
+ Completed 422 Unprocessable Content in 2ms (Views: 1.9ms | ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.1ms)
842
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
843
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
844
+ -------------------------------------------------------------------------------------------------------
845
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_show()_refuses_a_request_with_a_garbage_token
846
+ -------------------------------------------------------------------------------------------------------
847
+ Started GET "/active-storage-encryption/blob/garbage/exfil.bin" for 127.0.0.1 at 2025-03-12 10:09:55 +0000
848
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#show as */*
849
+ Parameters: {"token"=>"[FILTERED]", "filename"=>"exfil"}
850
+ Completed 403 Forbidden in 13ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
851
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
852
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
853
+ ------------------------------------------------------------------------------------------------------------------------
854
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_show()_refuses_a_request_which_has_an_incorrect_encryption_key
855
+ ------------------------------------------------------------------------------------------------------------------------
856
+  EncryptedDisk Storage (0.3ms) Uploaded file to key: ivzu9u47wwss
857
+  EncryptedDisk Storage (12.8ms) Generated URL for file at key: ivzu9u47wwss (https://www.example.com/active-storage-encryption/blob/Q8h4sR8TAKucuRxsJhPM81thDgtmvhlaoVmBgJPdgSOSzXKkGDECYNbWSnNxNZ5F9d672kqo01ZaucFiAMW76NS92hDMa6ZcQ25-3rLyNkwe8MyjySGTv4yZJi8_9xUf3P6M5kOBSw-4zDgyPv0QUuAE1rNOfga33pevBZuT-7oFi3Mvs642N6eeJ2aJ_OBA9DJdy3jIUCzDhZMjHLzY9BLXsSVSwMHQ7nSKGXQaPY5b0OawoUD98sXCXNye0B_7jc6BuMuVTnO9zeA8cJ8Et-AVU46CWAgg__xfW3U1kY_pGlnzoYoh8nVNdB3NC4JRXevKJrBQpSuffMtnYEfXRhffN0QTfb9L3HQnc240upS60u2M5miP-Hq76ksOjlul5zcOYXE5Wl7IrWSvTAQ5cf6jVxSIry2b3dnWOm13c48FbUg821y4ecINLr4R6REPcxMdM6wqiTh2We8KGlJyu4bJEEqfhwqvDREwZcrcVf2M-qjW7CdvctvtZgDuDrd8DwJpj_358UhewLLD--C0ew9v_49xd9_1ae--jiWceyousHDu721WTDC5EQ/private.doc)
858
+ Started GET "/active-storage-encryption/blob/Q8h4sR8TAKucuRxsJhPM81thDgtmvhlaoVmBgJPdgSOSzXKkGDECYNbWSnNxNZ5F9d672kqo01ZaucFiAMW76NS92hDMa6ZcQ25-3rLyNkwe8MyjySGTv4yZJi8_9xUf3P6M5kOBSw-4zDgyPv0QUuAE1rNOfga33pevBZuT-7oFi3Mvs642N6eeJ2aJ_OBA9DJdy3jIUCzDhZMjHLzY9BLXsSVSwMHQ7nSKGXQaPY5b0OawoUD98sXCXNye0B_7jc6BuMuVTnO9zeA8cJ8Et-AVU46CWAgg__xfW3U1kY_pGlnzoYoh8nVNdB3NC4JRXevKJrBQpSuffMtnYEfXRhffN0QTfb9L3HQnc240upS60u2M5miP-Hq76ksOjlul5zcOYXE5Wl7IrWSvTAQ5cf6jVxSIry2b3dnWOm13c48FbUg821y4ecINLr4R6REPcxMdM6wqiTh2We8KGlJyu4bJEEqfhwqvDREwZcrcVf2M-qjW7CdvctvtZgDuDrd8DwJpj_358UhewLLD--C0ew9v_49xd9_1ae--jiWceyousHDu721WTDC5EQ/private.doc" for 127.0.0.1 at 2025-03-12 10:09:55 +0000
859
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#show as */*
860
+ Parameters: {"token"=>"[FILTERED]", "filename"=>"private"}
861
+  EncryptedDisk Storage (0.2ms) Downloaded file from key: ivzu9u47wwss
862
+ Completed 403 Forbidden in 13ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.1ms)
863
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
864
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
865
+ --------------------------------------------------------------------------------------------------------------------------------------
866
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_update()_uploads_the_blob_binary_data_to_an_encrypted_Service_using_HTTP_PUT
867
+ --------------------------------------------------------------------------------------------------------------------------------------
868
+  EncryptedDisk Storage (0.1ms) Generated URL for file at key: b7815fbc3027306f8799e179 (https://www.example.com/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJiNzgxNWZiYzMwMjczMDZmODc5OWUxNzkiLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2Ijoiakdnc04zVkZkSVlZNk9aeEwweDMydG1YOG14YUE4TytwTTBCSVoxbWZ1dz0iLCJjaGVja3N1bSI6ImZqUXZ3aWYxbWpGaGNGdGlDUWQ5cHc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDoxMDowMC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--07d073d3863cb0435de1941e99622e1017f13456)
869
+ Started PUT "/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJiNzgxNWZiYzMwMjczMDZmODc5OWUxNzkiLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2Ijoiakdnc04zVkZkSVlZNk9aeEwweDMydG1YOG14YUE4TytwTTBCSVoxbWZ1dz0iLCJjaGVja3N1bSI6ImZqUXZ3aWYxbWpGaGNGdGlDUWQ5cHc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDoxMDowMC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--07d073d3863cb0435de1941e99622e1017f13456" for 127.0.0.1 at 2025-03-12 10:09:55 +0000
870
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#update as HTML
871
+ Parameters: {"token"=>"[FILTERED]"}
872
+  EncryptedDisk Storage (0.4ms) Uploaded file to key: b7815fbc3027306f8799e179 (checksum: fjQvwif1mjFhcFtiCQd9pw==)
873
+ No template found for ActiveStorageEncryption::EncryptedBlobsController#update, rendering head :no_content
874
+ Completed 204 No Content in 1ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
875
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: b7815fbc3027306f8799e179
876
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: b7815fbc3027306f8799e179
877
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
878
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
879
+ ---------------------------------------------------------------------------------------------------------------------------------------------------------
880
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_show()_refuses_a_request_with_a_token_that_has_been_encrypted_using_an_incorrect_encryption_key
881
+ ---------------------------------------------------------------------------------------------------------------------------------------------------------
882
+  EncryptedDisk Storage (0.2ms) Uploaded file to key: 6oacky8gm3j0
883
+  EncryptedDisk Storage (0.1ms) Generated URL for file at key: 6oacky8gm3j0 (https://www.example.com/active-storage-encryption/blob/VI96EEdrVYp6TdTTQ6Fmm1gm3NVpbLfjQHXF_bnt38RjAwB9gd51XX7MAfmp4ZqeqlsnC5v1xPUktuycXZPkvX_Qeqq8C77crOVAXhfGFRQOkSGwRkaBa6X-fT0ipWaLf0DRucTU78TKRsxRGmoBhwnG64F-B5z6iSuOZVqVg4hRU3S0KRzbZKcpwSt2kDBgfOD3g2n0w25JjQ25BapTt83ls937-eckEKXDXkc-Kl6l58AGKVVyihvLAOZpf6Jnu35QvmAIIWdehG23BP2_Gxu1Wbp7E0x0E-3UOPgSP_7A4P-GSl9pvcJO1lmapQKVs1nXYZQJmJ_HANnkw-wq1bwQLMnRjXzXS0qLmcrm7mtmnqWGaBjknIqx0NliSPvivIb7hyqTDbw2hdyeD6OkWQczIJ0i94rTPppD7q4dnBQhdPcHWCMeR5XQh_NJ9MW7paj7yuwXdUSaeT4Kxsc7QZgxJuBdVxsT3go-KWE-KVTWtXb2oXLvTLPvzBV-hyiN-wb_B041SDl610gb7Q--2lyET5Oc0C9cgNKL--sdg7txOqWU-Ep4RyeA-dJw/private.doc)
884
+ Started GET "/active-storage-encryption/blob/VI96EEdrVYp6TdTTQ6Fmm1gm3NVpbLfjQHXF_bnt38RjAwB9gd51XX7MAfmp4ZqeqlsnC5v1xPUktuycXZPkvX_Qeqq8C77crOVAXhfGFRQOkSGwRkaBa6X-fT0ipWaLf0DRucTU78TKRsxRGmoBhwnG64F-B5z6iSuOZVqVg4hRU3S0KRzbZKcpwSt2kDBgfOD3g2n0w25JjQ25BapTt83ls937-eckEKXDXkc-Kl6l58AGKVVyihvLAOZpf6Jnu35QvmAIIWdehG23BP2_Gxu1Wbp7E0x0E-3UOPgSP_7A4P-GSl9pvcJO1lmapQKVs1nXYZQJmJ_HANnkw-wq1bwQLMnRjXzXS0qLmcrm7mtmnqWGaBjknIqx0NliSPvivIb7hyqTDbw2hdyeD6OkWQczIJ0i94rTPppD7q4dnBQhdPcHWCMeR5XQh_NJ9MW7paj7yuwXdUSaeT4Kxsc7QZgxJuBdVxsT3go-KWE-KVTWtXb2oXLvTLPvzBV-hyiN-wb_B041SDl610gb7Q--2lyET5Oc0C9cgNKL--sdg7txOqWU-Ep4RyeA-dJw/private.doc" for 127.0.0.1 at 2025-03-12 10:09:55 +0000
885
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#show as */*
886
+ Parameters: {"token"=>"[FILTERED]", "filename"=>"private"}
887
+ Completed 403 Forbidden in 13ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
888
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
889
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
890
+ ----------------------------------------------------------------------------------------------------------------------------------
891
+ ActiveStorageEncryptionEncryptedBlobsControllerTest: test_update()_refuses_to_upload_if_no_encryption_key_is_present_in_the_header
892
+ ----------------------------------------------------------------------------------------------------------------------------------
893
+  EncryptedDisk Storage (0.1ms) Generated URL for file at key: b7815fbc3027306f8799e179 (https://www.example.com/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJiNzgxNWZiYzMwMjczMDZmODc5OWUxNzkiLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2Ijoiakdnc04zVkZkSVlZNk9aeEwweDMydG1YOG14YUE4TytwTTBCSVoxbWZ1dz0iLCJjaGVja3N1bSI6ImZqUXZ3aWYxbWpGaGNGdGlDUWQ5cHc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDoxMDowMC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--07d073d3863cb0435de1941e99622e1017f13456)
894
+ Started PUT "/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJiNzgxNWZiYzMwMjczMDZmODc5OWUxNzkiLCJjb250ZW50X3R5cGUiOiJiaW5hcnkvb2N0ZXQtc3RyZWFtIiwiY29udGVudF9sZW5ndGgiOjUxMiwiZW5jcnlwdGlvbl9rZXlfc2hhMjU2Ijoiakdnc04zVkZkSVlZNk9aeEwweDMydG1YOG14YUE4TytwTTBCSVoxbWZ1dz0iLCJjaGVja3N1bSI6ImZqUXZ3aWYxbWpGaGNGdGlDUWQ5cHc9PSIsInNlcnZpY2VfbmFtZSI6ImFtYXppbmdfZW5jcnlwdGluZ19kaXNrX3NlcnZpY2UifSwiZXhwIjoiMjAyNS0wMy0xMlQxMDoxMDowMC4wMDBaIiwicHVyIjoiZW5jcnlwdGVkX3B1dCJ9fQ==--07d073d3863cb0435de1941e99622e1017f13456" for 127.0.0.1 at 2025-03-12 10:09:55 +0000
895
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#update as HTML
896
+ Parameters: {"token"=>"[FILTERED]"}
897
+ Completed 422 Unprocessable Content in 0ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
898
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
899
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
900
+ ---------------------------------------------------------
901
+ ActiveStorageEncryptionTest: test_it_has_a_version_number
902
+ ---------------------------------------------------------
903
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
904
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
905
+ ------------------------------------------------------------------------------------------------------------------------
906
+ ActiveStorageEncryption::EncryptedDiskServiceTest: test_upload_then_download_using_user_supplied_key_of_arbitrary_length
907
+ ------------------------------------------------------------------------------------------------------------------------
908
+  EncryptedDisk Storage (0.3ms) Uploaded file to key: key-1
909
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: key-1
910
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
911
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
912
+ ------------------------------------------------------------------------
913
+ ActiveStorageEncryption::EncryptedDiskServiceTest: test_composes_objects
914
+ ------------------------------------------------------------------------
915
+  EncryptedDisk Storage (0.2ms) Uploaded file to key: key-1
916
+  EncryptedDisk Storage (0.2ms) Uploaded file to key: key-2
917
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: key-3
918
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: key-3
919
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
920
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
921
+ ------------------------------------------------------------------------------------------------------------
922
+ ActiveStorageEncryption::EncryptedDiskServiceTest: test_get_without_headers_fails_if_service_does_not_permit
923
+ ------------------------------------------------------------------------------------------------------------
924
+  EncryptedDisk Storage (0.2ms) Uploaded file to key: key-1
925
+  EncryptedDisk Storage (12.9ms) Generated URL for file at key: key-1 (https://www.example.com/active-storage-encryption/blob/7n_5rwsG3w7-v16rf9yYyFEt0VMRxLvRaxQ5nevW6NZ0y08Oq9AopekJRsgKO2OQ8ApTnSNQMDf2JYwfQzuDo1fvRHF4fu6ksdGTCh3OAi2tQXtrNGFlsnFOaYcdQyOxMsgShE0lV9wKM02iKhPF5W9mPg4DqYzb3PngB1pTLR23hwKtBi-wJeYS184D6Qs-Xfjnw-6YJXQyfX9kFg0amzoiXXTICRQlyFYVjA_WY9JDSXNDS02_YCo3UXPzOKgaz-IR-583cEafoNYFlc29y7-0tin4U60nrTHAHO76KdFWbVxVeQIcryeDbcmxJw1qZWDKiyJ502mEIUdZAsHVKBy-qdzvGQNKY0dRNK4PNo5LZ9OUna_8_R_U5aWZd71Qt8dVRUAyRZZ5eTz9I1MmW571liC01Umueci0AntMabm3jGAuyADZzHdIh4Ee8-y8hV4VXSww5xU9zlny700C18CaU7H8pegPSV9a_q0VgRQ89dNjcpo_RY91HGi1MTRGdOle5NpUv3P4F6POUtrkQp2MMwTfEZJzCf4bV1rScvh_A36a3-vIPdVkKtAt-4tk--4IIw6zuNfbrhgd4c--8_4DCJsr64iBgaIgFx3lZA/temp.bin)
926
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#show as HTML
927
+ Parameters: {"token"=>"7n_5rwsG3w7-v16rf9yYyFEt0VMRxLvRaxQ5nevW6NZ0y08Oq9AopekJRsgKO2OQ8ApTnSNQMDf2JYwfQzuDo1fvRHF4fu6ksdGTCh3OAi2tQXtrNGFlsnFOaYcdQyOxMsgShE0lV9wKM02iKhPF5W9mPg4DqYzb3PngB1pTLR23hwKtBi-wJeYS184D6Qs-Xfjnw-6YJXQyfX9kFg0amzoiXXTICRQlyFYVjA_WY9JDSXNDS02_YCo3UXPzOKgaz-IR-583cEafoNYFlc29y7-0tin4U60nrTHAHO76KdFWbVxVeQIcryeDbcmxJw1qZWDKiyJ502mEIUdZAsHVKBy-qdzvGQNKY0dRNK4PNo5LZ9OUna_8_R_U5aWZd71Qt8dVRUAyRZZ5eTz9I1MmW571liC01Umueci0AntMabm3jGAuyADZzHdIh4Ee8-y8hV4VXSww5xU9zlny700C18CaU7H8pegPSV9a_q0VgRQ89dNjcpo_RY91HGi1MTRGdOle5NpUv3P4F6POUtrkQp2MMwTfEZJzCf4bV1rScvh_A36a3-vIPdVkKtAt-4tk--4IIw6zuNfbrhgd4c--8_4DCJsr64iBgaIgFx3lZA"}
928
+ Completed 403 Forbidden in 13ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
929
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
930
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
931
+ -------------------------------------------------------------------------------------------------------
932
+ ActiveStorageEncryption::EncryptedDiskServiceTest: test_upload_then_failing_download_with_incorrect_key
933
+ -------------------------------------------------------------------------------------------------------
934
+  EncryptedDisk Storage (0.2ms) Uploaded file to key: key-1
935
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: key-1
936
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: key-1
937
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
938
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
939
+ -----------------------------------------------------------------------------------------------------------------
940
+ ActiveStorageEncryption::EncryptedDiskServiceTest: test_upload_via_older_encryption_scheme_still_can_be_retrieved
941
+ -----------------------------------------------------------------------------------------------------------------
942
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: ad2ecbd887d37faab1b35308343a4f39ad79cecb9546b3ec6611832d920c57eb
943
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: ad2ecbd887d37faab1b35308343a4f39ad79cecb9546b3ec6611832d920c57eb
944
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
945
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
946
+ ----------------------------------------------------------------------------------------------
947
+ ActiveStorageEncryption::EncryptedDiskServiceTest: test_upload_then_download_using_correct_key
948
+ ----------------------------------------------------------------------------------------------
949
+  EncryptedDisk Storage (0.2ms) Uploaded file to key: key-1
950
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: key-1
951
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
952
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
953
+ ---------------------------------------------------------------------------------------------
954
+ ActiveStorageEncryption::EncryptedDiskServiceTest: test_upload_requires_key_of_certain_length
955
+ ---------------------------------------------------------------------------------------------
956
+  EncryptedDisk Storage (0.0ms) Uploaded file to key: key-1
957
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
958
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
959
+ ----------------------------------------------------------------------------------------
960
+ ActiveStorageEncryption::EncryptedDiskServiceTest: test_get_with_headers_always_succeeds
961
+ ----------------------------------------------------------------------------------------
962
+  EncryptedDisk Storage (0.2ms) Uploaded file to key: key-1
963
+  EncryptedDisk Storage (12.8ms) Generated URL for file at key: key-1 (https://www.example.com/active-storage-encryption/blob/EYjCYunU02RXSmGZv3RfGNl_qHN_tUJdrgv_jQuQjucgzJmONE2_wY2pnpUDCbcbJk6OueC20W585u0zzitamdJIpkQ7sBdqhOfkW4EzyZp8n-oNl7FScvIn9vezOg0iVqqHjcWKrjDstbAmwPKHXgA0G9JFYEJ-3GUr_9karecxOQFeNVAHh4JRJqfgFa-BraKcNSX_ro8HMbmzUFoQlGJvH8rcimoLSAG7nwdd8ZYEP4cxawpfvL6989-kZjJ7RhV-oVFYX6NPxRLhngd2G_GLodyLDcW39Kfu-dOCasCBJ5eqd3t7iFIZl-7Y3ZGxK-THe5EvWYUhV0HB8_x9oC-81fgM1CqeGQwRiOOcJ6fqiYNSkctAmUAaT7YPec4zUQyyalubNSkrWsxgSLOKss1RcLCIbVFsS4iUhgyBzn6v4SP9QQhBaGiBdfou0KZo9WFjq9-SacV6wEzEY14pNpnuvoq8kAk71glkDismAiHb4luDckWKnNYp-lO18qPFjBVLRD7isdmc6jomvfuOTS6YSFLvGPG8uxOEP1vdLCtcy7VPqq3CeR2Fwv9jNOj7--pMrO5Dx4-K6ZDa2Q--7qJ1ehrSUkPNq19W1mA2tg/temp.bin)
964
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#show as HTML
965
+ Parameters: {"token"=>"EYjCYunU02RXSmGZv3RfGNl_qHN_tUJdrgv_jQuQjucgzJmONE2_wY2pnpUDCbcbJk6OueC20W585u0zzitamdJIpkQ7sBdqhOfkW4EzyZp8n-oNl7FScvIn9vezOg0iVqqHjcWKrjDstbAmwPKHXgA0G9JFYEJ-3GUr_9karecxOQFeNVAHh4JRJqfgFa-BraKcNSX_ro8HMbmzUFoQlGJvH8rcimoLSAG7nwdd8ZYEP4cxawpfvL6989-kZjJ7RhV-oVFYX6NPxRLhngd2G_GLodyLDcW39Kfu-dOCasCBJ5eqd3t7iFIZl-7Y3ZGxK-THe5EvWYUhV0HB8_x9oC-81fgM1CqeGQwRiOOcJ6fqiYNSkctAmUAaT7YPec4zUQyyalubNSkrWsxgSLOKss1RcLCIbVFsS4iUhgyBzn6v4SP9QQhBaGiBdfou0KZo9WFjq9-SacV6wEzEY14pNpnuvoq8kAk71glkDismAiHb4luDckWKnNYp-lO18qPFjBVLRD7isdmc6jomvfuOTS6YSFLvGPG8uxOEP1vdLCtcy7VPqq3CeR2Fwv9jNOj7--pMrO5Dx4-K6ZDa2Q--7qJ1ehrSUkPNq19W1mA2tg"}
966
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: key-1
967
+ Completed 200 OK in 13ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
968
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
969
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
970
+ ---------------------------------------------------------------------------------------------------
971
+ ActiveStorageEncryption::EncryptedDiskServiceTest: test_non_encrypted_service_goes_through_normally
972
+ ---------------------------------------------------------------------------------------------------
973
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
974
+ ActiveStorage::Blob Create (0.1ms) INSERT INTO "active_storage_blobs" ("key", "filename", "content_type", "metadata", "service_name", "byte_size", "checksum", "created_at", "encryption_key") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING "id" [["key", "x6plznfuhrsyjn9pox2a6xgmcs3x"], ["filename", "random.text"], ["content_type", "text/plain"], ["metadata", "{\"identified\":true}"], ["service_name", "test"], ["byte_size", 17421], ["checksum", "YGbb55yfQQzY1AeUF0dGpQ=="], ["created_at", "2025-03-12 10:09:55.725041"], ["encryption_key", "[FILTERED]"]]
975
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
976
+  Disk Storage (0.3ms) Uploaded file to key: x6plznfuhrsyjn9pox2a6xgmcs3x (checksum: YGbb55yfQQzY1AeUF0dGpQ==)
977
+  Disk Storage (0.0ms) Downloaded file from key: x6plznfuhrsyjn9pox2a6xgmcs3x
978
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
979
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
980
+ ---------------------------------------------------------------------------------
981
+ ActiveStorageEncryption::EncryptedDiskServiceTest: test_headers_for_direct_upload
982
+ ---------------------------------------------------------------------------------
983
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
984
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
985
+ -------------------------------------------------------------------------------------------------------
986
+ ActiveStorageEncryption::EncryptedDiskServiceTest: test_get_without_headers_succeeds_if_service_permits
987
+ -------------------------------------------------------------------------------------------------------
988
+  EncryptedDisk Storage (0.2ms) Uploaded file to key: key-1
989
+  EncryptedDisk Storage (12.9ms) Generated URL for file at key: key-1 (https://www.example.com/active-storage-encryption/blob/sBXNvSHDtdZQ8OMRoFpljY0Hxea0hRLzsVoWKRotJJUehlWZ-jCcZcQHLtyT1zAY0_kPS4nCufSUG8tZtW6MTVyXwjbTklc-M5mxYsnvhhq18OPvAa6LNDS9e4ZSFCkbtwRvGcvig5OIk_OYJ3XmiH0vsTcrhD5X84Jtj3XKjbD_nEseC379IGNT6O1SiK-JTKQUQaBrDlOuWXG-MuLS2SUXHq80vQ6YN5E6E1qdI4L-RUxHqVB8MmiQgvD_LT4RLKDl71se-fDsy1oWbYamcFy99LpsmTzEy2BfPQlK1r4_vxr7vWbqCOCqVh4D-1K8jmjo70H4QB2FernxfkMQPpUyhbt1WXBJoQ0SzPk2HGl7sNMJ7Hx2Ifw_4Ers90UmcqX432v1OLjd10IXbjHmT4ZsgZ6cAOS0PSl7JSek2ZADM8ZsAr7Prwg4SD2wQdF6GqXzmkSLmo5yjmvz7D7Zz1ZOs809UvdjxDt-HPsxJn0oNAPLbXrOq92o-o0yQtddB9DjjtY-4zZXgYQW9lrCzRtVIO2GqevMHLUYXiZvSFg7zeqtnnWuf7gt3XkqDl3e--vbTLzjoxXhUlarl---_Kxm-5cIDcQQV-KDxcmLFg/temp.bin)
990
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#show as HTML
991
+ Parameters: {"token"=>"sBXNvSHDtdZQ8OMRoFpljY0Hxea0hRLzsVoWKRotJJUehlWZ-jCcZcQHLtyT1zAY0_kPS4nCufSUG8tZtW6MTVyXwjbTklc-M5mxYsnvhhq18OPvAa6LNDS9e4ZSFCkbtwRvGcvig5OIk_OYJ3XmiH0vsTcrhD5X84Jtj3XKjbD_nEseC379IGNT6O1SiK-JTKQUQaBrDlOuWXG-MuLS2SUXHq80vQ6YN5E6E1qdI4L-RUxHqVB8MmiQgvD_LT4RLKDl71se-fDsy1oWbYamcFy99LpsmTzEy2BfPQlK1r4_vxr7vWbqCOCqVh4D-1K8jmjo70H4QB2FernxfkMQPpUyhbt1WXBJoQ0SzPk2HGl7sNMJ7Hx2Ifw_4Ers90UmcqX432v1OLjd10IXbjHmT4ZsgZ6cAOS0PSl7JSek2ZADM8ZsAr7Prwg4SD2wQdF6GqXzmkSLmo5yjmvz7D7Zz1ZOs809UvdjxDt-HPsxJn0oNAPLbXrOq92o-o0yQtddB9DjjtY-4zZXgYQW9lrCzRtVIO2GqevMHLUYXiZvSFg7zeqtnnWuf7gt3XkqDl3e--vbTLzjoxXhUlarl---_Kxm-5cIDcQQV-KDxcmLFg"}
992
+  EncryptedDisk Storage (0.2ms) Downloaded file from key: key-1
993
+ Completed 200 OK in 13ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
994
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
995
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
996
+ ----------------------------------------------------------------------------------------------------------------
997
+ ActiveStorageEncryption::EncryptedDiskServiceTest: test_generating_url_fails_if_streaming_is_off_for_the_service
998
+ ----------------------------------------------------------------------------------------------------------------
999
+  EncryptedDisk Storage (0.2ms) Uploaded file to key: key-1
1000
+  EncryptedDisk Storage (0.0ms) Generated URL for file at key: key-1 ()
1001
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
1002
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
1003
+ --------------------------------------------------------------------------
1004
+ ActiveStorageEncryption::EncryptedDiskServiceTest: test_put_via_controller
1005
+ --------------------------------------------------------------------------
1006
+  EncryptedDisk Storage (0.1ms) Generated URL for file at key: key-1 (https://www.example.com/active-storage-encryption/blob/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJrZXktMSIsImNvbnRlbnRfdHlwZSI6ImJpbmFyeS9vY3RldC1zdHJlYW0iLCJjb250ZW50X2xlbmd0aCI6MTc0MjEsImVuY3J5cHRpb25fa2V5X3NoYTI1NiI6IlN6ME14RnR0MzVzM2VRS0M1RytDVkxtb01VeDhUeGxlVkQ4YW9tRGVQVW89IiwiY2hlY2tzdW0iOiJHSm5qek9Rb1M2MlJWeGwyTk9XM0NBPT0iLCJzZXJ2aWNlX25hbWUiOiJhbWF6aW5nX2VuY3J5cHRpbmdfZGlza19zZXJ2aWNlIn0sImV4cCI6IjIwMjUtMDMtMTJUMTA6MTA6NTUuNzU0WiIsInB1ciI6ImVuY3J5cHRlZF9wdXQifX0=--2e49c6883aa91737dae645cac9d4715d11d57499)
1007
+ Processing by ActiveStorageEncryption::EncryptedBlobsController#update as HTML
1008
+ Parameters: {"token"=>"eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJrZXktMSIsImNvbnRlbnRfdHlwZSI6ImJpbmFyeS9vY3RldC1zdHJlYW0iLCJjb250ZW50X2xlbmd0aCI6MTc0MjEsImVuY3J5cHRpb25fa2V5X3NoYTI1NiI6IlN6ME14RnR0MzVzM2VRS0M1RytDVkxtb01VeDhUeGxlVkQ4YW9tRGVQVW89IiwiY2hlY2tzdW0iOiJHSm5qek9Rb1M2MlJWeGwyTk9XM0NBPT0iLCJzZXJ2aWNlX25hbWUiOiJhbWF6aW5nX2VuY3J5cHRpbmdfZGlza19zZXJ2aWNlIn0sImV4cCI6IjIwMjUtMDMtMTJUMTA6MTA6NTUuNzU0WiIsInB1ciI6ImVuY3J5cHRlZF9wdXQifX0=--2e49c6883aa91737dae645cac9d4715d11d57499"}
1009
+  EncryptedDisk Storage (0.4ms) Uploaded file to key: key-1 (checksum: GJnjzOQoS62RVxl2NOW3CA==)
1010
+ No template found for ActiveStorageEncryption::EncryptedBlobsController#update, rendering head :no_content
1011
+ Completed 204 No Content in 1ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
1012
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: key-1
1013
+  EncryptedDisk Storage (0.1ms) Downloaded file from key: key-1
1014
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION
1015
+ TRANSACTION (0.0ms) BEGIN deferred TRANSACTION
1016
+ ----------------------------------------------------------------------------
1017
+ ActiveStorageEncryption::EncryptedDiskServiceTest: test_upload_with_checksum
1018
+ ----------------------------------------------------------------------------
1019
+  EncryptedDisk Storage (0.1ms) Deleted file from key: key-1
1020
+  EncryptedDisk Storage (0.5ms) Uploaded file to key: key-1 (checksum: n4/fpUeO0sSI6s7+jd9JCQ==)
1021
+  EncryptedDisk Storage (0.3ms) Uploaded file to key: key-1 (checksum: 6b9dJaKYRSzvuc7lt1tIgQ==)
1022
+ TRANSACTION (0.0ms) ROLLBACK TRANSACTION