ruby-paloalto-client 0.0.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 +7 -0
- data/.gitignore +16 -0
- data/.rspec +2 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +152 -0
- data/Rakefile +2 -0
- data/lib/palo-alto/client/version.rb +5 -0
- data/lib/palo-alto/client.rb +50 -0
- data/lib/palo-alto/common/base-api.rb +84 -0
- data/lib/palo-alto/helpers/rest.rb +46 -0
- data/lib/palo-alto/models/address-group.rb +27 -0
- data/lib/palo-alto/models/address.rb +25 -0
- data/lib/palo-alto/models/device.rb +27 -0
- data/lib/palo-alto/models/rulebase.rb +24 -0
- data/lib/palo-alto/models/virtual-system.rb +28 -0
- data/lib/palo-alto/v6/address-api.rb +46 -0
- data/lib/palo-alto/v6/address-group-api.rb +57 -0
- data/lib/palo-alto/v6/api.rb +16 -0
- data/lib/palo-alto/v6/device-api.rb +55 -0
- data/lib/palo-alto/v6/virtual-system-api.rb +76 -0
- data/ruby-paloalto-client.gemspec +29 -0
- data/spec/fixtures/address_groups.xml +14 -0
- data/spec/fixtures/addresses.xml +14 -0
- data/spec/fixtures/blank_address_groups.xml +6 -0
- data/spec/fixtures/blank_addresses.xml +5 -0
- data/spec/fixtures/blank_devices.xml +4 -0
- data/spec/fixtures/blank_virtual_systems.xml +4 -0
- data/spec/fixtures/devices.xml +17 -0
- data/spec/fixtures/failure.xml +2 -0
- data/spec/fixtures/no_address_group_virtual_systems.xml +24 -0
- data/spec/fixtures/no_address_virtual_systems.xml +24 -0
- data/spec/fixtures/no_members_address_groups.xml +11 -0
- data/spec/fixtures/no_rulebase_virtual_systems.xml +24 -0
- data/spec/fixtures/no_vsys_devices.xml +13 -0
- data/spec/fixtures/virtual_systems.xml +32 -0
- data/spec/lib/palo-alto/client_spec.rb +36 -0
- data/spec/lib/palo-alto/common/base_api_spec.rb +121 -0
- data/spec/lib/palo-alto/helpers/rest_spec.rb +32 -0
- data/spec/lib/palo-alto/models/address_group_spec.rb +43 -0
- data/spec/lib/palo-alto/models/address_spec.rb +32 -0
- data/spec/lib/palo-alto/models/device_spec.rb +43 -0
- data/spec/lib/palo-alto/models/rulebase_spec.rb +23 -0
- data/spec/lib/palo-alto/models/virtual_system_spec.rb +53 -0
- data/spec/lib/palo-alto/v6/address_api_spec.rb +54 -0
- data/spec/lib/palo-alto/v6/address_group_api_spec.rb +79 -0
- data/spec/lib/palo-alto/v6/api_spec.rb +4 -0
- data/spec/lib/palo-alto/v6/device_api_spec.rb +78 -0
- data/spec/lib/palo-alto/v6/virtual_system_api_spec.rb +93 -0
- data/spec/spec_helper.rb +26 -0
- metadata +221 -0
@@ -0,0 +1,43 @@
|
|
1
|
+
require "palo-alto/models/device"
|
2
|
+
|
3
|
+
describe "PaloAlto::Models::Device" do
|
4
|
+
let(:name) { "test-device" }
|
5
|
+
let(:ip) { "2.2.2.2" }
|
6
|
+
let(:virtual_systems) { [ "a", "b" ] }
|
7
|
+
|
8
|
+
before do
|
9
|
+
@device = PaloAlto::Models::Device.new(name: name,
|
10
|
+
ip: ip,
|
11
|
+
virtual_systems: virtual_systems)
|
12
|
+
end
|
13
|
+
|
14
|
+
it "has a name attribute" do
|
15
|
+
expect(@device).to respond_to(:name)
|
16
|
+
end
|
17
|
+
|
18
|
+
it "has an ip attribute" do
|
19
|
+
expect(@device).to respond_to(:ip)
|
20
|
+
end
|
21
|
+
|
22
|
+
it "has a virtual_systems attribute" do
|
23
|
+
expect(@device).to respond_to(:virtual_systems)
|
24
|
+
end
|
25
|
+
|
26
|
+
describe ".initialize" do
|
27
|
+
it "returns a PaloAlto::Models::Device instance" do
|
28
|
+
expect(@device).to be_instance_of(PaloAlto::Models::Device)
|
29
|
+
end
|
30
|
+
|
31
|
+
it "assigns name" do
|
32
|
+
expect(@device.name).to eq(name)
|
33
|
+
end
|
34
|
+
|
35
|
+
it "assigns ip" do
|
36
|
+
expect(@device.ip).to eq(ip)
|
37
|
+
end
|
38
|
+
|
39
|
+
it "assigns virtual_systems" do
|
40
|
+
expect(@device.virtual_systems).to eq(virtual_systems)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require "palo-alto/models/rulebase"
|
2
|
+
|
3
|
+
describe "PaloAlto::Models::Rulebase" do
|
4
|
+
let(:name) { "test-rulebase" }
|
5
|
+
|
6
|
+
before do
|
7
|
+
@rulebase = PaloAlto::Models::Rulebase.new(name: name)
|
8
|
+
end
|
9
|
+
|
10
|
+
it "has a name attribute" do
|
11
|
+
expect(@rulebase).to respond_to(:name)
|
12
|
+
end
|
13
|
+
|
14
|
+
describe ".initialize" do
|
15
|
+
it "returns a PaloAlto::Models::Rulebase instance" do
|
16
|
+
expect(@rulebase).to be_instance_of(PaloAlto::Models::Rulebase)
|
17
|
+
end
|
18
|
+
|
19
|
+
it "assigns name" do
|
20
|
+
expect(@rulebase.name).to eq(name)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require "palo-alto/models/virtual-system"
|
2
|
+
|
3
|
+
describe "PaloAlto::Models::VirtualSystem" do
|
4
|
+
let(:name) { "vsys-1" }
|
5
|
+
let(:addresses) { [ "a", "b" ] }
|
6
|
+
let(:address_groups) { [ "c", "d" ] }
|
7
|
+
let(:rulebases) { [ "e", "f" ] }
|
8
|
+
|
9
|
+
before do
|
10
|
+
@virtual_system = PaloAlto::Models::VirtualSystem.new(name: name,
|
11
|
+
addresses: addresses,
|
12
|
+
address_groups: address_groups,
|
13
|
+
rulebases: rulebases)
|
14
|
+
end
|
15
|
+
|
16
|
+
it "has a name attribute" do
|
17
|
+
expect(@virtual_system).to respond_to(:name)
|
18
|
+
end
|
19
|
+
|
20
|
+
it "has an addresses attribute" do
|
21
|
+
expect(@virtual_system).to respond_to(:addresses)
|
22
|
+
end
|
23
|
+
|
24
|
+
it "has an address_groups attribute" do
|
25
|
+
expect(@virtual_system).to respond_to(:address_groups)
|
26
|
+
end
|
27
|
+
|
28
|
+
it "has a rulebases attribute" do
|
29
|
+
expect(@virtual_system).to respond_to(:rulebases)
|
30
|
+
end
|
31
|
+
|
32
|
+
describe ".initialize" do
|
33
|
+
it "returns a PaloAlto::Models::VirtualSystem instance" do
|
34
|
+
expect(@virtual_system).to be_instance_of(PaloAlto::Models::VirtualSystem)
|
35
|
+
end
|
36
|
+
|
37
|
+
it "assigns name" do
|
38
|
+
expect(@virtual_system.name).to eq(name)
|
39
|
+
end
|
40
|
+
|
41
|
+
it "assigns addresses" do
|
42
|
+
expect(@virtual_system.addresses).to eq(addresses)
|
43
|
+
end
|
44
|
+
|
45
|
+
it "assigns address_groups" do
|
46
|
+
expect(@virtual_system.address_groups).to eq(address_groups)
|
47
|
+
end
|
48
|
+
|
49
|
+
it "assigns rulebases" do
|
50
|
+
expect(@virtual_system.rulebases).to eq(rulebases)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
require "palo-alto/v6/address-api"
|
2
|
+
require "palo-alto/helpers/rest"
|
3
|
+
|
4
|
+
describe "PaloAlto::V6::AddressApi" do
|
5
|
+
# dummy class to demonstrate functionality
|
6
|
+
class DummyClass
|
7
|
+
extend PaloAlto::V6::AddressApi
|
8
|
+
|
9
|
+
def self.endpoint
|
10
|
+
"https://some.host:80/api/"
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.auth_key
|
14
|
+
"OIGHOEIHT()*#Y"
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe ".addresses" do
|
19
|
+
let(:address_xml) { File.open(fixture_file("addresses.xml")).read }
|
20
|
+
let(:blank_address_xml) { File.open(fixture_file("blank_addresses.xml")).read }
|
21
|
+
|
22
|
+
describe "when addresses exist" do
|
23
|
+
before do
|
24
|
+
expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(address_xml)
|
25
|
+
end
|
26
|
+
|
27
|
+
it "parses the XML response into the required format" do
|
28
|
+
expect(DummyClass.addresses).to be_instance_of(Array)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
describe "when no addresses exist" do
|
33
|
+
before do
|
34
|
+
expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(blank_address_xml)
|
35
|
+
end
|
36
|
+
|
37
|
+
it "returns an empty array" do
|
38
|
+
expect(DummyClass.addresses).to eq([])
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
describe "when errors occur" do
|
43
|
+
it "raises an exception if an error occurred obtaining XML" do
|
44
|
+
expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_raise(Exception)
|
45
|
+
expect{ DummyClass.addresses }.to raise_exception
|
46
|
+
end
|
47
|
+
|
48
|
+
it "raises an exception if an error occurred reported in the XML" do
|
49
|
+
expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(File.open(fixture_file("failure.xml")).read)
|
50
|
+
expect{ DummyClass.addresses }.to raise_exception
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
require "palo-alto/v6/address-group-api"
|
2
|
+
require "palo-alto/helpers/rest"
|
3
|
+
require "palo-alto/models/address"
|
4
|
+
require "palo-alto/models/address-group"
|
5
|
+
require "nokogiri"
|
6
|
+
|
7
|
+
describe "PaloAlto::V6::AddressGroupApi" do
|
8
|
+
# dummy class to demonstrate functionality
|
9
|
+
class DummyClass
|
10
|
+
extend PaloAlto::V6::AddressGroupApi
|
11
|
+
|
12
|
+
def self.endpoint
|
13
|
+
"https://some.host:80/api/"
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.auth_key
|
17
|
+
"OIGHOEIHT()*#Y"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
describe ".address_groups" do
|
22
|
+
let(:address_group_xml) { File.open(fixture_file("address_groups.xml")).read }
|
23
|
+
let(:blank_address_group_xml) { File.open(fixture_file("blank_address_groups.xml")).read }
|
24
|
+
let(:no_member_address_group_xml) { File.open(fixture_file("no_members_address_groups.xml")).read }
|
25
|
+
|
26
|
+
describe "when address groups exist" do
|
27
|
+
it "parses the XML response into the required format" do
|
28
|
+
expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(address_group_xml)
|
29
|
+
@address_groups = DummyClass.address_groups
|
30
|
+
|
31
|
+
expect(@address_groups).to be_instance_of(Array)
|
32
|
+
end
|
33
|
+
|
34
|
+
describe "for groups that contain members" do
|
35
|
+
before do
|
36
|
+
expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(address_group_xml)
|
37
|
+
@address_groups = DummyClass.address_groups
|
38
|
+
end
|
39
|
+
|
40
|
+
it "returns a list of addresses" do
|
41
|
+
expect(@address_groups[0].addresses).to_not be_empty
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
describe "for groups that have no members" do
|
46
|
+
before do
|
47
|
+
expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(no_member_address_group_xml)
|
48
|
+
@address_groups = DummyClass.address_groups
|
49
|
+
end
|
50
|
+
|
51
|
+
it "returns an empty array" do
|
52
|
+
expect(@address_groups[0].addresses).to be_empty
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
describe "when no address groups exist" do
|
58
|
+
before do
|
59
|
+
expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(blank_address_group_xml)
|
60
|
+
end
|
61
|
+
|
62
|
+
it "returns an empty array" do
|
63
|
+
expect(DummyClass.address_groups).to eq([])
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
describe "when errors occur" do
|
68
|
+
it "raises an exception if an error occurred obtaining XML" do
|
69
|
+
expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_raise(Exception)
|
70
|
+
expect{ DummyClass.address_groups }.to raise_exception
|
71
|
+
end
|
72
|
+
|
73
|
+
it "raises an exception if an error occurred reported in the XML" do
|
74
|
+
expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(File.open(fixture_file("failure.xml")).read)
|
75
|
+
expect{ DummyClass.address_groups }.to raise_exception
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
require "palo-alto/v6/device-api"
|
2
|
+
require "palo-alto/helpers/rest"
|
3
|
+
require "palo-alto/models/virtual-system"
|
4
|
+
require "nokogiri"
|
5
|
+
|
6
|
+
describe "PaloAlto::V6::DeviceApi" do
|
7
|
+
# dummy class to demonstrate functionality
|
8
|
+
class DummyClass
|
9
|
+
extend PaloAlto::V6::DeviceApi
|
10
|
+
|
11
|
+
def self.endpoint
|
12
|
+
"https://some.host:80/api/"
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.auth_key
|
16
|
+
"OIGHOEIHT()*#Y"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
describe ".devices" do
|
21
|
+
let(:device_xml) { File.open(fixture_file("devices.xml")).read }
|
22
|
+
let(:blank_device_xml) { File.open(fixture_file("blank_devices.xml")).read }
|
23
|
+
let(:no_vsys_device_xml) { File.open(fixture_file("no_vsys_devices.xml")).read }
|
24
|
+
|
25
|
+
describe "when devices exist" do
|
26
|
+
it "parses the XML response into the required format" do
|
27
|
+
expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(device_xml)
|
28
|
+
@devices = DummyClass.devices
|
29
|
+
|
30
|
+
expect(@devices).to be_instance_of(Array)
|
31
|
+
end
|
32
|
+
|
33
|
+
describe "for devices that contain virtual_systems" do
|
34
|
+
before do
|
35
|
+
expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(device_xml)
|
36
|
+
@devices = DummyClass.devices
|
37
|
+
end
|
38
|
+
|
39
|
+
it "returns a list of virtual_systems" do
|
40
|
+
expect(@devices[0].virtual_systems).to_not be_empty
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
describe "for devices that have no virtual_systems" do
|
45
|
+
before do
|
46
|
+
expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(no_vsys_device_xml)
|
47
|
+
@devices = DummyClass.devices
|
48
|
+
end
|
49
|
+
|
50
|
+
it "returns an empty array" do
|
51
|
+
expect(@devices[0].virtual_systems).to be_empty
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
describe "when no devices exist" do
|
57
|
+
before do
|
58
|
+
expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(blank_device_xml)
|
59
|
+
end
|
60
|
+
|
61
|
+
it "returns an empty array" do
|
62
|
+
expect(DummyClass.devices).to eq([])
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
describe "when errors occur" do
|
67
|
+
it "raises an exception if an error occurred obtaining XML" do
|
68
|
+
expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_raise(Exception)
|
69
|
+
expect{ DummyClass.devices }.to raise_exception
|
70
|
+
end
|
71
|
+
|
72
|
+
it "raises an exception if an error occurred reported in the XML" do
|
73
|
+
expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(File.open(fixture_file("failure.xml")).read)
|
74
|
+
expect{ DummyClass.devices }.to raise_exception
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
@@ -0,0 +1,93 @@
|
|
1
|
+
require "palo-alto/v6/virtual-system-api"
|
2
|
+
require "palo-alto/helpers/rest"
|
3
|
+
require "nokogiri"
|
4
|
+
|
5
|
+
describe "PaloAlto::V6::VirtualSystemApi" do
|
6
|
+
# dummy class to demonstrate functionality
|
7
|
+
class DummyClass
|
8
|
+
extend PaloAlto::V6::VirtualSystemApi
|
9
|
+
|
10
|
+
def self.endpoint
|
11
|
+
"https://some.host:80/api/"
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.auth_key
|
15
|
+
"OIGHOEIHT()*#Y"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe ".virtual_systems" do
|
20
|
+
let(:virtual_system_xml) { File.open(fixture_file("virtual_systems.xml")).read }
|
21
|
+
let(:blank_virtual_system_xml) { File.open(fixture_file("blank_virtual_systems.xml")).read }
|
22
|
+
let(:no_rulebase_virtual_system_xml) { File.open(fixture_file("no_rulebase_virtual_systems.xml")).read }
|
23
|
+
let(:no_address_virtual_system_xml) { File.open(fixture_file("no_address_virtual_systems.xml")).read }
|
24
|
+
let(:no_address_group_virtual_system_xml) { File.open(fixture_file("no_address_group_virtual_systems.xml")).read }
|
25
|
+
|
26
|
+
describe "when virtual systems exist" do
|
27
|
+
it "parses the XML response into the required format" do
|
28
|
+
expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(virtual_system_xml)
|
29
|
+
@virtual_systems = DummyClass.virtual_systems
|
30
|
+
|
31
|
+
expect(@virtual_systems).to be_instance_of(Array)
|
32
|
+
end
|
33
|
+
|
34
|
+
it "returns an array of addresses, address_groups and virtual_systems" do
|
35
|
+
expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(virtual_system_xml)
|
36
|
+
@virtual_systems = DummyClass.virtual_systems
|
37
|
+
|
38
|
+
expect(@virtual_systems[0].addresses).to_not be_empty
|
39
|
+
expect(@virtual_systems[0].address_groups).to_not be_empty
|
40
|
+
expect(@virtual_systems[0].rulebases).to_not be_empty
|
41
|
+
end
|
42
|
+
|
43
|
+
it "returns an empty array for addresses when none exist" do
|
44
|
+
expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(no_address_virtual_system_xml)
|
45
|
+
@virtual_systems = DummyClass.virtual_systems
|
46
|
+
expect(@virtual_systems[0].addresses).to be_empty
|
47
|
+
end
|
48
|
+
|
49
|
+
it "returns an empty array for address_groups when none exist" do
|
50
|
+
expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(no_address_group_virtual_system_xml)
|
51
|
+
@virtual_systems = DummyClass.virtual_systems
|
52
|
+
expect(@virtual_systems[0].address_groups).to be_empty
|
53
|
+
end
|
54
|
+
|
55
|
+
it "returns an empty array for rulebases when none exist" do
|
56
|
+
expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(no_rulebase_virtual_system_xml)
|
57
|
+
@virtual_systems = DummyClass.virtual_systems
|
58
|
+
expect(@virtual_systems[0].rulebases).to be_empty
|
59
|
+
end
|
60
|
+
|
61
|
+
describe "address group addresses" do
|
62
|
+
it "associates addresses with the corresponding address group" do
|
63
|
+
expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(virtual_system_xml)
|
64
|
+
@virtual_systems = DummyClass.virtual_systems
|
65
|
+
|
66
|
+
expect(@virtual_systems[0].address_groups[0].addresses).to_not be_empty
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
describe "when no virtual systems exist" do
|
72
|
+
before do
|
73
|
+
expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(blank_virtual_system_xml)
|
74
|
+
end
|
75
|
+
|
76
|
+
it "returns an empty array" do
|
77
|
+
expect(DummyClass.virtual_systems).to eq([])
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
describe "when errors occur" do
|
82
|
+
it "raises an exception if an error occurred obtaining XML" do
|
83
|
+
expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_raise(Exception)
|
84
|
+
expect{ DummyClass.virtual_systems }.to raise_exception
|
85
|
+
end
|
86
|
+
|
87
|
+
it "raises an exception if an error occurred reported in the XML" do
|
88
|
+
expect(PaloAlto::Helpers::Rest).to receive(:make_request).and_return(File.open(fixture_file("failure.xml")).read)
|
89
|
+
expect{ DummyClass.virtual_systems }.to raise_exception
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
require "fakeweb"
|
2
|
+
require "simplecov"
|
3
|
+
|
4
|
+
SimpleCov.start do
|
5
|
+
add_filter "/spec"
|
6
|
+
end
|
7
|
+
|
8
|
+
RSpec.configure do |config|
|
9
|
+
config.expect_with :rspec do |expectations|
|
10
|
+
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
11
|
+
end
|
12
|
+
|
13
|
+
config.mock_with :rspec do |mocks|
|
14
|
+
mocks.verify_partial_doubles = true
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
# define the root of the spec files
|
19
|
+
unless defined?(SPEC_ROOT)
|
20
|
+
SPEC_ROOT = File.join(File.dirname(__FILE__))
|
21
|
+
end
|
22
|
+
|
23
|
+
# define an easy way to load fixture files (clean up code a bit)
|
24
|
+
def fixture_file(*name)
|
25
|
+
File.join(SPEC_ROOT, 'fixtures', name)
|
26
|
+
end
|
metadata
ADDED
@@ -0,0 +1,221 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ruby-paloalto-client
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Justin Karimi
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-03-01 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: nokogiri
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rest-client
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.7'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.7'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '10.0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '10.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: simplecov
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: fakeweb
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
description: A Ruby-based client library to interact with the PaloAlto APIs.
|
112
|
+
email:
|
113
|
+
- jekhokie@gmail.com
|
114
|
+
executables: []
|
115
|
+
extensions: []
|
116
|
+
extra_rdoc_files: []
|
117
|
+
files:
|
118
|
+
- ".gitignore"
|
119
|
+
- ".rspec"
|
120
|
+
- ".ruby-gemset"
|
121
|
+
- ".ruby-version"
|
122
|
+
- Gemfile
|
123
|
+
- LICENSE.txt
|
124
|
+
- README.md
|
125
|
+
- Rakefile
|
126
|
+
- lib/palo-alto/client.rb
|
127
|
+
- lib/palo-alto/client/version.rb
|
128
|
+
- lib/palo-alto/common/base-api.rb
|
129
|
+
- lib/palo-alto/helpers/rest.rb
|
130
|
+
- lib/palo-alto/models/address-group.rb
|
131
|
+
- lib/palo-alto/models/address.rb
|
132
|
+
- lib/palo-alto/models/device.rb
|
133
|
+
- lib/palo-alto/models/rulebase.rb
|
134
|
+
- lib/palo-alto/models/virtual-system.rb
|
135
|
+
- lib/palo-alto/v6/address-api.rb
|
136
|
+
- lib/palo-alto/v6/address-group-api.rb
|
137
|
+
- lib/palo-alto/v6/api.rb
|
138
|
+
- lib/palo-alto/v6/device-api.rb
|
139
|
+
- lib/palo-alto/v6/virtual-system-api.rb
|
140
|
+
- ruby-paloalto-client.gemspec
|
141
|
+
- spec/fixtures/address_groups.xml
|
142
|
+
- spec/fixtures/addresses.xml
|
143
|
+
- spec/fixtures/blank_address_groups.xml
|
144
|
+
- spec/fixtures/blank_addresses.xml
|
145
|
+
- spec/fixtures/blank_devices.xml
|
146
|
+
- spec/fixtures/blank_virtual_systems.xml
|
147
|
+
- spec/fixtures/devices.xml
|
148
|
+
- spec/fixtures/failure.xml
|
149
|
+
- spec/fixtures/no_address_group_virtual_systems.xml
|
150
|
+
- spec/fixtures/no_address_virtual_systems.xml
|
151
|
+
- spec/fixtures/no_members_address_groups.xml
|
152
|
+
- spec/fixtures/no_rulebase_virtual_systems.xml
|
153
|
+
- spec/fixtures/no_vsys_devices.xml
|
154
|
+
- spec/fixtures/virtual_systems.xml
|
155
|
+
- spec/lib/palo-alto/client_spec.rb
|
156
|
+
- spec/lib/palo-alto/common/base_api_spec.rb
|
157
|
+
- spec/lib/palo-alto/helpers/rest_spec.rb
|
158
|
+
- spec/lib/palo-alto/models/address_group_spec.rb
|
159
|
+
- spec/lib/palo-alto/models/address_spec.rb
|
160
|
+
- spec/lib/palo-alto/models/device_spec.rb
|
161
|
+
- spec/lib/palo-alto/models/rulebase_spec.rb
|
162
|
+
- spec/lib/palo-alto/models/virtual_system_spec.rb
|
163
|
+
- spec/lib/palo-alto/v6/address_api_spec.rb
|
164
|
+
- spec/lib/palo-alto/v6/address_group_api_spec.rb
|
165
|
+
- spec/lib/palo-alto/v6/api_spec.rb
|
166
|
+
- spec/lib/palo-alto/v6/device_api_spec.rb
|
167
|
+
- spec/lib/palo-alto/v6/virtual_system_api_spec.rb
|
168
|
+
- spec/spec_helper.rb
|
169
|
+
homepage: ''
|
170
|
+
licenses:
|
171
|
+
- Apache 2.0
|
172
|
+
metadata: {}
|
173
|
+
post_install_message:
|
174
|
+
rdoc_options: []
|
175
|
+
require_paths:
|
176
|
+
- lib
|
177
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
178
|
+
requirements:
|
179
|
+
- - ">="
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
version: '0'
|
182
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
183
|
+
requirements:
|
184
|
+
- - ">="
|
185
|
+
- !ruby/object:Gem::Version
|
186
|
+
version: '0'
|
187
|
+
requirements: []
|
188
|
+
rubyforge_project:
|
189
|
+
rubygems_version: 2.4.5
|
190
|
+
signing_key:
|
191
|
+
specification_version: 4
|
192
|
+
summary: Ruby PaloAlto Client (API V6.X)
|
193
|
+
test_files:
|
194
|
+
- spec/fixtures/address_groups.xml
|
195
|
+
- spec/fixtures/addresses.xml
|
196
|
+
- spec/fixtures/blank_address_groups.xml
|
197
|
+
- spec/fixtures/blank_addresses.xml
|
198
|
+
- spec/fixtures/blank_devices.xml
|
199
|
+
- spec/fixtures/blank_virtual_systems.xml
|
200
|
+
- spec/fixtures/devices.xml
|
201
|
+
- spec/fixtures/failure.xml
|
202
|
+
- spec/fixtures/no_address_group_virtual_systems.xml
|
203
|
+
- spec/fixtures/no_address_virtual_systems.xml
|
204
|
+
- spec/fixtures/no_members_address_groups.xml
|
205
|
+
- spec/fixtures/no_rulebase_virtual_systems.xml
|
206
|
+
- spec/fixtures/no_vsys_devices.xml
|
207
|
+
- spec/fixtures/virtual_systems.xml
|
208
|
+
- spec/lib/palo-alto/client_spec.rb
|
209
|
+
- spec/lib/palo-alto/common/base_api_spec.rb
|
210
|
+
- spec/lib/palo-alto/helpers/rest_spec.rb
|
211
|
+
- spec/lib/palo-alto/models/address_group_spec.rb
|
212
|
+
- spec/lib/palo-alto/models/address_spec.rb
|
213
|
+
- spec/lib/palo-alto/models/device_spec.rb
|
214
|
+
- spec/lib/palo-alto/models/rulebase_spec.rb
|
215
|
+
- spec/lib/palo-alto/models/virtual_system_spec.rb
|
216
|
+
- spec/lib/palo-alto/v6/address_api_spec.rb
|
217
|
+
- spec/lib/palo-alto/v6/address_group_api_spec.rb
|
218
|
+
- spec/lib/palo-alto/v6/api_spec.rb
|
219
|
+
- spec/lib/palo-alto/v6/device_api_spec.rb
|
220
|
+
- spec/lib/palo-alto/v6/virtual_system_api_spec.rb
|
221
|
+
- spec/spec_helper.rb
|