test/unit/sanford_tests.rb in sanford-0.9.0 vs test/unit/sanford_tests.rb in sanford-0.10.0
- old
+ new
@@ -1,70 +1,20 @@
require 'assert'
require 'sanford'
-require 'ns-options/proxy'
+require 'sanford/config'
module Sanford
class UnitTests < Assert::Context
desc "Sanford"
subject{ Sanford }
should have_imeths :config, :configure, :init, :register, :hosts
- end
-
- class ConfigTests < UnitTests
- desc "Config"
- subject{ Sanford::Config }
-
- should have_imeths :services_file, :logger, :runner
-
- should "be an NsOptions::Proxy" do
- assert_includes NsOptions::Proxy, subject
+ should "return a `Config` instance with the `config` method" do
+ assert_kind_of Sanford::Config, subject.config
end
end
-
- class HostsTests < UnitTests
- desc "Hosts"
- setup do
- @hosts = Sanford::Hosts.new
- end
- subject{ @hosts }
-
- should have_instance_methods :add, :first, :find
-
- end
-
- class FindTests < HostsTests
- desc "find method"
- setup do
- @hosts.add ::NotNamedHost
- @hosts.add ::NamedHost
- @hosts.add ::BadlyNamedHost
- end
-
- should "allow finding hosts by their class name or configured name" do
- assert_includes ::NotNamedHost, subject
- assert_includes ::NamedHost, subject
-
- assert_equal ::NotNamedHost, subject.find('NotNamedHost')
- assert_equal ::NamedHost, subject.find('NamedHost')
- assert_equal ::NamedHost, subject.find('named_host')
- end
-
- should "prefer hosts with a matching class name over configured name" do
- assert_includes ::BadlyNamedHost, subject
- assert_equal NotNamedHost, subject.find('NotNamedHost')
- end
-
- end
-
- # Using this syntax because these classes need to be defined as top-level
- # constants for ease in using their class names in the tests
-
- ::NotNamedHost = Class.new{ include Sanford::Host }
- ::NamedHost = Class.new{ include Sanford::Host; name 'named_host' }
- ::BadlyNamedHost = Class.new{ include Sanford::Host; name 'NotNamedHost' }
end