subordinate 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -35,7 +35,9 @@ module Subordinate
35
35
  def build_endpoint
36
36
  endpoint = ssl ? "https://" : "http://"
37
37
  endpoint << "#{self.username}:#{self.api_token}@" if self.authenticated?
38
- endpoint << "#{self.subdomain}.#{self.domain}:#{self.port}"
38
+ endpoint << "#{self.subdomain}." if self.subdomain
39
+ endpoint << "#{self.domain}" if self.domain
40
+ endpoint << ":#{self.port}" if self.port
39
41
  self.api_endpoint = endpoint
40
42
  end
41
43
 
@@ -1,3 +1,3 @@
1
1
  module Subordinate
2
- VERSION = "0.5.0"
2
+ VERSION = "0.5.1"
3
3
  end
@@ -74,7 +74,7 @@ describe Subordinate::Client do
74
74
 
75
75
  describe "#add_job_to_view" do
76
76
  it "responds with a success" do
77
- stub_request(:post, "#{subordinate.api_endpoint}/view/#{ENV["VIEW"]}/addJobToView").
77
+ stub_request(:post, "#{subordinate.api_endpoint}/view/#{ENV["VIEW"]}/addJobToView?name=#{ENV['JOB']}").
78
78
  to_return(:status => 200, :body => "", :headers => {})
79
79
 
80
80
  subordinate.add_job_to_view(ENV["VIEW"], ENV["JOB"]).status.should == 200
@@ -83,7 +83,7 @@ describe Subordinate::Client do
83
83
 
84
84
  describe "#remove_job_from_view" do
85
85
  it "responds with a success" do
86
- stub_request(:post, "#{subordinate.api_endpoint}/view/#{ENV["VIEW"]}/removeJobFromView").
86
+ stub_request(:post, "#{subordinate.api_endpoint}/view/#{ENV["VIEW"]}/removeJobFromView?name=#{ENV['JOB']}").
87
87
  to_return(:status => 200, :body => "", :headers => {})
88
88
 
89
89
  subordinate.remove_job_from_view(ENV["VIEW"], ENV["JOB"]).status.should == 200
@@ -13,6 +13,11 @@ describe Subordinate::Client do
13
13
  end
14
14
 
15
15
  describe "#initialize" do
16
+ let(:domain) { "woofound.com" }
17
+ let(:subdomain) { "awesome" }
18
+ let(:port) { 2000 }
19
+ let(:ssl) { false }
20
+
16
21
  it "can be initialized" do
17
22
  Subordinate::Client.new.class.should == Subordinate::Client
18
23
  end
@@ -27,26 +32,27 @@ describe Subordinate::Client do
27
32
  raise_exception
28
33
  end
29
34
 
35
+ it "generates an endpoint without username and api token" do
36
+ client = Subordinate::Client.new(:api_key => ENV["API_KEY"] )
37
+ client.api_endpoint.should_not include("#{ENV["USERNAME"]}:#{ENV["API_KEY"]}")
38
+ end
39
+
30
40
  it "can be configured to use a new domain via options" do
31
- domain = "woofound.com"
32
41
  client = Subordinate::Client.new(:api_key => ENV["API_KEY"], :domain => domain )
33
42
  client.domain.should == domain
34
43
  end
35
44
 
36
45
  it "can be configured to use a new subdomain via options" do
37
- subdomain = "awesome"
38
46
  client = Subordinate::Client.new(:api_key => ENV["API_KEY"], :subdomain => subdomain )
39
47
  client.subdomain.should == subdomain
40
48
  end
41
49
 
42
50
  it "can be configured to use a new port via options" do
43
- port = 2000
44
51
  client = Subordinate::Client.new(:api_key => ENV["API_KEY"], :port => port )
45
52
  client.port.should == port
46
53
  end
47
54
 
48
55
  it "can be configured to use a different ssl option via options" do
49
- ssl = false
50
56
  client = Subordinate::Client.new(:api_key => ENV["API_KEY"], :ssl => ssl )
51
57
  client.ssl.should == ssl
52
58
  end
