Sha256: 2f1a461fef4760536efd7b866e97621e5e922c2a804e5306af62d361a31a7b91

Contents?: true

Size: 1.45 KB

Versions: 3

Compression:

Stored size: 1.45 KB

Contents

require File.join(File.dirname(__FILE__), 'test_helper')
require File.join(File.dirname(__FILE__), 'apipie_resource_mock')
require File.join(File.dirname(__FILE__), 'helpers/fake_searchables')

describe HammerCLIForeman::DependencyResolver do

  let(:resolver) { HammerCLIForeman::DependencyResolver.new }

  describe "for resource" do

    it "returns empty array for an independent resource" do
      resource = HammerCLIForeman.foreman_resource!(:architectures)
      resolver.resource_dependencies(resource).must_equal []
    end

    it "returns list of dependent resources" do
      resource = HammerCLIForeman.foreman_resource!(:images)
      resolver.resource_dependencies(resource).map(&:name).sort_by{|sym| sym.to_s}.must_equal [
        :compute_resources, :organizations, :locations
      ].sort_by{|sym| sym.to_s}
    end

  end

  describe "for action" do

    it "returns empty array for an independent action" do
      action = HammerCLIForeman.foreman_resource!(:organizations).action(:index)
      resolver.action_dependencies(action).must_equal []
    end

    it "returns list of dependent resources" do
      action = HammerCLIForeman.foreman_resource!(:hostgroups).action(:create)
      resolver.action_dependencies(action).map(&:name).sort_by{|sym| sym.to_s}.must_equal [
        :environments, :operatingsystems, :architectures, :media,
        :ptables, :subnets, :domains, :realms, :organizations, :locations
      ].sort_by{|sym| sym.to_s}
    end

  end

end


Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
hammer_cli_foreman-0.4.0 test/unit/dependency_resolver_test.rb
hammer_cli_foreman-0.3.0 test/unit/dependency_resolver_test.rb
hammer_cli_foreman-0.2.0 test/unit/dependency_resolver_test.rb