test_server 0.4.1 → 0.5.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/.travis.yml +6 -3
- data/Gemfile +13 -5
- data/README.md +16 -0
- data/Rakefile +17 -3
- data/app/assets/javascripts/test_server/file_uploader.js.coffee +3 -0
- data/app/assets/stylesheets/application.scss +31 -0
- data/app/assets/stylesheets/test_server/file_uploader.css.scss +3 -0
- data/app/controllers/test_server/file_uploader_controller.rb +42 -0
- data/app/helpers/test_server/file_uploader_helper.rb +2 -0
- data/app/models/test_server/file_upload.rb +41 -0
- data/app/views/layouts/application.html.haml +10 -0
- data/app/views/test_server/dashboard/show.html.haml +1 -0
- data/app/views/test_server/file_uploader/_form.html.haml +27 -0
- data/app/views/test_server/file_uploader/_overview.html.haml +1 -0
- data/app/views/test_server/file_uploader/index.html.haml +1 -0
- data/app/views/test_server/file_uploader/result.html.haml +40 -0
- data/app/views/test_server/file_uploader/upload.html.haml +1 -0
- data/config/routes.rb +8 -2
- data/lib/test_server/checksum.rb +21 -0
- data/lib/test_server/checksum_calculator.rb +27 -0
- data/lib/test_server/command_runner.rb +58 -0
- data/lib/test_server/exceptions.rb +3 -0
- data/lib/test_server/file_size.rb +14 -0
- data/lib/test_server/filetype_detector.rb +21 -0
- data/lib/test_server/locales/en.yml +28 -1
- data/lib/test_server/main.rb +6 -1
- data/lib/test_server/md5_calculator.rb +17 -0
- data/lib/test_server/permitted_params.rb +25 -7
- data/lib/test_server/sha256_calculator.rb +17 -0
- data/lib/test_server/uploaded_file.rb +58 -0
- data/lib/test_server/version.rb +1 -1
- data/lib/test_server/virus_detector.rb +43 -0
- data/lib/test_server.rb +15 -0
- data/public/assets/{manifest-7c069da388f8a976fadfaab958b9feb7.json → manifest-1a3c45fcd482cca628c8cdc72631eb98.json} +0 -0
- data/spec/controllers/test_server/file_uploader_controller_spec.rb +26 -0
- data/spec/encoder_spec.rb +3 -3
- data/spec/features/fetch_data_via_javascript_spec.rb +18 -18
- data/spec/filetype_detector_spec.rb +31 -0
- data/spec/fixtures/file_uploader/file.bin +0 -0
- data/spec/permitted_params_spec.rb +1 -1
- data/spec/sha256_calculator_spec.rb +36 -0
- data/spec/spec_helper.rb +2 -0
- data/spec/support/commands.rb +15 -0
- data/spec/support/debugging.rb +6 -1
- data/spec/support/eicar.rb +15 -0
- data/spec/support/fixtures.rb +16 -0
- data/spec/support/rails.rb +2 -0
- data/spec/uploaded_file_spec.rb +167 -0
- data/spec/views/errors/not_found.html.haml_spec.rb +1 -1
- data/spec/views/test_server/file_uploader/index.html.haml_spec.rb +32 -0
- data/spec/views/test_server/file_uploader/result.html.haml_spec.rb +58 -0
- data/spec/views/test_server/file_uploader/upload.html.haml_spec.rb +12 -0
- data/spec/views/test_server/reflector/client_ip_address.html.haml_spec.rb +1 -1
- data/spec/virus_detector_spec.rb +45 -0
- data/test_server.gemspec +2 -3
- metadata +48 -19
@@ -0,0 +1,58 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe "file_uploader/upload.html.haml" do
|
5
|
+
context 'File Upload' do
|
6
|
+
it 'returns file name' do
|
7
|
+
visit '/file_uploader/upload'
|
8
|
+
|
9
|
+
within 'form' do
|
10
|
+
attach_file 'test_server_file_upload[uploaded_file]', fixture_file('file_uploader/file.bin').path
|
11
|
+
end
|
12
|
+
|
13
|
+
click_button 'upload'
|
14
|
+
|
15
|
+
expect(page).to have_content 'Size'
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'enables the user to check for viruses' do
|
19
|
+
visit '/file_uploader/upload'
|
20
|
+
|
21
|
+
within 'form' do
|
22
|
+
attach_file 'test_server_file_upload[uploaded_file]', fixture_file('file_uploader/file.bin').path
|
23
|
+
check 'test_server_file_upload[virus_scan]'
|
24
|
+
end
|
25
|
+
|
26
|
+
click_button 'upload'
|
27
|
+
|
28
|
+
expect(page).to have_content 'Virus ID'
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'enables the user to calculate check sums' do
|
32
|
+
visit '/file_uploader/upload'
|
33
|
+
|
34
|
+
within 'form' do
|
35
|
+
attach_file 'test_server_file_upload[uploaded_file]', fixture_file('file_uploader/file.bin').path
|
36
|
+
check 'test_server_file_upload[checksum_calculation]'
|
37
|
+
end
|
38
|
+
|
39
|
+
click_button 'upload'
|
40
|
+
|
41
|
+
expect(page).to have_content 'MD5'
|
42
|
+
expect(page).to have_content 'SHA256'
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'enables the user to detect file type' do
|
46
|
+
visit '/file_uploader/upload'
|
47
|
+
|
48
|
+
within 'form' do
|
49
|
+
attach_file 'test_server_file_upload[uploaded_file]', fixture_file('file_uploader/file.bin').path
|
50
|
+
check 'test_server_file_upload[filetype_detection]'
|
51
|
+
end
|
52
|
+
|
53
|
+
click_button 'upload'
|
54
|
+
|
55
|
+
expect(page).to have_content 'Filetype'
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -22,7 +22,7 @@ describe "reflector/client_ip_address.html.haml" do
|
|
22
22
|
end
|
23
23
|
|
24
24
|
context 'Reflect Client IP-Adress' do
|
25
|
-
it '
|
25
|
+
it 'shows client ip address' do
|
26
26
|
visit '/reflector/client_ip_address'
|
27
27
|
expect(page).to have_content '127.0.0.1'
|
28
28
|
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe VirusDetector do
|
5
|
+
let(:virusscanner) { which('clamscan') }
|
6
|
+
|
7
|
+
context '#use' do
|
8
|
+
it 'adds nil if no virus is found' do
|
9
|
+
test_file = create_file('file.txt', 'data')
|
10
|
+
|
11
|
+
file = double 'file'
|
12
|
+
expect(file).to receive(:virus_id=).with(nil)
|
13
|
+
allow(file).to receive(:name).and_return(File.basename(test_file))
|
14
|
+
allow(file).to receive(:path).and_return(test_file)
|
15
|
+
|
16
|
+
detector = VirusDetector.new(command: virusscanner)
|
17
|
+
detector.use file
|
18
|
+
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'adds virus id if virus is found' do
|
22
|
+
test_file = create_file('eicar.txt', eicar_test_string)
|
23
|
+
|
24
|
+
file = double 'file'
|
25
|
+
expect(file).to receive(:virus_id=).with('Eicar-Test-Signature')
|
26
|
+
allow(file).to receive(:name).and_return(File.basename(test_file))
|
27
|
+
allow(file).to receive(:path).and_return(test_file)
|
28
|
+
|
29
|
+
detector = VirusDetector.new(command: virusscanner)
|
30
|
+
detector.use file
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'attaches an error message to the file to be scanned if virus scanner command could not be found' do
|
34
|
+
test_file = create_file('file.txt', 'data')
|
35
|
+
|
36
|
+
file = double 'file'
|
37
|
+
expect(file).to receive(:virus_id=).with("Scan commands \"clamdscan\" and \"clamscan\" not found. File \"#{File.basename(test_file)}\" could not be scanned.")
|
38
|
+
allow(file).to receive(:name).and_return(File.basename(test_file))
|
39
|
+
allow(file).to receive(:path).and_return(test_file)
|
40
|
+
|
41
|
+
detector = VirusDetector.new(command: which('blubasdf'))
|
42
|
+
detector.use file
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
data/test_server.gemspec
CHANGED
@@ -50,7 +50,6 @@ Gem::Specification.new do |spec|
|
|
50
50
|
spec.add_runtime_dependency 'uglifier', '>= 1.3.0'
|
51
51
|
spec.add_runtime_dependency 'bundler', '~> 1.6.2'
|
52
52
|
spec.add_runtime_dependency 'puma', '~> 2.8.2'
|
53
|
-
spec.add_runtime_dependency '
|
54
|
-
spec.add_runtime_dependency '
|
55
|
-
spec.add_runtime_dependency 'pry-debugger'
|
53
|
+
spec.add_runtime_dependency 'activesupport'
|
54
|
+
spec.add_runtime_dependency 'ruby-filemagic'
|
56
55
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: test_server
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dennis Günnewig
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-06-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|
@@ -361,7 +361,7 @@ dependencies:
|
|
361
361
|
- !ruby/object:Gem::Version
|
362
362
|
version: 2.8.2
|
363
363
|
- !ruby/object:Gem::Dependency
|
364
|
-
name:
|
364
|
+
name: activesupport
|
365
365
|
requirement: !ruby/object:Gem::Requirement
|
366
366
|
requirements:
|
367
367
|
- - ">="
|
@@ -375,21 +375,7 @@ dependencies:
|
|
375
375
|
- !ruby/object:Gem::Version
|
376
376
|
version: '0'
|
377
377
|
- !ruby/object:Gem::Dependency
|
378
|
-
name:
|
379
|
-
requirement: !ruby/object:Gem::Requirement
|
380
|
-
requirements:
|
381
|
-
- - ">="
|
382
|
-
- !ruby/object:Gem::Version
|
383
|
-
version: '0'
|
384
|
-
type: :runtime
|
385
|
-
prerelease: false
|
386
|
-
version_requirements: !ruby/object:Gem::Requirement
|
387
|
-
requirements:
|
388
|
-
- - ">="
|
389
|
-
- !ruby/object:Gem::Version
|
390
|
-
version: '0'
|
391
|
-
- !ruby/object:Gem::Dependency
|
392
|
-
name: pry-debugger
|
378
|
+
name: ruby-filemagic
|
393
379
|
requirement: !ruby/object:Gem::Requirement
|
394
380
|
requirements:
|
395
381
|
- - ">="
|
@@ -427,14 +413,17 @@ files:
|
|
427
413
|
- app/assets/images/ajax-loader.gif
|
428
414
|
- app/assets/javascripts/application.js
|
429
415
|
- app/assets/javascripts/errors.js
|
416
|
+
- app/assets/javascripts/test_server/file_uploader.js.coffee
|
430
417
|
- app/assets/javascripts/test_server/reflector.js.coffee
|
431
418
|
- app/assets/stylesheets/application.scss
|
432
419
|
- app/assets/stylesheets/errors.css
|
420
|
+
- app/assets/stylesheets/test_server/file_uploader.css.scss
|
433
421
|
- app/assets/stylesheets/test_server/reflector.css.scss
|
434
422
|
- app/controllers/concerns/.keep
|
435
423
|
- app/controllers/test_server/application_controller.rb
|
436
424
|
- app/controllers/test_server/dashboard_controller.rb
|
437
425
|
- app/controllers/test_server/errors_controller.rb
|
426
|
+
- app/controllers/test_server/file_uploader_controller.rb
|
438
427
|
- app/controllers/test_server/generator_controller.rb
|
439
428
|
- app/controllers/test_server/reflector_controller.rb
|
440
429
|
- app/controllers/test_server/static_controller.rb
|
@@ -442,15 +431,22 @@ files:
|
|
442
431
|
- app/controllers/test_server/string_controller.rb
|
443
432
|
- app/helpers/application_helper.rb
|
444
433
|
- app/helpers/errors_helper.rb
|
434
|
+
- app/helpers/test_server/file_uploader_helper.rb
|
445
435
|
- app/helpers/test_server/reflector_helper.rb
|
446
436
|
- app/mailers/.keep
|
447
437
|
- app/models/.keep
|
448
438
|
- app/models/concerns/.keep
|
439
|
+
- app/models/test_server/file_upload.rb
|
449
440
|
- app/views/layouts/application.html.haml
|
450
441
|
- app/views/shared/_overview.html.haml
|
451
442
|
- app/views/test_server/dashboard/show.html.haml
|
452
443
|
- app/views/test_server/errors/not_found.html.haml
|
453
444
|
- app/views/test_server/errors/show.html.haml
|
445
|
+
- app/views/test_server/file_uploader/_form.html.haml
|
446
|
+
- app/views/test_server/file_uploader/_overview.html.haml
|
447
|
+
- app/views/test_server/file_uploader/index.html.haml
|
448
|
+
- app/views/test_server/file_uploader/result.html.haml
|
449
|
+
- app/views/test_server/file_uploader/upload.html.haml
|
454
450
|
- app/views/test_server/generator/_overview.html.haml
|
455
451
|
- app/views/test_server/generator/index.html.haml
|
456
452
|
- app/views/test_server/generator/xhr.html.haml
|
@@ -504,9 +500,12 @@ files:
|
|
504
500
|
- lib/test_server/actions/initialize_application.rb
|
505
501
|
- lib/test_server/actions/reload_configuration.rb
|
506
502
|
- lib/test_server/actions/send_signal.rb
|
503
|
+
- lib/test_server/checksum.rb
|
504
|
+
- lib/test_server/checksum_calculator.rb
|
507
505
|
- lib/test_server/cli/helper.rb
|
508
506
|
- lib/test_server/cli/main.rb
|
509
507
|
- lib/test_server/cli/reload.rb
|
508
|
+
- lib/test_server/command_runner.rb
|
510
509
|
- lib/test_server/config.rb
|
511
510
|
- lib/test_server/data.rb
|
512
511
|
- lib/test_server/encoder.rb
|
@@ -518,18 +517,24 @@ files:
|
|
518
517
|
- lib/test_server/error_handler.rb
|
519
518
|
- lib/test_server/error_messages.rb
|
520
519
|
- lib/test_server/exceptions.rb
|
520
|
+
- lib/test_server/file_size.rb
|
521
|
+
- lib/test_server/filetype_detector.rb
|
521
522
|
- lib/test_server/locales/en.yml
|
522
523
|
- lib/test_server/main.rb
|
524
|
+
- lib/test_server/md5_calculator.rb
|
523
525
|
- lib/test_server/null_access_logger.rb
|
524
526
|
- lib/test_server/permitted_params.rb
|
525
527
|
- lib/test_server/process_environment.rb
|
526
528
|
- lib/test_server/server.rb
|
527
529
|
- lib/test_server/server_commands/puma.rb
|
528
530
|
- lib/test_server/server_commands/rackup.rb
|
531
|
+
- lib/test_server/sha256_calculator.rb
|
529
532
|
- lib/test_server/template_file.rb
|
530
533
|
- lib/test_server/template_repository.rb
|
531
534
|
- lib/test_server/ui_logger.rb
|
535
|
+
- lib/test_server/uploaded_file.rb
|
532
536
|
- lib/test_server/version.rb
|
537
|
+
- lib/test_server/virus_detector.rb
|
533
538
|
- lib/test_server/web_helper.rb
|
534
539
|
- log/.keep
|
535
540
|
- log/development.log
|
@@ -546,7 +551,7 @@ files:
|
|
546
551
|
- public/assets/bootstrap/glyphicons-halflings-regular-8921a93349df81eec3d107b946cadc11.woff
|
547
552
|
- public/assets/bootstrap/glyphicons-halflings-regular-dabd247fcf6131fac2d5fb49ef946032.eot
|
548
553
|
- public/assets/bootstrap/glyphicons-halflings-regular-f7c7c8f3c0d76e8572c38e5d8ee21a62.ttf
|
549
|
-
- public/assets/manifest-
|
554
|
+
- public/assets/manifest-1a3c45fcd482cca628c8cdc72631eb98.json
|
550
555
|
- public/assets/open-sans/fonts/bold-italic/opensans-bold-italic-webfont-1fd4caae8a90824c18dab91d876abd96.eot
|
551
556
|
- public/assets/open-sans/fonts/bold-italic/opensans-bold-italic-webfont-57323909f6eb12958ceb3d71a31124a5.woff
|
552
557
|
- public/assets/open-sans/fonts/bold-italic/opensans-bold-italic-webfont-610aeecbe53403e7731391febf814c62.svg
|
@@ -616,6 +621,7 @@ files:
|
|
616
621
|
- share/systemd/test_server.socket
|
617
622
|
- share/systemd/tmpfiles.conf.erb
|
618
623
|
- spec/controllers/errors_controller_spec.rb
|
624
|
+
- spec/controllers/test_server/file_uploader_controller_spec.rb
|
619
625
|
- spec/controllers/test_server/reflector_controller_spec.rb
|
620
626
|
- spec/encoder_spec.rb
|
621
627
|
- spec/encoders/base64_spec.rb
|
@@ -628,15 +634,21 @@ files:
|
|
628
634
|
- spec/features/fetch_test_data_plain_spec.rb
|
629
635
|
- spec/features/fetch_test_data_via_streaming_spec.rb
|
630
636
|
- spec/features/helper_spec.rb
|
637
|
+
- spec/filetype_detector_spec.rb
|
638
|
+
- spec/fixtures/file_uploader/file.bin
|
631
639
|
- spec/permitted_params_spec.rb
|
632
640
|
- spec/process_environment_spec.rb
|
641
|
+
- spec/sha256_calculator_spec.rb
|
633
642
|
- spec/spec_helper.rb
|
634
643
|
- spec/support/capybara.rb
|
644
|
+
- spec/support/commands.rb
|
635
645
|
- spec/support/debugging.rb
|
646
|
+
- spec/support/eicar.rb
|
636
647
|
- spec/support/encoding.rb
|
637
648
|
- spec/support/environment.rb
|
638
649
|
- spec/support/example.rb
|
639
650
|
- spec/support/filesystem.rb
|
651
|
+
- spec/support/fixtures.rb
|
640
652
|
- spec/support/html.rb
|
641
653
|
- spec/support/matcher.rb
|
642
654
|
- spec/support/pretty_print.xsl
|
@@ -645,9 +657,14 @@ files:
|
|
645
657
|
- spec/support/rspec.rb
|
646
658
|
- spec/support/string.rb
|
647
659
|
- spec/support/timeout.rb
|
660
|
+
- spec/uploaded_file_spec.rb
|
648
661
|
- spec/views/errors/not_found.html.haml_spec.rb
|
662
|
+
- spec/views/test_server/file_uploader/index.html.haml_spec.rb
|
663
|
+
- spec/views/test_server/file_uploader/result.html.haml_spec.rb
|
664
|
+
- spec/views/test_server/file_uploader/upload.html.haml_spec.rb
|
649
665
|
- spec/views/test_server/reflector/client_ip_address.html.haml_spec.rb
|
650
666
|
- spec/views/test_server/reflector/index.html.haml_spec.rb
|
667
|
+
- spec/virus_detector_spec.rb
|
651
668
|
- test_server.gemspec
|
652
669
|
- tmp/.keep
|
653
670
|
- vendor/assets/components/open-sans/.bower.json
|
@@ -734,6 +751,7 @@ specification_version: 4
|
|
734
751
|
summary: Test server for proxies
|
735
752
|
test_files:
|
736
753
|
- spec/controllers/errors_controller_spec.rb
|
754
|
+
- spec/controllers/test_server/file_uploader_controller_spec.rb
|
737
755
|
- spec/controllers/test_server/reflector_controller_spec.rb
|
738
756
|
- spec/encoder_spec.rb
|
739
757
|
- spec/encoders/base64_spec.rb
|
@@ -746,15 +764,21 @@ test_files:
|
|
746
764
|
- spec/features/fetch_test_data_plain_spec.rb
|
747
765
|
- spec/features/fetch_test_data_via_streaming_spec.rb
|
748
766
|
- spec/features/helper_spec.rb
|
767
|
+
- spec/filetype_detector_spec.rb
|
768
|
+
- spec/fixtures/file_uploader/file.bin
|
749
769
|
- spec/permitted_params_spec.rb
|
750
770
|
- spec/process_environment_spec.rb
|
771
|
+
- spec/sha256_calculator_spec.rb
|
751
772
|
- spec/spec_helper.rb
|
752
773
|
- spec/support/capybara.rb
|
774
|
+
- spec/support/commands.rb
|
753
775
|
- spec/support/debugging.rb
|
776
|
+
- spec/support/eicar.rb
|
754
777
|
- spec/support/encoding.rb
|
755
778
|
- spec/support/environment.rb
|
756
779
|
- spec/support/example.rb
|
757
780
|
- spec/support/filesystem.rb
|
781
|
+
- spec/support/fixtures.rb
|
758
782
|
- spec/support/html.rb
|
759
783
|
- spec/support/matcher.rb
|
760
784
|
- spec/support/pretty_print.xsl
|
@@ -763,7 +787,12 @@ test_files:
|
|
763
787
|
- spec/support/rspec.rb
|
764
788
|
- spec/support/string.rb
|
765
789
|
- spec/support/timeout.rb
|
790
|
+
- spec/uploaded_file_spec.rb
|
766
791
|
- spec/views/errors/not_found.html.haml_spec.rb
|
792
|
+
- spec/views/test_server/file_uploader/index.html.haml_spec.rb
|
793
|
+
- spec/views/test_server/file_uploader/result.html.haml_spec.rb
|
794
|
+
- spec/views/test_server/file_uploader/upload.html.haml_spec.rb
|
767
795
|
- spec/views/test_server/reflector/client_ip_address.html.haml_spec.rb
|
768
796
|
- spec/views/test_server/reflector/index.html.haml_spec.rb
|
797
|
+
- spec/virus_detector_spec.rb
|
769
798
|
has_rdoc:
|