sanford 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
data/bench/runner.rb CHANGED
@@ -10,7 +10,7 @@ module Bench
10
10
  HOST_AND_PORT = [ '127.0.0.1', 59284 ]
11
11
 
12
12
  REQUESTS = [
13
- [ 'v1', 'simple', {}, 10000 ]
13
+ [ 'simple', {}, 10000 ]
14
14
  ]
15
15
 
16
16
  TIME_MODIFIER = 10 ** 4 # 4 decimal places
@@ -24,19 +24,19 @@ module Bench
24
24
  def build_report
25
25
  output "Running benchmark report..."
26
26
 
27
- REQUESTS.each do |version, name, params, times|
28
- self.benchmark_service(version, name, params, times, false)
27
+ REQUESTS.each do |name, params, times|
28
+ self.benchmark_service(name, params, times, false)
29
29
  end
30
30
 
31
31
  output "Done running benchmark report"
32
32
  end
33
33
 
34
- def benchmark_service(version, name, params, times, show_result = false)
34
+ def benchmark_service(name, params, times, show_result = false)
35
35
  benchmarks = []
36
36
 
37
37
  output "\nHitting #{name.inspect} service with #{params.inspect}, #{times} times"
38
38
  [*(1..times.to_i)].each do |index|
39
- benchmark = self.hit_service(version, name, params.merge({ :request_number => index }), show_result)
39
+ benchmark = self.hit_service(name, params.merge({ :request_number => index }), show_result)
40
40
  benchmarks << self.round_time(benchmark.real * 1000.to_f)
41
41
  output('.', false) if ((index - 1) % 100 == 0) && !show_result
42
42
  end
@@ -73,11 +73,11 @@ module Bench
73
73
  end
74
74
 
75
75
 
76
- def hit_service(version, name, params, show_result)
76
+ def hit_service(name, params, show_result)
77
77
  Benchmark.measure do
78
78
  begin
79
79
  client = Bench::Client.new(*HOST_AND_PORT)
80
- response = client.call(version, name, params)
80
+ response = client.call(name, params)
81
81
  if show_result
82
82
  output "Got a response:"
83
83
  output " #{response.status}"
data/bench/services.rb CHANGED
@@ -7,9 +7,7 @@ class BenchHost
7
7
  logger Logger.new(STDOUT)
8
8
  verbose_logging false
9
9
 
10
- version 'v1' do
11
- service 'simple', 'BenchHost::Simple'
12
- end
10
+ service 'simple', 'BenchHost::Simple'
13
11
 
14
12
  class Simple
15
13
  include Sanford::ServiceHandler
data/lib/sanford/host.rb CHANGED
@@ -43,11 +43,12 @@ module Sanford
43
43
  Sanford.register(host_class)
44
44
  end
45
45
 
46
- attr_reader :configuration, :versioned_services
46
+ attr_reader :configuration, :services
47
47
 
48
48
  def initialize
49
49
  @configuration = Configuration.new(self)
50
- @versioned_services = {}
50
+ @service_handler_ns = nil
51
+ @services = {}
51
52
  end
52
53
 
53
54
  def name(*args)
@@ -90,9 +91,16 @@ module Sanford
90
91
  self.configuration.init_proc = block
91
92
  end
92
93
 
93
- def version(name, &block)
94
- version_group = Sanford::Host::VersionGroup.new(name, &block)
95
- @versioned_services.merge!(version_group.to_hash)
94
+ def service_handler_ns(value = nil)
95
+ @service_handler_ns = value if value
96
+ @service_handler_ns
97
+ end
98
+
99
+ def service(service_name, handler_class_name)
100
+ if @service_handler_ns && !(handler_class_name =~ /^::/)
101
+ handler_class_name = "#{@service_handler_ns}::#{handler_class_name}"
102
+ end
103
+ @services[service_name] = handler_class_name
96
104
  end
97
105
 
98
106
  def inspect
@@ -103,33 +111,6 @@ module Sanford
103
111
 
104
112
  protected
105
113
 
106
- class VersionGroup
107
- attr_reader :name, :services
108
-
109
- def initialize(name, &definition_block)
110
- @name = name
111
- @services = {}
112
- self.instance_eval(&definition_block)
113
- end
114
-
115
- def service_handler_ns(value = nil)
116
- @service_handler_ns = value if value
117
- @service_handler_ns
118
- end
119
-
120
- def service(service_name, handler_class_name)
121
- if self.service_handler_ns && !(handler_class_name =~ /^::/)
122
- handler_class_name = "#{self.service_handler_ns}::#{handler_class_name}"
123
- end
124
- @services[service_name] = handler_class_name
125
- end
126
-
127
- def to_hash
128
- { self.name => self.services }
129
- end
130
-
131
- end
132
-
133
114
  module ClassMethods
134
115
 
135
116
  # the class level of a `Host` should just proxy it's methods down to it's
@@ -27,8 +27,8 @@ module Sanford
27
27
  @runner = configuration[:runner]
28
28
  @error_procs = configuration[:error_procs]
29
29
 
30
- @handlers = service_host.versioned_services.inject({}) do |hash, (version, services)|
31
- hash.merge({ version => self.constantize_services(services) })
30
+ @handlers = service_host.services.inject({}) do |h, (name, handler_class_name)|
31
+ h.merge({ name => self.constantize(handler_class_name) })
32
32
  end
33
33
  end
34
34
 
@@ -36,19 +36,12 @@ module Sanford
36
36
  self.runner.new(handler_class, request, self.logger).run
37
37
  end
38
38
 
39
- def handler_class_for(version, service)
40
- version_group = @handlers[version] || {}
41
- version_group[service] || raise(Sanford::NotFoundError)
39
+ def handler_class_for(service)
40
+ @handlers[service] || raise(Sanford::NotFoundError)
42
41
  end
43
42
 
44
43
  protected
45
44
 
46
- def constantize_services(services)
47
- services.inject({}) do |hash, (name, handler_class_name)|
48
- hash.merge({ name => self.constantize(handler_class_name) })
49
- end
50
- end
51
-
52
45
  def constantize(handler_class_name)
53
46
  Sanford::ServiceHandler.constantize(handler_class_name) ||
54
47
  raise(Sanford::NoHandlerClassError.new(handler_class_name))
@@ -54,7 +54,7 @@ module Sanford
54
54
  module ClassMethods
55
55
 
56
56
  def run(handler_class, params = nil, logger = nil)
57
- request = Sanford::Protocol::Request.new('version', 'name', params || {})
57
+ request = Sanford::Protocol::Request.new('name', params || {})
58
58
  self.new(handler_class, request, logger).run
59
59
  end
60
60
 
@@ -27,7 +27,7 @@ module Sanford
27
27
  protected
28
28
 
29
29
  def test_request(params)
30
- Sanford::Protocol::Request.new('version', 'name', params)
30
+ Sanford::Protocol::Request.new('name', params)
31
31
  end
32
32
 
33
33
  def build_response(response_args)
@@ -1,3 +1,3 @@
1
1
  module Sanford
2
- VERSION = "0.7.0"
2
+ VERSION = "0.8.0"
3
3
  end
@@ -42,7 +42,7 @@ module Sanford
42
42
  self.log_request(request)
43
43
  service.request = request
44
44
 
45
- handler_class = @host_data.handler_class_for(request.version, request.name)
45
+ handler_class = @host_data.handler_class_for(request.name)
46
46
  self.log_handler_class(handler_class)
47
47
  service.handler_class = handler_class
48
48
 
@@ -84,7 +84,6 @@ module Sanford
84
84
  end
85
85
 
86
86
  def log_request(request)
87
- log_verbose " Version: #{request.version.inspect}"
88
87
  log_verbose " Service: #{request.name.inspect}"
89
88
  log_verbose " Params: #{request.params.inspect}"
90
89
  end
@@ -104,7 +103,6 @@ module Sanford
104
103
  summary_line_args['status'] = processed_service.response.code
105
104
  end
106
105
  if (request = processed_service.request)
107
- summary_line_args['version'] = request.version
108
106
  summary_line_args['service'] = request.name
109
107
  summary_line_args['params'] = request.params
110
108
  end
data/sanford.gemspec CHANGED
@@ -11,6 +11,7 @@ Gem::Specification.new do |gem|
11
11
  gem.description = "Sanford TCP protocol server for hosting services"
12
12
  gem.summary = "Sanford TCP protocol server for hosting services"
13
13
  gem.homepage = "https://github.com/redding/sanford"
14
+ gem.license = 'MIT'
14
15
 
15
16
  gem.files = `git ls-files`.split($/)
16
17
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
@@ -19,8 +20,8 @@ Gem::Specification.new do |gem|
19
20
 
20
21
  gem.add_dependency("dat-tcp", ["~>0.4"])
21
22
  gem.add_dependency("ns-options", ["~>1.0"])
22
- gem.add_dependency("sanford-protocol", ["~>0.5"])
23
+ gem.add_dependency("sanford-protocol", ["~>0.6"])
23
24
 
24
- gem.add_development_dependency("assert", ["~>2.0"])
25
+ gem.add_development_dependency("assert", ["~>2.3"])
25
26
  gem.add_development_dependency("assert-mocha", ["~>1.0"])
26
27
  end
@@ -2,8 +2,8 @@ class FakeConnection
2
2
 
3
3
  attr_reader :read_data, :response, :write_stream_closed
4
4
 
5
- def self.with_request(version, name, params = {}, raise_on_write = false)
6
- request = Sanford::Protocol::Request.new(version, name, params)
5
+ def self.with_request(name, params = {}, raise_on_write = false)
6
+ request = Sanford::Protocol::Request.new(name, params)
7
7
  self.new(request.to_hash, raise_on_write)
8
8
  end
9
9
 
@@ -24,16 +24,14 @@ class TestHost
24
24
  end
25
25
  end
26
26
 
27
- version 'v1' do
28
- service_handler_ns 'TestHost'
29
-
30
- service 'echo', 'Echo'
31
- service 'bad', 'Bad'
32
- service 'multiply', 'Multiply'
33
- service 'halt_it', '::TestHost::HaltIt'
34
- service 'authorized', 'Authorized'
35
- service 'custom_error', 'CustomError'
36
- end
27
+ service_handler_ns 'TestHost'
28
+
29
+ service 'echo', 'Echo'
30
+ service 'bad', 'Bad'
31
+ service 'multiply', 'Multiply'
32
+ service 'halt_it', '::TestHost::HaltIt'
33
+ service 'authorized', 'Authorized'
34
+ service 'custom_error', 'CustomError'
37
35
 
38
36
  class Echo
39
37
  include Sanford::ServiceHandler
@@ -116,9 +114,8 @@ class UndefinedHandlersHost
116
114
 
117
115
  port 12345
118
116
 
119
- version 'v1' do
120
- service 'undefined', 'ThisIsNotDefined'
121
- end
117
+ service 'undefined', 'ThisIsNotDefined'
118
+
122
119
  end
123
120
 
124
121
  class EmptyHost
@@ -2,8 +2,8 @@ require 'sanford-protocol/test/fake_socket'
2
2
 
3
3
  class SimpleClient
4
4
 
5
- def self.call_with_request(service_host, version, name, params)
6
- self.new(service_host).call_with_request(version, name, params)
5
+ def self.call_with_request(service_host, name, params)
6
+ self.new(service_host).call_with_request(name, params)
7
7
  end
8
8
 
