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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YTM3NDRkODQzNmM4MzYyMDhkZmZhYzFkODYzM2M5ZDdiODI0Mzc4ZQ==
4
+ YzE4MzhhNWU3MThjODNiN2FmMTQwZWVjMjFkN2JjZWJmMzM0N2VmNQ==
5
5
  data.tar.gz: !binary |-
6
- ZmMxMWVjMzk2Yjc2ZTAyZTRmOTlhYzEzMWJlY2M2OTUwMTI5NTMxMw==
6
+ YzM1YjJmMTg1YjY0NDQwMWYwZTY2NGNiZTU4Njc1MDkxODAwZmQwNA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZGQ5YmJjOTkyNTE0ZjQxNTY0MWQ0MWMxOWE2ZDJmMjVkZTcwMWVkOWVmMWRh
10
- Y2UwNDIyNDlkNWJmMjQ1ZWNmZWY3MWY0YjE4NDE0MmVlN2U1NTU3MzhhOWE3
11
- YjlhM2ZiOTUxZjJlYTI0MjYzZWM3NmI1NWEwYmQxZWQ0NjhjZWU=
9
+ N2FiMzk2YmY5YzMyYzhiMjc3MzUxOTRkMDIyOThhYzk4MDI4ZDNlYTkyMTk2
10
+ MzgwYTk4ODRjZDFmNWRiMjc0MzEyZTJkMzFjYWNhM2U4MGQ5NWE3YjE3YjUy
11
+ NGVlMzYwMWIzNDkwNjg4MmNjN2Q5M2FjM2MxYWQzOTBhYjc0NGU=
12
12
  data.tar.gz: !binary |-
13
- ZDM0MmI5YzcxYzU4OTAxZDRmNzJiZWQ5ZGYyN2ZlZGZlOGNjN2NlNGUxYzc0
14
- ZDYwY2RmZTAyYmFiMmVlNWQxNTM4OGY1MmY4M2JjZDM3OWIxYTA1NjA0ZGVi
15
- NWJhYTNiNWUzM2QwNTcxM2MzZjdjNWMzMzFkMmMzODg2YTk1N2U=
13
+ YzE4NWY3MzM5Y2Y1MjQyNjMyMjRlZWVjYjZiZTZjNDI3OTdiNDRlODIzMjZh
14
+ N2QyZmE3NmRmNzMyYjBkNzEyYWFkOTE2MzUzZDNlODUwZWZlZDBkZGIyMTA4
15
+ ZjU1NjhjNjczNDI1OTdmNDAzODFkYTM3ZjZjZDI0NGEyMTk4OWM=
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.0
1
+ 0.3.1
@@ -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
- return @netscaler.adapter.get('config/service/', args) if payload.nil?
35
- payload = Netscaler.hash_hack(payload)
36
- validate_payload(payload, [:serviceName])
37
- return @netscaler.adapter.get("config/service/#{payload[:serviceName]}")
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.0 ruby lib
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.0"
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-10-26"
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.0
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-10-26 00:00:00.000000000 Z
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