trusty-cms 7.1.3 → 8.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.
- checksums.yaml +4 -4
- data/Gemfile.lock +118 -123
- data/config/application.rb +5 -1
- data/lib/string_extensions/string_extensions.rb +4 -2
- data/lib/trusty_cms/version.rb +1 -1
- data/spec/controllers/admin/assets_controller_spec.rb +124 -0
- data/spec/controllers/admin/changes_controller_spec.rb +72 -0
- data/spec/controllers/admin/configuration_controller_spec.rb +49 -0
- data/spec/controllers/admin/page_attachments_controller_spec.rb +54 -0
- data/spec/controllers/admin/pages_controller_spec.rb +162 -0
- data/spec/controllers/admin/preferences_controller_spec.rb +44 -0
- data/spec/controllers/admin/security_controller_spec.rb +85 -0
- data/spec/controllers/admin/sessions_controller_spec.rb +56 -0
- data/spec/controllers/admin/two_factor_controller_spec.rb +63 -0
- data/spec/controllers/admin/users_controller_spec.rb +132 -0
- data/spec/controllers/page_status_controller_spec.rb +66 -0
- data/spec/dummy/bin/rails +3 -3
- data/spec/dummy/bin/rake +2 -2
- data/spec/dummy/bin/setup +21 -13
- data/spec/dummy/config/application.rb +2 -0
- data/spec/dummy/config/boot.rb +1 -1
- data/spec/dummy/config/cable.yml +10 -0
- data/spec/dummy/config/initializers/content_security_policy.rb +25 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +6 -2
- data/spec/dummy/config/initializers/inflections.rb +4 -4
- data/spec/dummy/config/initializers/new_framework_defaults_7_2.rb +70 -0
- data/spec/dummy/config/initializers/permissions_policy.rb +13 -0
- data/spec/dummy/config/puma.rb +34 -0
- data/spec/dummy/config/storage.yml +28 -1
- data/spec/dummy/db/migrate/20260729201444_add_service_name_to_active_storage_blobs.active_storage.rb +22 -0
- data/spec/dummy/db/migrate/20260729201445_create_active_storage_variant_records.active_storage.rb +27 -0
- data/spec/dummy/db/migrate/20260729201446_remove_not_null_on_active_storage_blobs_checksum.active_storage.rb +8 -0
- data/spec/dummy/public/404.html +6 -6
- data/spec/dummy/public/406-unsupported-browser.html +66 -0
- data/spec/dummy/public/422.html +6 -6
- data/spec/dummy/public/500.html +6 -6
- data/spec/dummy/public/icon.png +0 -0
- data/spec/dummy/public/icon.svg +3 -0
- data/spec/dummy/public/robots.txt +1 -0
- data/spec/helpers/admin/configuration_helper_spec.rb +62 -0
- data/spec/helpers/admin/node_helper_spec.rb +132 -0
- data/spec/helpers/admin/pages_helper_spec.rb +84 -0
- data/spec/helpers/application_helper_spec.rb +115 -0
- data/spec/lib/string_extensions_spec.rb +41 -0
- data/spec/support/active_record_encryption.rb +10 -0
- data/spec/support/asset_type_registry.rb +29 -0
- data/trusty_cms.gemspec +2 -1
- metadata +74 -6
- data/spec/controllers/assets_controller.rb +0 -66
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: trusty-cms
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: '8.0'
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- TrustyCms CMS dev team
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-07
|
|
11
|
+
date: 2026-08-07 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activestorage-validator
|
|
@@ -266,6 +266,20 @@ dependencies:
|
|
|
266
266
|
- - ">="
|
|
267
267
|
- !ruby/object:Gem::Version
|
|
268
268
|
version: '0'
|
|
269
|
+
- !ruby/object:Gem::Dependency
|
|
270
|
+
name: mini_magick
|
|
271
|
+
requirement: !ruby/object:Gem::Requirement
|
|
272
|
+
requirements:
|
|
273
|
+
- - "~>"
|
|
274
|
+
- !ruby/object:Gem::Version
|
|
275
|
+
version: '5.0'
|
|
276
|
+
type: :runtime
|
|
277
|
+
prerelease: false
|
|
278
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
279
|
+
requirements:
|
|
280
|
+
- - "~>"
|
|
281
|
+
- !ruby/object:Gem::Version
|
|
282
|
+
version: '5.0'
|
|
269
283
|
- !ruby/object:Gem::Dependency
|
|
270
284
|
name: mini_racer
|
|
271
285
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -410,14 +424,14 @@ dependencies:
|
|
|
410
424
|
requirements:
|
|
411
425
|
- - "~>"
|
|
412
426
|
- !ruby/object:Gem::Version
|
|
413
|
-
version:
|
|
427
|
+
version: 8.0.0
|
|
414
428
|
type: :runtime
|
|
415
429
|
prerelease: false
|
|
416
430
|
version_requirements: !ruby/object:Gem::Requirement
|
|
417
431
|
requirements:
|
|
418
432
|
- - "~>"
|
|
419
433
|
- !ruby/object:Gem::Version
|
|
420
|
-
version:
|
|
434
|
+
version: 8.0.0
|
|
421
435
|
- !ruby/object:Gem::Dependency
|
|
422
436
|
name: rake
|
|
423
437
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -1169,9 +1183,19 @@ files:
|
|
|
1169
1183
|
- script/extension
|
|
1170
1184
|
- script/rails
|
|
1171
1185
|
- spec/ci/database.mysql.yml
|
|
1186
|
+
- spec/controllers/admin/assets_controller_spec.rb
|
|
1187
|
+
- spec/controllers/admin/changes_controller_spec.rb
|
|
1188
|
+
- spec/controllers/admin/configuration_controller_spec.rb
|
|
1189
|
+
- spec/controllers/admin/page_attachments_controller_spec.rb
|
|
1190
|
+
- spec/controllers/admin/pages_controller_spec.rb
|
|
1191
|
+
- spec/controllers/admin/preferences_controller_spec.rb
|
|
1192
|
+
- spec/controllers/admin/security_controller_spec.rb
|
|
1193
|
+
- spec/controllers/admin/sessions_controller_spec.rb
|
|
1172
1194
|
- spec/controllers/admin/snippets_controller_spec.rb
|
|
1195
|
+
- spec/controllers/admin/two_factor_controller_spec.rb
|
|
1196
|
+
- spec/controllers/admin/users_controller_spec.rb
|
|
1173
1197
|
- spec/controllers/application_controller_spec.rb
|
|
1174
|
-
- spec/controllers/
|
|
1198
|
+
- spec/controllers/page_status_controller_spec.rb
|
|
1175
1199
|
- spec/controllers/site_controller_spec.rb
|
|
1176
1200
|
- spec/controllers/users_controller_spec.rb
|
|
1177
1201
|
- spec/dummy/README.rdoc
|
|
@@ -1184,6 +1208,7 @@ files:
|
|
|
1184
1208
|
- spec/dummy/config.ru
|
|
1185
1209
|
- spec/dummy/config/application.rb
|
|
1186
1210
|
- spec/dummy/config/boot.rb
|
|
1211
|
+
- spec/dummy/config/cable.yml
|
|
1187
1212
|
- spec/dummy/config/database.yml
|
|
1188
1213
|
- spec/dummy/config/environment.rb
|
|
1189
1214
|
- spec/dummy/config/environments/development.rb
|
|
@@ -1191,24 +1216,35 @@ files:
|
|
|
1191
1216
|
- spec/dummy/config/environments/test.rb
|
|
1192
1217
|
- spec/dummy/config/initializers/assets.rb
|
|
1193
1218
|
- spec/dummy/config/initializers/backtrace_silencers.rb
|
|
1219
|
+
- spec/dummy/config/initializers/content_security_policy.rb
|
|
1194
1220
|
- spec/dummy/config/initializers/cookies_serializer.rb
|
|
1195
1221
|
- spec/dummy/config/initializers/filter_parameter_logging.rb
|
|
1196
1222
|
- spec/dummy/config/initializers/inflections.rb
|
|
1197
1223
|
- spec/dummy/config/initializers/mime_types.rb
|
|
1224
|
+
- spec/dummy/config/initializers/new_framework_defaults_7_2.rb
|
|
1225
|
+
- spec/dummy/config/initializers/permissions_policy.rb
|
|
1198
1226
|
- spec/dummy/config/initializers/session_store.rb
|
|
1199
1227
|
- spec/dummy/config/initializers/trusty_cms_config.rb
|
|
1200
1228
|
- spec/dummy/config/initializers/wrap_parameters.rb
|
|
1201
1229
|
- spec/dummy/config/initializers/zeitwerk.rb
|
|
1202
1230
|
- spec/dummy/config/locales/en.yml
|
|
1231
|
+
- spec/dummy/config/puma.rb
|
|
1203
1232
|
- spec/dummy/config/routes.rb
|
|
1204
1233
|
- spec/dummy/config/secrets.yml
|
|
1205
1234
|
- spec/dummy/config/storage.yml
|
|
1235
|
+
- spec/dummy/db/migrate/20260729201444_add_service_name_to_active_storage_blobs.active_storage.rb
|
|
1236
|
+
- spec/dummy/db/migrate/20260729201445_create_active_storage_variant_records.active_storage.rb
|
|
1237
|
+
- spec/dummy/db/migrate/20260729201446_remove_not_null_on_active_storage_blobs_checksum.active_storage.rb
|
|
1206
1238
|
- spec/dummy/db/schema.rb
|
|
1207
1239
|
- spec/dummy/package.json
|
|
1208
1240
|
- spec/dummy/public/404.html
|
|
1241
|
+
- spec/dummy/public/406-unsupported-browser.html
|
|
1209
1242
|
- spec/dummy/public/422.html
|
|
1210
1243
|
- spec/dummy/public/500.html
|
|
1211
1244
|
- spec/dummy/public/favicon.ico
|
|
1245
|
+
- spec/dummy/public/icon.png
|
|
1246
|
+
- spec/dummy/public/icon.svg
|
|
1247
|
+
- spec/dummy/public/robots.txt
|
|
1212
1248
|
- spec/dummy/yarn.lock
|
|
1213
1249
|
- spec/factories/layout.rb
|
|
1214
1250
|
- spec/factories/page.rb
|
|
@@ -1222,6 +1258,9 @@ files:
|
|
|
1222
1258
|
- spec/fixtures/files/sample.ics
|
|
1223
1259
|
- spec/fixtures/files/sample.txt
|
|
1224
1260
|
- spec/fixtures/users.yml
|
|
1261
|
+
- spec/helpers/admin/configuration_helper_spec.rb
|
|
1262
|
+
- spec/helpers/admin/node_helper_spec.rb
|
|
1263
|
+
- spec/helpers/admin/pages_helper_spec.rb
|
|
1225
1264
|
- spec/helpers/admin/references_helper_spec.rb
|
|
1226
1265
|
- spec/helpers/admin/url_helper_spec.rb
|
|
1227
1266
|
- spec/helpers/application_helper_spec.rb
|
|
@@ -1264,6 +1303,8 @@ files:
|
|
|
1264
1303
|
- spec/rails_helper.rb
|
|
1265
1304
|
- spec/requests/admin/snippets_spec.rb
|
|
1266
1305
|
- spec/spec_helper.rb
|
|
1306
|
+
- spec/support/active_record_encryption.rb
|
|
1307
|
+
- spec/support/asset_type_registry.rb
|
|
1267
1308
|
- spec/support/custom_actions.rb
|
|
1268
1309
|
- trusty_cms.gemspec
|
|
1269
1310
|
- vendor/extensions/clipped-extension/clipped_extension.rb
|
|
@@ -1364,9 +1405,19 @@ specification_version: 4
|
|
|
1364
1405
|
summary: A no-fluff content management system designed for small teams.
|
|
1365
1406
|
test_files:
|
|
1366
1407
|
- spec/ci/database.mysql.yml
|
|
1408
|
+
- spec/controllers/admin/assets_controller_spec.rb
|
|
1409
|
+
- spec/controllers/admin/changes_controller_spec.rb
|
|
1410
|
+
- spec/controllers/admin/configuration_controller_spec.rb
|
|
1411
|
+
- spec/controllers/admin/page_attachments_controller_spec.rb
|
|
1412
|
+
- spec/controllers/admin/pages_controller_spec.rb
|
|
1413
|
+
- spec/controllers/admin/preferences_controller_spec.rb
|
|
1414
|
+
- spec/controllers/admin/security_controller_spec.rb
|
|
1415
|
+
- spec/controllers/admin/sessions_controller_spec.rb
|
|
1367
1416
|
- spec/controllers/admin/snippets_controller_spec.rb
|
|
1417
|
+
- spec/controllers/admin/two_factor_controller_spec.rb
|
|
1418
|
+
- spec/controllers/admin/users_controller_spec.rb
|
|
1368
1419
|
- spec/controllers/application_controller_spec.rb
|
|
1369
|
-
- spec/controllers/
|
|
1420
|
+
- spec/controllers/page_status_controller_spec.rb
|
|
1370
1421
|
- spec/controllers/site_controller_spec.rb
|
|
1371
1422
|
- spec/controllers/users_controller_spec.rb
|
|
1372
1423
|
- spec/dummy/README.rdoc
|
|
@@ -1378,6 +1429,7 @@ test_files:
|
|
|
1378
1429
|
- spec/dummy/bin/setup
|
|
1379
1430
|
- spec/dummy/config/application.rb
|
|
1380
1431
|
- spec/dummy/config/boot.rb
|
|
1432
|
+
- spec/dummy/config/cable.yml
|
|
1381
1433
|
- spec/dummy/config/database.yml
|
|
1382
1434
|
- spec/dummy/config/environment.rb
|
|
1383
1435
|
- spec/dummy/config/environments/development.rb
|
|
@@ -1385,25 +1437,36 @@ test_files:
|
|
|
1385
1437
|
- spec/dummy/config/environments/test.rb
|
|
1386
1438
|
- spec/dummy/config/initializers/assets.rb
|
|
1387
1439
|
- spec/dummy/config/initializers/backtrace_silencers.rb
|
|
1440
|
+
- spec/dummy/config/initializers/content_security_policy.rb
|
|
1388
1441
|
- spec/dummy/config/initializers/cookies_serializer.rb
|
|
1389
1442
|
- spec/dummy/config/initializers/filter_parameter_logging.rb
|
|
1390
1443
|
- spec/dummy/config/initializers/inflections.rb
|
|
1391
1444
|
- spec/dummy/config/initializers/mime_types.rb
|
|
1445
|
+
- spec/dummy/config/initializers/new_framework_defaults_7_2.rb
|
|
1446
|
+
- spec/dummy/config/initializers/permissions_policy.rb
|
|
1392
1447
|
- spec/dummy/config/initializers/session_store.rb
|
|
1393
1448
|
- spec/dummy/config/initializers/trusty_cms_config.rb
|
|
1394
1449
|
- spec/dummy/config/initializers/wrap_parameters.rb
|
|
1395
1450
|
- spec/dummy/config/initializers/zeitwerk.rb
|
|
1396
1451
|
- spec/dummy/config/locales/en.yml
|
|
1452
|
+
- spec/dummy/config/puma.rb
|
|
1397
1453
|
- spec/dummy/config/routes.rb
|
|
1398
1454
|
- spec/dummy/config/secrets.yml
|
|
1399
1455
|
- spec/dummy/config/storage.yml
|
|
1400
1456
|
- spec/dummy/config.ru
|
|
1457
|
+
- spec/dummy/db/migrate/20260729201444_add_service_name_to_active_storage_blobs.active_storage.rb
|
|
1458
|
+
- spec/dummy/db/migrate/20260729201445_create_active_storage_variant_records.active_storage.rb
|
|
1459
|
+
- spec/dummy/db/migrate/20260729201446_remove_not_null_on_active_storage_blobs_checksum.active_storage.rb
|
|
1401
1460
|
- spec/dummy/db/schema.rb
|
|
1402
1461
|
- spec/dummy/package.json
|
|
1403
1462
|
- spec/dummy/public/404.html
|
|
1463
|
+
- spec/dummy/public/406-unsupported-browser.html
|
|
1404
1464
|
- spec/dummy/public/422.html
|
|
1405
1465
|
- spec/dummy/public/500.html
|
|
1406
1466
|
- spec/dummy/public/favicon.ico
|
|
1467
|
+
- spec/dummy/public/icon.png
|
|
1468
|
+
- spec/dummy/public/icon.svg
|
|
1469
|
+
- spec/dummy/public/robots.txt
|
|
1407
1470
|
- spec/dummy/yarn.lock
|
|
1408
1471
|
- spec/factories/layout.rb
|
|
1409
1472
|
- spec/factories/page.rb
|
|
@@ -1417,6 +1480,9 @@ test_files:
|
|
|
1417
1480
|
- spec/fixtures/files/sample.ics
|
|
1418
1481
|
- spec/fixtures/files/sample.txt
|
|
1419
1482
|
- spec/fixtures/users.yml
|
|
1483
|
+
- spec/helpers/admin/configuration_helper_spec.rb
|
|
1484
|
+
- spec/helpers/admin/node_helper_spec.rb
|
|
1485
|
+
- spec/helpers/admin/pages_helper_spec.rb
|
|
1420
1486
|
- spec/helpers/admin/references_helper_spec.rb
|
|
1421
1487
|
- spec/helpers/admin/url_helper_spec.rb
|
|
1422
1488
|
- spec/helpers/application_helper_spec.rb
|
|
@@ -1459,4 +1525,6 @@ test_files:
|
|
|
1459
1525
|
- spec/rails_helper.rb
|
|
1460
1526
|
- spec/requests/admin/snippets_spec.rb
|
|
1461
1527
|
- spec/spec_helper.rb
|
|
1528
|
+
- spec/support/active_record_encryption.rb
|
|
1529
|
+
- spec/support/asset_type_registry.rb
|
|
1462
1530
|
- spec/support/custom_actions.rb
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
require 'rack/test'
|
|
3
|
-
|
|
4
|
-
RSpec.describe Admin::AssetsController, type: :controller do
|
|
5
|
-
routes { TrustyCms::Engine.routes }
|
|
6
|
-
|
|
7
|
-
let(:user) { create(:admin) }
|
|
8
|
-
let(:fixtures_path) { TrustyCms::Engine.root.join('spec', 'fixtures', 'files') }
|
|
9
|
-
|
|
10
|
-
before do
|
|
11
|
-
allow(controller).to receive(:authenticate_user!).and_return(true)
|
|
12
|
-
allow(controller).to receive(:current_user).and_return(user)
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
around do |example|
|
|
16
|
-
original_kraken = defined?($kraken) ? $kraken : nil
|
|
17
|
-
$kraken = double('KrakenClient', api_key: nil)
|
|
18
|
-
example.run
|
|
19
|
-
$kraken = original_kraken
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
describe 'POST #uploader' do
|
|
23
|
-
it 'returns the asset url when the upload succeeds' do
|
|
24
|
-
file = Rack::Test::UploadedFile.new(fixtures_path.join('sample.ics'), 'text/calendar')
|
|
25
|
-
asset_storage = double('AssetStorage', url: '/assets/sample.ics')
|
|
26
|
-
asset = instance_double(Asset,
|
|
27
|
-
valid?: true,
|
|
28
|
-
asset: asset_storage,
|
|
29
|
-
page_attachments: double('Assoc', build: nil),
|
|
30
|
-
id: 1)
|
|
31
|
-
|
|
32
|
-
allow(asset).to receive(:created_by_id=)
|
|
33
|
-
allow(asset).to receive(:updated_by_id=)
|
|
34
|
-
allow(asset).to receive(:save!)
|
|
35
|
-
allow(Asset).to receive(:create).and_return(asset)
|
|
36
|
-
allow(controller).to receive(:maybe_compress).and_return(file)
|
|
37
|
-
|
|
38
|
-
post :uploader, params: { upload: file }, format: :json
|
|
39
|
-
|
|
40
|
-
expect(response).to have_http_status(:ok)
|
|
41
|
-
expect(JSON.parse(response.body)).to eq('url' => '/assets/sample.ics')
|
|
42
|
-
expect(controller).to have_received(:maybe_compress).with(file)
|
|
43
|
-
expect(Asset).to have_received(:create).with(asset: file, caption: '')
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
it 'returns unsupported media type for disallowed content types' do
|
|
47
|
-
file = Rack::Test::UploadedFile.new(fixtures_path.join('sample.txt'), 'text/plain')
|
|
48
|
-
|
|
49
|
-
expect(Asset).not_to receive(:create)
|
|
50
|
-
|
|
51
|
-
post :uploader, params: { upload: file }, format: :json
|
|
52
|
-
|
|
53
|
-
expect(response).to have_http_status(:unsupported_media_type)
|
|
54
|
-
expect(JSON.parse(response.body)['error']).to eq('Unsupported file type.')
|
|
55
|
-
expect(flash[:error]).to eq('Unsupported file type.')
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
it 'returns unprocessable entity when no file is provided' do
|
|
59
|
-
post :uploader, params: {}, format: :json
|
|
60
|
-
|
|
61
|
-
expect(response).to have_http_status(:unprocessable_entity)
|
|
62
|
-
expect(JSON.parse(response.body)['error']).to eq('No file uploaded.')
|
|
63
|
-
expect(flash[:error]).to eq('No file uploaded.')
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
end
|