@@ -0,0 +1,119 @@
1
+ require "spec_helper"
2
+
3
+ # Configuration Spec
4
+ describe Subordinate::Client do
5
+ before do
6
+ Subordinate.reset!
7
+ Subordinate.configure do |c|
8
+ c.subdomain = ENV["SUBDOMAIN"]
9
+ c.domain = ENV["DOMAIN"]
10
+ c.port = ENV["PORT"]
11
+ c.ssl = false
12
+ end
13
+ end
14
+
15
+ describe "configuration" do
16
+ let(:domain) { "woofound.com" }
17
+ let(:subdomain) { "awesome" }
18
+ let(:port) { 2000 }
19
+ let(:ssl) { false }
20
+
21
+ describe "with a domain" do
22
+ before do
23
+ Subordinate.reset!
24
+ Subordinate.configure do |c|
25
+ c.domain = domain
26
+ end
27
+ end
28
+
29
+ let(:client) { Subordinate.new }
30
+
31
+ it "sets the domain for the client" do
32
+ client.domain.should == domain
33
+ end
34
+
35
+ it "builds an endpoint with the domain" do
36
+ client.api_endpoint.should include(domain)
37
+ end
38
+ end
39
+
40
+ # SUBDOMAIN
41
+ describe "with a subdomain" do
42
+ before do
43
+ Subordinate.reset!
44
+ Subordinate.configure do |c|
45
+ c.subdomain = subdomain
46
+ end
47
+ end
48
+
49
+ let(:client) { Subordinate.new }
50
+
51
+ it "sets the subdomain for the client" do
52
+ client.subdomain.should == subdomain
53
+ end
54
+
55
+ it "builds an endpoint with the subdomain" do
56
+ client.api_endpoint.should include(subdomain)
57
+ end
58
+ end
59
+
60
+ describe "without a subdomain" do
61
+ it "builds an endpoint without a subdomain" do
62
+ client = Subordinate.new(:subdomain => nil)
63
+ client.api_endpoint.should == "http://#{ENV["DOMAIN"]}:#{ENV["PORT"]}"
64
+ end
65
+ end
66
+
67
+ # PORT
68
+ describe "with a port" do
69
+ before do
70
+ Subordinate.reset!
71
+ Subordinate.configure do |c|
72
+ c.port = port
73
+ end
74
+ end
75
+
76
+ let(:client) { Subordinate.new }
77
+
78
+ it "sets the port for the client" do
79
+ client.port.should == port
80
+ end
81
+
82
+ it "builds an endpoint with the port" do
83
+ client.api_endpoint.should include("#{port}")
84
+ end
85
+ end
86
+
87
+ describe "without a port" do
88
+ it "builds an endpoint without a port" do
89
+ client = Subordinate.new(:port => nil)
90
+ client.api_endpoint.should == "http://#{ENV["SUBDOMAIN"]}.#{ENV["DOMAIN"]}"
91
+ end
92
+ end
93
+
94
+ # SSL
95
+ describe "with a ssl" do
96
+ before do
97
+ Subordinate.reset!
98
+ Subordinate.configure do |c|
99
+ c.ssl = ssl
100
+ end
101
+ end
102
+
103
+ let(:client) { Subordinate.new }
104
+
105
+ it "sets the ssl for the client" do
106
+ client.ssl.should == ssl
107
+ end
108
+
109
+ it "builds an endpoint with the ssl set to false" do
110
+ client.api_endpoint.should include("http://")
111
+ end
112
+
113
+ it "builds an endpoint with the ssl set to true" do
114
+ client = Subordinate.new(:ssl => true)
115
+ client.api_endpoint.should include("https://")
116
+ end
117
+ end
118
+ end
119
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: subordinate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -258,6 +258,7 @@ files:
258
258
  - spec/subordinate/client/system_spec.rb
259
259
  - spec/subordinate/client/view_spec.rb
260
260
  - spec/subordinate/client_spec.rb
261
+ - spec/subordinate/configuration_spec.rb
261
262
  - subordinate.gemspec
262
263
  homepage: https://github.com/jasontruluck/subordinate
263
264
  licenses: []
@@ -273,7 +274,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
273
274
  version: '0'
274
275
  segments:
275
276
  - 0
276
- hash: 2873629329486478111
277
+ hash: -1675897956094488163
277
278
  required_rubygems_version: !ruby/object:Gem::Requirement
278
279
  none: false
279
280
  requirements:
@@ -282,7 +283,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
282
283
  version: '0'
283
284
  segments:
284
285
  - 0
285
- hash: 2873629329486478111
286
+ hash: -1675897956094488163
286
287
  requirements: []
287
288
  rubyforge_project:
288
289
  rubygems_version: 1.8.24
@@ -301,4 +302,5 @@ test_files:
301
302
  - spec/subordinate/client/system_spec.rb
302
303
  - spec/subordinate/client/view_spec.rb
303
304
  - spec/subordinate/client_spec.rb
305
+ - spec/subordinate/configuration_spec.rb
304
306
  has_rdoc: