netscaler 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/VERSION +1 -1
- data/lib/netscaler/service.rb +10 -5
- data/netscaler.gemspec +4 -3
- data/spec/service_spec.rb +41 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
YzE4MzhhNWU3MThjODNiN2FmMTQwZWVjMjFkN2JjZWJmMzM0N2VmNQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
YzM1YjJmMTg1YjY0NDQwMWYwZTY2NGNiZTU4Njc1MDkxODAwZmQwNA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
N2FiMzk2YmY5YzMyYzhiMjc3MzUxOTRkMDIyOThhYzk4MDI4ZDNlYTkyMTk2
|
10
|
+
MzgwYTk4ODRjZDFmNWRiMjc0MzEyZTJkMzFjYWNhM2U4MGQ5NWE3YjE3YjUy
|
11
|
+
NGVlMzYwMWIzNDkwNjg4MmNjN2Q5M2FjM2MxYWQzOTBhYjc0NGU=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YzE4NWY3MzM5Y2Y1MjQyNjMyMjRlZWVjYjZiZTZjNDI3OTdiNDRlODIzMjZh
|
14
|
+
N2QyZmE3NmRmNzMyYjBkNzEyYWFkOTE2MzUzZDNlODUwZWZlZDBkZGIyMTA4
|
15
|
+
ZjU1NjhjNjczNDI1OTdmNDAzODFkYTM3ZjZjZDI0NGEyMTk4OWM=
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.1
|
data/lib/netscaler/service.rb
CHANGED
@@ -30,11 +30,16 @@ module Netscaler
|
|
30
30
|
##
|
31
31
|
# :serverName is optional, if omitted it will return all services
|
32
32
|
# configured on the Netscaler.
|
33
|
-
def show(payload) # :args: :serverName => 'foo'
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
33
|
+
def show(payload={}) # :args: :serverName => 'foo'
|
34
|
+
if payload[:serviceName] != nil then
|
35
|
+
payload = Netscaler.hash_hack(payload)
|
36
|
+
validate_payload(payload, [:serviceName])
|
37
|
+
return @netscaler.adapter.get("config/service/#{payload[:serviceName]}")
|
38
|
+
elsif payload == {} then
|
39
|
+
return @netscaler.adapter.get('config/service/')
|
40
|
+
else
|
41
|
+
raise ArgumentError, 'payload supplied must have been missing :serviceName'
|
42
|
+
end
|
38
43
|
end
|
39
44
|
|
40
45
|
##
|
data/netscaler.gemspec
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: netscaler 0.3.
|
5
|
+
# stub: netscaler 0.3.1 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "netscaler"
|
9
|
-
s.version = "0.3.
|
9
|
+
s.version = "0.3.1"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib"]
|
13
13
|
s.authors = ["Jeremy Custenborder", "David Andrew", "Jarrett Irons"]
|
14
|
-
s.date = "2014-
|
14
|
+
s.date = "2014-11-08"
|
15
15
|
s.description = "Netscaler api working against the Citrix Nitro api. Currently supports Nitro 9.3. Hope to add support for 10.X. Currently has support for som basics such as adding servers/services/servicegroups."
|
16
16
|
s.email = ["jeremy@scarcemedia.com", "david.andrew@webtrends.com", "jarrett.irons@gmail.com"]
|
17
17
|
s.extra_rdoc_files = [
|
@@ -50,6 +50,7 @@ Gem::Specification.new do |s|
|
|
50
50
|
"spec/netscaler_spec.rb",
|
51
51
|
"spec/policy_stringmap_spec.rb",
|
52
52
|
"spec/server_spec.rb",
|
53
|
+
"spec/service_spec.rb",
|
53
54
|
"spec/servicegroup_spec.rb",
|
54
55
|
"spec/spec_helper.rb"
|
55
56
|
]
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
+
require 'netscaler'
|
3
|
+
require 'netscaler/mock_adapter'
|
4
|
+
|
5
|
+
describe Netscaler::Server do
|
6
|
+
connection = Netscaler::Connection.new 'hostname'=> 'foo', 'password' => 'bar', 'username'=> 'bar'
|
7
|
+
connection.adapter = Netscaler::MockAdapter.new :body => '{ "errorcode": 0, "message": "Done" }'
|
8
|
+
|
9
|
+
context 'when adding a new service' do
|
10
|
+
it 'a name is required' do
|
11
|
+
expect {
|
12
|
+
connection.service.add(:serverName => 'foo', :serviceType => 'HTTP', :port => '80')
|
13
|
+
}.should raise_error(ArgumentError, /name/)
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'a serverName is required' do
|
17
|
+
expect {
|
18
|
+
connection.service.add(:name => 'foo_80', :serviceType => 'HTTP', :port => '80')
|
19
|
+
}.should raise_error(ArgumentError, /serverName/)
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'a serviceType is required' do
|
23
|
+
expect {
|
24
|
+
connection.service.add(:name => 'foo_80', :serverName => 'foo', :port => '80')
|
25
|
+
}.should raise_error(ArgumentError, /serviceType/)
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'a port is required' do
|
29
|
+
expect {
|
30
|
+
connection.service.add(:name => 'foo_80', :serverName => 'foo', :serviceType => 'HTTP')
|
31
|
+
}.should raise_error(ArgumentError, /port/)
|
32
|
+
end
|
33
|
+
|
34
|
+
|
35
|
+
it 'returns a Hash object if all necessary args are supplied' do
|
36
|
+
result = connection.service.add(:name => 'foo_80', :serverName => 'foo', :serviceType => 'HTTP', :port => '80')
|
37
|
+
result.should be_kind_of(Hash)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: netscaler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy Custenborder
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2014-
|
13
|
+
date: 2014-11-08 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rest-client
|
@@ -168,6 +168,7 @@ files:
|
|
168
168
|
- spec/netscaler_spec.rb
|
169
169
|
- spec/policy_stringmap_spec.rb
|
170
170
|
- spec/server_spec.rb
|
171
|
+
- spec/service_spec.rb
|
171
172
|
- spec/servicegroup_spec.rb
|
172
173
|
- spec/spec_helper.rb
|
173
174
|
homepage: http://github.com/GravityLabs/netscaler
|