9
9
  def self.call_with_msg_body(service_host, *args)
@@ -26,7 +26,7 @@ class RequestHandlingTests < Assert::Context
26
26
  class EchoTests < FakeConnectionTests
27
27
  desc "running a request for the echo server"
28
28
  setup do
29
- @connection = FakeConnection.with_request('v1', 'echo', { :message => 'test' })
29
+ @connection = FakeConnection.with_request('echo', { :message => 'test' })
30
30
  @worker = Sanford::Worker.new(@host_data, @connection)
31
31
  end
32
32
 
@@ -47,33 +47,10 @@ class RequestHandlingTests < Assert::Context
47
47
 
48
48
  end
49
49
 
50
- class MissingServiceVersionTests < FakeConnectionTests
51
- desc "running a request with no service version"
52
- setup do
53
- request_hash = Sanford::Protocol::Request.new('v1', 'what', {}).to_hash
54
- request_hash.delete('version')
55
- @connection = FakeConnection.new(request_hash)
56
- @worker = Sanford::Worker.new(@host_data, @connection)
57
- end
58
-
59
- should "return a bad request response" do
60
- assert_raises(Sanford::Protocol::BadRequestError) do
61
- @worker.run
62
- end
63
- response = @connection.response
64
-
65
- assert_equal 400, response.code
66
- assert_match "request", response.status.message
67
- assert_match "version", response.status.message
68
- assert_equal nil, response.data
69
- end
70
-
71
- end
72
-
73
50
  class MissingServiceNameTests < FakeConnectionTests
74
51
  desc "running a request with no service name"
75
52
  setup do
76
- request_hash = Sanford::Protocol::Request.new('v1', 'what', {}).to_hash
53
+ request_hash = Sanford::Protocol::Request.new('what', {}).to_hash
77
54
  request_hash.delete('name')
78
55
  @connection = FakeConnection.new(request_hash)
79
56
  @worker = Sanford::Worker.new(@host_data, @connection)
@@ -96,7 +73,7 @@ class RequestHandlingTests < Assert::Context
96
73
  class NotFoundServiceTests < FakeConnectionTests
97
74
  desc "running a request with no matching service name"
98
75
  setup do
99
- @connection = FakeConnection.with_request('v1', 'what', {})
76
+ @connection = FakeConnection.with_request('what', {})
100
77
  @worker = Sanford::Worker.new(@host_data, @connection)
101
78
  end
102
79
 
@@ -116,7 +93,7 @@ class RequestHandlingTests < Assert::Context
116
93
  class ErrorServiceTests < FakeConnectionTests
117
94
  desc "running a request that errors on the server"
118
95
  setup do
119
- @connection = FakeConnection.with_request('v1', 'bad', {})
96
+ @connection = FakeConnection.with_request('bad', {})
120
97
  @worker = Sanford::Worker.new(@host_data, @connection)
121
98
  end
122
99
 
@@ -136,7 +113,7 @@ class RequestHandlingTests < Assert::Context
136
113
  class HaltTests < FakeConnectionTests
137
114
  desc "running a request that halts"
138
115
  setup do
139
- @connection = FakeConnection.with_request('v1', 'halt_it', {})
116
+ @connection = FakeConnection.with_request('halt_it', {})
140
117
  @worker = Sanford::Worker.new(@host_data, @connection)
141
118
  end
142
119
 
@@ -154,7 +131,7 @@ class RequestHandlingTests < Assert::Context
154
131
  class AuthorizeRequestTests < FakeConnectionTests
155
132
  desc "running a request that halts in a callback"
156
133
  setup do
157
- @connection = FakeConnection.with_request('v1', 'authorized', {})
134
+ @connection = FakeConnection.with_request('authorized', {})
158
135
  @worker = Sanford::Worker.new(@host_data, @connection)
159
136
  end
160
137
 
