Sha256: 6ae645daf6bd12d8601282e99f98f9e39ca721dafaf1f5c31d3eb25f7feed15d

Contents?: true

Size: 1.63 KB

Versions: 6

Compression:

Stored size: 1.63 KB

Contents

require 'test_plugin_helper'

class ScapContentTest < ActiveSupport::TestCase
  setup do
    @scap_file = File.new("#{ForemanOpenscap::Engine.root}/test/files/scap_contents/ssg-fedora-ds.xml", 'rb').read
  end
  context 'validate scap contents' do
    test 'create scap content' do
      scap_content = ForemanOpenscap::ScapContent.new(:title => 'Fedora', :scap_file => @scap_file)
      assert(scap_content.valid?)
    end

    test 'should not allow title.length > 255' do
      scap_content = ForemanOpenscap::ScapContent.new(:title => ("a" * 256), :scap_file => @scap_file)
      refute(scap_content.valid?)
    end

    test 'scap content should fail if no openscap proxy' do
      SmartProxy.stubs(:with_features).returns([])
      ProxyAPI::AvailableProxy.any_instance.stubs(:available?).returns(false)
      scap_content = ForemanOpenscap::ScapContent.new(:title => 'Fedora', :scap_file => @scap_file)
      refute(scap_content.save)
      assert_includes(scap_content.errors.messages[:base], 'No proxy with OpenSCAP feature was found.')
    end

    test 'proxy_url should return the first available proxy it finds' do
      available_proxy = SmartProxy.with_features('Openscap').first
      unavailable_proxy = FactoryGirl.create(:smart_proxy, :url => 'http://proxy.example.com:8443', :features => [FactoryGirl.create(:feature, :name => 'Openscap')])
      available_proxy.stubs(:proxy_url).returns(available_proxy.url)
      unavailable_proxy.stubs(:proxy_url).returns(nil)
      scap_content = ForemanOpenscap::ScapContent.new(:title => 'Fedora', :scap_file => @scap_file)
      assert_equal(available_proxy.url, scap_content.proxy_url)
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
foreman_openscap-0.8.1 test/unit/scap_content_test.rb
foreman_openscap-0.7.5 test/unit/scap_content_test.rb
foreman_openscap-0.8.0 test/unit/scap_content_test.rb
foreman_openscap-0.7.4 test/unit/scap_content_test.rb
foreman_openscap-0.7.3 test/unit/scap_content_test.rb
foreman_openscap-0.7.2 test/unit/scap_content_test.rb