require 'spec' require 'spec/runner/formatter/html_formatter' require "helper/helper_methods" module Spec module Runner module Formatter class HtmlFormatter < BaseTextFormatter def extra_failure_content(failure) "
#{$output}
" end end end end end describe 'jdigidoc (j) and cdigidoc (c) libraries' do before :all do prepare_environment() `pkcs15-tool -r 1 > cert.pem` end before :each do @file = "sample.txt" system "cp -f sample_data/#{@file}.original sample_data/#{@file}" $output = "CLASSPATH=#{ENV['CLASSPATH']}\n\n" end after :each do system "rm sample_data/#{@file}" end after :all do system "rm -f *.txt" system "rm -f signer.pem" system "rm -f sample_data/*.zip" end #["DIGIDOC-XML 1.3", "DIGIDOC-XML 1.2", "DIGIDOC-XML 1.1", "BDOC 1.0"].each do |format| ["DIGIDOC-XML 1.3", "DIGIDOC-XML 1.2", "DIGIDOC-XML 1.1"].each do |format| it "should create (j), add (j), sign (j), verify (c) and extract (c) with format #{format}" do sign_and_verify(:jdigidoc, :cdigidoc, format) end it "should create (c), add (c), sign (c), verify (j) and extract (j) with format #{format}" do sign_and_verify(:cdigidoc, :jdigidoc, format) end it "should create (c), add (c), add (j), sign (j), verify (c) and extract (j) with format #{format}" do add_sign_and_verify(:jdigidoc, :cdigidoc, format) end it "should create (j), add (j), add (c), sign (c), verify (j) and extract (c) with format #{format}" do add_sign_and_verify(:cdigidoc, :jdigidoc, format) end end it "should encrypt (j) and decrypt (c)" do encrypt(:jdigidoc) decrypt_and_verify(:cdigidoc) end it "should encrypt (c) and decrypt (j)" do encrypt(:cdigidoc) decrypt_and_verify(:jdigidoc) end it "should sign (j) large (100M) file durig acceptable time and verify (c) signature" do @file = "large_file" create_large_file(100) zipping_time = get_zipping_time() start_time = Time.now sign_for_format(:jdigidoc, "DIGIDOC-XML 1.3") time_spent = (Time.now - start_time) # there is requirement that signing can take double of zipping time i.e. must not exeed 15 sec for 100MB file max_acceptable_signing_time = 10 * zipping_time if time_spent > max_acceptable_signing_time raise "signin took to long (#{time_spent} sec, max acceptable signing time on this system is #{max_acceptable_signing_time} sec)" end # todo: add verify end end