@@ -172,7 +149,7 @@ class RequestHandlingTests < Assert::Context
172
149
  class WithCustomErrorHandlerTests < FakeConnectionTests
173
150
  desc "running a request that triggers our custom error handler"
174
151
  setup do
175
- @connection = FakeConnection.with_request('v1', 'custom_error', {})
152
+ @connection = FakeConnection.with_request('custom_error', {})
176
153
  @worker = Sanford::Worker.new(@host_data, @connection)
177
154
  end
178
155
 
@@ -190,7 +167,7 @@ class RequestHandlingTests < Assert::Context
190
167
  class WithBadResponseHashTests < FakeConnectionTests
191
168
  desc "running a request that builds an object that can't be encoded"
192
169
  setup do
193
- @connection = FakeConnection.with_request('v1', 'echo', { :message => 'cant encode' }, true)
170
+ @connection = FakeConnection.with_request('echo', { :message => 'cant encode' }, true)
194
171
  @worker = Sanford::Worker.new(@host_data, @connection)
195
172
  end
196
173
 
@@ -247,7 +224,7 @@ class RequestHandlingTests < Assert::Context
247
224
 
248
225
  should "return a successful response and echo the params sent to it" do
249
226
  self.start_server(TestHost) do
250
- response = SimpleClient.call_with_request(TestHost, 'v1', 'echo', {
227
+ response = SimpleClient.call_with_request(TestHost, 'echo', {
251
228
  :message => 'test'
252
229
  })
253
230
 
@@ -317,7 +294,7 @@ class RequestHandlingTests < Assert::Context
317
294
  should "timeout" do
318
295
  self.start_server(TestHost) do
319
296
  client = SimpleClient.new(TestHost, :with_delay => 1)
320
- response = client.call_with_request('v1', 'echo', { :message => 'test' })
297
+ response = client.call_with_request('echo', { :message => 'test' })
321
298
 
322
299
  assert_equal 408, response.code
323
300
  assert_equal nil, response.status.message
@@ -34,20 +34,20 @@ class Sanford::HostData
34
34
 
35
35
  should "constantize a host's handlers" do
36
36
  handlers = subject.instance_variable_get("@handlers")
37
- assert_equal TestHost::Authorized, handlers['v1']['authorized']
38
- assert_equal TestHost::Bad, handlers['v1']['bad']
39
- assert_equal TestHost::Echo, handlers['v1']['echo']
40
- assert_equal TestHost::HaltIt, handlers['v1']['halt_it']
41
- assert_equal TestHost::Multiply, handlers['v1']['multiply']
37
+ assert_equal TestHost::Authorized, handlers['authorized']
38
+ assert_equal TestHost::Bad, handlers['bad']
39
+ assert_equal TestHost::Echo, handlers['echo']
40
+ assert_equal TestHost::HaltIt, handlers['halt_it']
41
+ assert_equal TestHost::Multiply, handlers['multiply']
42
42
  end
43
43
 
44
44
  should "look up handler classes with #handler_class_for" do
45
- assert_equal TestHost::Echo, subject.handler_class_for('v1', 'echo')
45
+ assert_equal TestHost::Echo, subject.handler_class_for('echo')
46
46
  end
47
47
 
48
48
  should "raise a custom error when handler_class_for is called with an unknown service" do
49
49
  assert_raises(Sanford::NotFoundError) do
50
- subject.handler_class_for('not', 'defined')
50
+ subject.handler_class_for('not_defined')
51
51
  end
52
52
  end
53
53
 
@@ -13,8 +13,8 @@ module Sanford::Host
13
13
  subject{ MyHost.instance }
14
14
 
15
15
  should have_instance_methods :configuration, :name, :ip, :port, :pid_file,
16
- :logger, :verbose_logging, :runner, :error, :init, :version,
17
- :versioned_services
16
+ :logger, :verbose_logging, :runner, :error, :init, :service_handler_ns,
17
+ :service, :services
18
18
 
19
19
  should "get and set it's configuration options with their matching methods" do
20
20
  subject.name 'my_awesome_host'
@@ -23,10 +23,18 @@ module Sanford::Host
23
23
  assert_equal subject.configuration.port, subject.port
24
24
  end
25
25
 
26
- should "add a version group with #version" do
27
- subject.version('v1'){ }
26
+ should "allow adding a service with #service" do
27
+ subject.service_handler_ns 'MyNamespace'
28
+ subject.service('test', 'MyServiceHandler')
28
29
 
29
- assert_equal({}, subject.versioned_services["v1"])
30
+ assert_equal 'MyNamespace::MyServiceHandler', subject.services['test']
31
+ end
32
+
33
+ should "ignore a namespace when a service class has leading colons" do
34
+ subject.service_handler_ns 'MyNamespace'
35
+ subject.service('test', '::MyServiceHandler')
36
+
37
+ assert_equal '::MyServiceHandler', subject.services['test']
30
38
  end
31
39
 
32
40
  end
@@ -5,7 +5,7 @@ module Sanford::Runner
5
5
  class BaseTests < Assert::Context
6
6
  desc "Sanford::Runner"
7
7
  setup do
8
- request = Sanford::Protocol::Request.new('v1', 'test', {})
8
+ request = Sanford::Protocol::Request.new('test', {})
9
9
  @runner = Sanford::DefaultRunner.new(BasicServiceHandler, request)
10
10
  end
11
11
  subject{ @runner }
@@ -9,7 +9,7 @@ class Sanford::Worker
9
9
  desc "Sanford::Worker"
10
10
  setup do
11
11
  @host_data = Sanford::HostData.new(TestHost)
12
- @connection = FakeConnection.with_request('version', 'service', {})
12
+ @connection = FakeConnection.with_request('service', {})
13
13
  @worker = Sanford::Worker.new(@host_data, @connection)
14
14
  end
15
15
  subject{ @worker }
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sanford
3
3
  version: !ruby/object:Gem::Version
4
- hash: 3
4
+ hash: 63
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 7
8
+ - 8
9
9
  - 0
10
- version: 0.7.0
10
+ version: 0.8.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Collin Redding
@@ -16,10 +16,9 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2013-07-15 00:00:00 Z
19
+ date: 2013-10-14 00:00:00 Z
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- prerelease: false
23
22
  version_requirements: &id001 !ruby/object:Gem::Requirement
24
23
  none: false
25
24
  requirements:
@@ -30,11 +29,11 @@ dependencies:
30
29
  - 0
31
30
  - 4
32
31
  version: "0.4"
32
+ type: :runtime
33
33
  requirement: *id001
34
+ prerelease: false
34
35
  name: dat-tcp
35
- type: :runtime
36
36
  - !ruby/object:Gem::Dependency
37
- prerelease: false
38
37
  version_requirements: &id002 !ruby/object:Gem::Requirement
39
38
  none: false
40
39
  requirements:
@@ -45,41 +44,41 @@ dependencies:
45
44
  - 1
46
45
  - 0
47
46
  version: "1.0"
47
+ type: :runtime
48
48
  requirement: *id002
49
+ prerelease: false
49
50
  name: ns-options
50
- type: :runtime
51
51
  - !ruby/object:Gem::Dependency
52
- prerelease: false
53
52
  version_requirements: &id003 !ruby/object:Gem::Requirement
54
53
  none: false
55
54
  requirements:
56
55
  - - ~>
57
56
  - !ruby/object:Gem::Version
58
- hash: 1
57
+ hash: 7
59
58
  segments:
60
59
  - 0
61
- - 5
62
- version: "0.5"
60
+ - 6
61
+ version: "0.6"
62
+ type: :runtime
63
63
  requirement: *id003
64
+ prerelease: false
64
65
  name: sanford-protocol
65
- type: :runtime
66
66
  - !ruby/object:Gem::Dependency
67
- prerelease: false
68
67
  version_requirements: &id004 !ruby/object:Gem::Requirement
69
68
  none: false
70
69
  requirements:
71
70
  - - ~>
72
71
  - !ruby/object:Gem::Version
73
- hash: 3
72
+ hash: 5
74
73
  segments:
75
74
  - 2
76
- - 0
77
- version: "2.0"
75
+ - 3
76
+ version: "2.3"
77
+ type: :development
78
78
  requirement: *id004
79
+ prerelease: false
79
80
  name: assert
80
- type: :development
81
81
  - !ruby/object:Gem::Dependency
82
- prerelease: false
83
82
  version_requirements: &id005 !ruby/object:Gem::Requirement
84
83
  none: false
85
84
  requirements:
@@ -90,9 +89,10 @@ dependencies:
90
89
  - 1
91
90
  - 0
92
91
  version: "1.0"
92
+ type: :development
93
93
  requirement: *id005
94
+ prerelease: false
94
95
  name: assert-mocha
95
- type: :development
96
96
  description: Sanford TCP protocol server for hosting services
97
97
  email:
98
98
  - collin.redding@me.com
@@ -141,7 +141,6 @@ files:
141
141
  - test/unit/host_configuration_tests.rb
142
142
  - test/unit/host_data_tests.rb
143
143
  - test/unit/host_tests.rb
144
- - test/unit/host_version_group_tests.rb
145
144
  - test/unit/hosts_tests.rb
146
145
  - test/unit/manager_pid_file_tests.rb
147
146
  - test/unit/manager_tests.rb
@@ -151,8 +150,8 @@ files:
151
150
  - test/unit/worker_tests.rb
152
151
  - tmp/.gitkeep
153
152
  homepage: https://github.com/redding/sanford
154
- licenses: []
155
-
153
+ licenses:
154
+ - MIT
156
155
  post_install_message:
157
156
  rdoc_options: []
158
157
 
@@ -196,7 +195,6 @@ test_files:
196
195
  - test/unit/host_configuration_tests.rb
197
196
  - test/unit/host_data_tests.rb
198
197
  - test/unit/host_tests.rb
199
- - test/unit/host_version_group_tests.rb
200
198
  - test/unit/hosts_tests.rb
201
199
  - test/unit/manager_pid_file_tests.rb
202
200
  - test/unit/manager_tests.rb
@@ -1,39 +0,0 @@
1
- require 'assert'
2
-
3
- class Sanford::Host::VersionGroup
4
-
5
- class BaseTests < Assert::Context
6
- desc "Sanford::Host::VersionGroup"
7
- setup do
8
- @version_group = Sanford::Host::VersionGroup.new('v1'){ }
9
- end
10
- subject{ @version_group }
11
-
12
- should have_instance_methods :name, :services, :service, :to_hash
13
-
14
- should "add a key-value to it's services hash with #service" do
15
- subject.service('test', 'MyServiceHandler')
16
-
17
- assert_equal 'MyServiceHandler', subject.services['test']
18
- end
19
- should "allow setting a namespace and use it when a service is added" do
20
- subject.service_handler_ns 'MyNamespace'
21
- subject.service('test', 'MyServiceHandler')
22
-
23
- assert_equal 'MyNamespace::MyServiceHandler', subject.services['test']
24
- end
25
- should "ignore a namespace and when a service class has leading colons" do
26
- subject.service_handler_ns 'MyNamespace'
27
- subject.service('test', '::MyServiceHandler')
28
-
29
- assert_equal '::MyServiceHandler', subject.services['test']
30
- end
31
- should "return a hash with it's name as a key and its services as the value with #to_hash" do
32
- subject.service('test', 'MyServiceHandler')
33
- expected = { subject.name => subject.services }
34
-
35
- assert_equal expected, subject.to_hash
36
- end
37
- end
38
-
39
- end