virus_scan_service 0.0.8 → 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.
- checksums.yaml +4 -4
- data/README.md +10 -3
- data/lib/virus_scan_service/courier.rb +5 -3
- data/lib/virus_scan_service/version.rb +1 -1
- data/spec/courier_spec.rb +2 -2
- metadata +3 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: c7812a4d3d7f5f6d41008eadba3e0adb2910ed9f
         | 
| 4 | 
            +
              data.tar.gz: 0f61de10f3e3f73a1a5bc6cacb48572351b77548
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 0635159920ccc7b052bcd0a4629d4ef2457e70d29f056cc34cbaf20a58e22402642be52ee1a4d8b5008848ebb9fa3b60873757ad7b1858bcda2da48bfba9c581
         | 
| 7 | 
            +
              data.tar.gz: b7a9cac97858a7ac03cc84929b13a753797bf4c7fcce4987d57d397018f3af738d931e1e54e1d0a1bbe430b9efa1e5c071199df521b5f87e79d163cf9baf127c
         | 
    
        data/README.md
    CHANGED
    
    | @@ -9,7 +9,11 @@ files to be scanned from your application server, lunch antivirus check (current | |
| 9 9 | 
             
            Kasperky Endponit Security runner Windows or Linux) and send scan result
         | 
| 10 10 | 
             
            back to server.
         | 
| 11 11 |  | 
| 12 | 
            -
             | 
| 12 | 
            +
            If you want to use difrent antivirus (like `ClamAV`) that's fine,
         | 
| 13 | 
            +
            but you will have to implement your own runner `:)`.
         | 
| 14 | 
            +
            Pull requests are welcome.
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            You don't need to have script running this service on the same server
         | 
| 13 17 | 
             
            as application server VM. (Article comming soon)
         | 
| 14 18 |  | 
| 15 19 | 
             
            Originaly built to work along [witch_doctor engine gem](https://github.com/equivalent/witch_doctor)
         | 
| @@ -21,7 +25,7 @@ is provide API that this secvice can comunicate with: | |
| 21 25 | 
             
            response
         | 
| 22 26 |  | 
| 23 27 | 
             
            ```json
         | 
| 24 | 
            -
            [{"id":"123","scan_result":"","file_url":"http://thisis.test/download/file.png"}]
         | 
| 28 | 
            +
            {"data":[{"id":"123","scan_result":"","file_url":"http://thisis.test/download/file.png"}]}
         | 
| 25 29 | 
             
            ```
         | 
| 26 30 |  | 
| 27 31 | 
             
            #### PUT `/wd/virus_scans/123` `ContentType: application/json`
         | 
| @@ -35,11 +39,14 @@ request body | |
| 35 39 | 
             
            response
         | 
| 36 40 |  | 
| 37 41 | 
             
            ```json
         | 
| 38 | 
            -
            {"id":"123","scan_result":"Clean","file_url":"http://thisis.test/download/file.png"}
         | 
| 42 | 
            +
            {"data":{"id":"123","scan_result":"Clean","file_url":"http://thisis.test/download/file.png"}}
         | 
| 39 43 | 
             
            ```
         | 
| 40 44 |  | 
| 41 45 | 
             
            For more examples check `spec/courier_spec.rb`, `spec/support/request_response_mocks.rb
         | 
| 42 46 |  | 
| 47 | 
            +
            ## JSON API
         | 
| 48 | 
            +
             | 
| 49 | 
            +
            gem is implementing [JSON API standard](http://jsonapi.org/)
         | 
| 43 50 |  | 
| 44 51 | 
             
            ## Statuses
         | 
| 45 52 |  | 
| @@ -18,8 +18,8 @@ module VirusScanService | |
| 18 18 | 
             
                  scheduled_scans
         | 
| 19 19 | 
             
                    .first(num_of_scans)
         | 
| 20 20 | 
             
                    .each do |scheduled_scan|
         | 
| 21 | 
            -
                       | 
| 22 | 
            -
                      update_scan_result(scheduled_scan.fetch('id'),  | 
| 21 | 
            +
                      result = yield(scheduled_scan.fetch('file_url'))
         | 
| 22 | 
            +
                      update_scan_result(scheduled_scan.fetch('id'), result)
         | 
| 23 23 | 
             
                    end
         | 
| 24 24 | 
             
                end
         | 
| 25 25 |  | 
| @@ -68,7 +68,9 @@ module VirusScanService | |
| 68 68 |  | 
| 69 69 | 
             
                def json(body)
         | 
| 70 70 | 
             
                  logger.debug "Response body #{body}"
         | 
| 71 | 
            -
                  JSON | 
| 71 | 
            +
                  JSON
         | 
| 72 | 
            +
                    .parse(body)
         | 
| 73 | 
            +
                    .fetch("data")
         | 
| 72 74 | 
             
                end
         | 
| 73 75 |  | 
| 74 76 | 
             
                def check_status(response)
         | 
    
        data/spec/courier_spec.rb
    CHANGED
    
    | @@ -11,11 +11,11 @@ RSpec.describe VirusScanService::Courier do | |
| 11 11 |  | 
| 12 12 | 
             
              before do
         | 
| 13 13 | 
             
                server_response_list do
         | 
| 14 | 
            -
                  '[{"id":"123","scan_result":"","file_url":"http://thisis.test/download/file.png"}]'
         | 
| 14 | 
            +
                  '{"data":[{"id":"123","scan_result":"","file_url":"http://thisis.test/download/file.png"}]}'
         | 
| 15 15 | 
             
                end
         | 
| 16 16 |  | 
| 17 17 | 
             
                server_request_put(id: 123, status: 'Clean') do
         | 
| 18 | 
            -
                  '{"id":"123","scan_result":"Clean","file_url":"http://thisis.test/download/file.png"}'
         | 
| 18 | 
            +
                  '{"data":{"id":"123","scan_result":"Clean","file_url":"http://thisis.test/download/file.png"}}'
         | 
| 19 19 | 
             
                end
         | 
| 20 20 | 
             
              end
         | 
| 21 21 |  | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: virus_scan_service
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0 | 
| 4 | 
            +
              version: 0.1.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Tomas Valent
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2015- | 
| 11 | 
            +
            date: 2015-04-16 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         | 
| @@ -166,3 +166,4 @@ test_files: | |
| 166 166 | 
             
            - spec/support/dummy_viruscheck_runner.rb
         | 
| 167 167 | 
             
            - spec/support/null_logger.rb
         | 
| 168 168 | 
             
            - spec/support/request_response_mocks.rb
         | 
| 169 | 
            +
            has_rdoc: 
         |