You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltacloud.apache.org by di...@fast.au.fujitsu.com on 2013/03/11 04:28:23 UTC
[PATCH] FGCP: add unit tests for firewalls
From: Dies Koper <di...@fast.au.fujitsu.com>
---
server/tests/drivers/fgcp/firewall_test.rb | 70 +++++++++
.../test_0002_must_return_list_of_firewalls.yml | 39 +++++
.../test_0003_must_allow_to_filter_firewalls.yml | 169 +++++++++++++++++++++
...0004_must_allow_to_retrieve_single_firewall.yml | 169 +++++++++++++++++++++
.../test_0005_must_describe_single_firewall.yml | 125 +++++++++++++++
.../test_0006_must_list_firewall_rules.yml | 125 +++++++++++++++
6 files changed, 697 insertions(+)
create mode 100644 server/tests/drivers/fgcp/firewall_test.rb
create mode 100644 server/tests/drivers/fgcp/fixtures/test_0002_must_return_list_of_firewalls.yml
create mode 100644 server/tests/drivers/fgcp/fixtures/test_0003_must_allow_to_filter_firewalls.yml
create mode 100644 server/tests/drivers/fgcp/fixtures/test_0004_must_allow_to_retrieve_single_firewall.yml
create mode 100644 server/tests/drivers/fgcp/fixtures/test_0005_must_describe_single_firewall.yml
create mode 100644 server/tests/drivers/fgcp/fixtures/test_0006_must_list_firewall_rules.yml
diff --git a/server/tests/drivers/fgcp/firewall_test.rb b/server/tests/drivers/fgcp/firewall_test.rb
new file mode 100644
index 0000000..20a6a14
--- /dev/null
+++ b/server/tests/drivers/fgcp/firewall_test.rb
@@ -0,0 +1,70 @@
+#$:.unshift File.join(File.dirname(__FILE__), '..', '..', '..')
+require 'require_relative' if RUBY_VERSION < '1.9'
+
+require_relative 'common.rb'
+
+describe 'FgcpDriver Firewalls' do
+
+ before do
+ @driver = Deltacloud::new(:fgcp, credentials)
+ VCR.insert_cassette __name__
+ end
+
+ after do
+ VCR.eject_cassette
+ end
+
+ it 'must throw error when wrong credentials' do
+ Proc.new do
+ @driver.backend.firewalls(OpenStruct.new(:user => 'unknown', :password => 'wrong'))
+ end.must_raise Deltacloud::Exceptions::AuthenticationFailure, 'Authentication Failure'
+ end
+
+ it 'must return list of firewalls' do
+ fws = @driver.firewalls
+ fws.wont_be_empty
+ fws.each { |fw| fw.must_be_kind_of Firewall }
+ fws.each { |fw| fw.id.wont_be_nil }
+ end
+
+ it 'must allow to filter firewalls' do
+ fw = @driver.firewalls(:id => 'UZXC0GRT-ZG8ZJCJ07-S-0001')
+ fw.wont_be_empty
+ fw.must_be_kind_of Array
+ fw.size.must_equal 1
+ fw.first.id.must_equal 'UZXC0GRT-ZG8ZJCJ07-S-0001'
+ @driver.firewalls(:id => 'UZXC0GRT-ZG8ZJCJ07-S-0000').must_be_empty
+ end
+
+ it 'must allow to retrieve single firewall' do
+ fw = @driver.firewall(:id => 'UZXC0GRT-ZG8ZJCJ07-S-0001')
+ fw.wont_be_nil
+ fw.must_be_kind_of Firewall
+ fw.id.must_equal 'UZXC0GRT-ZG8ZJCJ07-S-0001'
+ @driver.firewall(:id => 'UZXC0GRT-ZG8ZJCJ07-S-0000').must_be_nil
+ end
+
+ it 'must describe single firewall' do
+ fw = @driver.firewall(:id => 'UZXC0GRT-ZG8ZJCJ07-S-0001')
+ fw.wont_be_nil
+ fw.id.must_equal 'UZXC0GRT-ZG8ZJCJ07-S-0001'
+ fw.name.must_equal 'Firewall'
+ fw.owner_id.wont_be_nil
+ fw.description.wont_be_nil
+ end
+
+ it 'must list firewall rules' do
+ fw = @driver.firewall(:id => 'UZXC0GRT-ZG8ZJCJ07-S-0001')
+ fw.wont_be_nil
+ fw.rules.wont_be_empty
+ fw.rules.first.must_be_kind_of FirewallRule
+ fw.rules.first.allow_protocol.wont_be_nil
+ fw.rules.first.port_from.wont_be_nil
+ fw.rules.first.port_to.wont_be_nil
+ fw.rules.first.direction.wont_be_nil
+ fw.rules.first.rule_action.wont_be_nil
+ fw.rules.first.log_rule.wont_be_nil
+ fw.rules.first.sources.wont_be_empty
+ end
+
+end
diff --git a/server/tests/drivers/fgcp/fixtures/test_0002_must_return_list_of_firewalls.yml b/server/tests/drivers/fgcp/fixtures/test_0002_must_return_list_of_firewalls.yml
new file mode 100644
index 0000000..d9be8a7
--- /dev/null
+++ b/server/tests/drivers/fgcp/fixtures/test_0002_must_return_list_of_firewalls.yml
@@ -0,0 +1,39 @@
+---
+http_interactions:
+- request:
+ method: get
+ uri: https://api.globalcloud.fujitsu.com.au/ovissapi/endpoint?AccessKeyId=QVVTIEVhc3Rlcm4gRGF5bGlnaHQgVGltZSYxMzYyOTcyMjM2MDAwJjEuMCZT%0ASEExd2l0aFJTQQ==%0A&Action=ListVSYS&Locale=en&Signature=RMD9Fz3nak2FcHF991/IpoAfbJ+F9sMDQne/E0u23FRw9SZV3i73lDCfCDDR%0A+D2waxySqq4wc/cZ9E1QE255/kY4uQgCxM2IOmU1+YAsEkI2pffLsC9bTnFW%0Ac43bv22HPMwOw6EFjqcmPlXQSRuAfh8auqomo157/sGt2GRZPcnHV0rdpP7L%0A1rSmuMwJ90GoTgHa0bLHXtW221Jao8453gpspJsYdmX31XdVApRtO6sE3pUk%0AkvabNpaXy2Esa73j0jF8hZVAiSW3nu5RoV3CA3rnqbJv+EWs47fC53fB+IB5%0AhZwAFpk4darpvAaDvkhkAMtnVw3y16PggACJSvZSsA==%0A&Version=2011-01-31
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - text/xml
+ User-Agent:
+ - OViSS-API-CLIENT
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Mon, 11 Mar 2013 03:23:56 GMT
+ Set-Cookie:
+ - JSESSIONID=87B27AAFC84A487D5F3CA6AF090BF143; Path=/ovisspxy; Secure
+ Content-Type:
+ - text/xml;charset=UTF-8
+ Connection:
+ - close
+ Transfer-Encoding:
+ - chunked
+ body:
+ encoding: US-ASCII
+ string: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ListVSYSResponse xmlns=\"http://apioviss.jp.fujitsu.com\">\r\n
+ \ <responseMessage>Processing was completed.</responseMessage>\r\n <responseStatus>SUCCESS</responseStatus>\r\n
+ \ <vsyss>\r\n <vsys>\r\n <baseDescriptor>2-tier Skeleton</baseDescriptor>\r\n
+ \ <creator>UZXC0GRT</creator>\r\n <description>2-tier Skeleton</description>\r\n
+ \ <vsysId>UZXC0GRT-ZG8ZJCJ07</vsysId>\r\n <vsysName>Dies-DC-test</vsysName>\r\n
+ \ </vsys>\r\n </vsyss>\r\n</ListVSYSResponse>\r\n\r\n"
+ http_version:
+ recorded_at: Mon, 11 Mar 2013 03:23:56 GMT
+recorded_with: VCR 2.4.0
diff --git a/server/tests/drivers/fgcp/fixtures/test_0003_must_allow_to_filter_firewalls.yml b/server/tests/drivers/fgcp/fixtures/test_0003_must_allow_to_filter_firewalls.yml
new file mode 100644
index 0000000..7105389
--- /dev/null
+++ b/server/tests/drivers/fgcp/fixtures/test_0003_must_allow_to_filter_firewalls.yml
@@ -0,0 +1,169 @@
+---
+http_interactions:
+- request:
+ method: post
+ uri: https://api.globalcloud.fujitsu.com.au/ovissapi/endpoint
+ body:
+ encoding: US-ASCII
+ string: ! "--BOUNDARY1362972234\r\nContent-Type: text/xml; charset=UTF-8\r\nContent-Disposition:
+ form-data; name=\"Document\"\r\n\r\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<OViSSRequest>\n
+ \ <vsysId>UZXC0GRT-ZG8ZJCJ07</vsysId>\n <efmId>UZXC0GRT-ZG8ZJCJ07-S-0001</efmId>\n
+ \ <configurationName>FW_POLICY</configurationName>\n <Version>2011-01-31</Version>\n
+ \ <Locale>en</Locale>\n <Action>GetEFMConfiguration</Action>\n <AccessKeyId>QVVTIEVhc3Rlcm4gRGF5bGlnaHQgVGltZSYxMzYyOTcyMjM0MDAwJjEuMCZT\nSEExd2l0aFJTQQ==\n</AccessKeyId>\n
+ \ <Signature>bGTWfJJz+bvX4yEVptlkDnt1/yHYjI+qQnjk7ZZJzZpfKiTDh2+40oe7nJY2\n3kNm6OAm56+AGc6SXO0CQV61JRlRGhrzvZzfTHsdE8x/40jxoTmzRQvLetxk\nmvs4aX77GV1gWJW2VifXZfGkyjmdbgRntfIBk4RWELt6cK97toMfc+q6O5Wb\n7wEz76JNvjO8JJ+zqUobI2VJHZnjXi/haVksvaVgjJ1/NTF8XW73nNQwHH6p\n3H2JEbw1+XI3Nsd6GdoG593MLXS5+UzxaX6V5jczLOjV2CLEoTg72unAwFPH\nEdOx7ldQ7qvo+r3CxS/U7qC5Uj3no3Wjd6zRheN3eA==\n</Signature>\n</OViSSRequest>\r\n--BOUNDARY1362972234\r\nContent-Type:
+ application/octet-stream\r\nContent-Disposition: form-data; name=\"configurationXMLFilePath\";
+ filename=\"configurationXMLFilePath.xml\"\r\n\r\n<?xml version=\"1.0\" encoding
+ =\"UTF-8\"?>\n<Request>\n <configuration>\n <firewall_policy>\n </firewall_policy>\n
+ \ </configuration>\n</Request>\n\r\n--BOUNDARY1362972234--"
+ headers:
+ Accept:
+ - text/xml
+ User-Agent:
+ - OViSS-API-CLIENT
+ Content-Type:
+ - multipart/form-data; boundary=BOUNDARY1362972234
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Mon, 11 Mar 2013 03:23:54 GMT
+ Set-Cookie:
+ - JSESSIONID=002BCC90C583CEECE599EC1A7DA9C4FE; Path=/ovisspxy; Secure
+ Content-Type:
+ - text/xml;charset=UTF-8
+ Connection:
+ - close
+ Transfer-Encoding:
+ - chunked
+ body:
+ encoding: US-ASCII
+ string: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<GetEFMConfigurationResponse
+ xmlns=\"http://apioviss.jp.fujitsu.com\">\r\n <efm>\r\n <creator>UZXC0GRT</creator>\r\n
+ \ <efmId>UZXC0GRT-ZG8ZJCJ07-S-0001</efmId>\r\n <efmName>Firewall</efmName>\r\n
+ \ <efmType>FW</efmType>\r\n <firewall>\r\n <directions>\r\n <direction>\r\n
+ \ <from>UZXC0GRT-ZG8ZJCJ07-N-DMZ</from>\r\n <policies>\r\n
+ \ <policy>\r\n <action>Deny</action>\r\n <dst
+ />\r\n <dstPort />\r\n <dstService />\r\n <dstType
+ />\r\n <id>50000</id>\r\n <log>On</log>\r\n <protocol
+ />\r\n <src />\r\n <srcPort />\r\n <srcType
+ />\r\n </policy>\r\n </policies>\r\n </direction>\r\n
+ \ <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-DMZ</from>\r\n
+ \ <policies>\r\n <policy>\r\n <action>Accept</action>\r\n
+ \ <dst>any</dst>\r\n <dstPort>80</dstPort>\r\n <dstService>NONE</dstService>\r\n
+ \ <dstType>IP</dstType>\r\n <id>45001</id>\r\n <log>On</log>\r\n
+ \ <protocol>tcp</protocol>\r\n <src>any</src>\r\n
+ \ <srcPort>any</srcPort>\r\n <srcType>IP</srcType>\r\n
+ \ </policy>\r\n <policy>\r\n <action>Accept</action>\r\n
+ \ <dst>any</dst>\r\n <dstPort>53</dstPort>\r\n <dstService>NONE</dstService>\r\n
+ \ <dstType>IP</dstType>\r\n <id>45002</id>\r\n <log>On</log>\r\n
+ \ <protocol>tcp-udp</protocol>\r\n <src>any</src>\r\n
+ \ <srcPort>any</srcPort>\r\n <srcType>IP</srcType>\r\n
+ \ </policy>\r\n </policies>\r\n <to>UZXC0GRT-ZG8ZJCJ07-N-INTERNET</to>\r\n
+ \ </direction>\r\n <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-INTERNET</from>\r\n
+ \ <policies>\r\n <policy>\r\n <action>Deny</action>\r\n
+ \ <dst />\r\n <dstPort />\r\n <dstService
+ />\r\n <dstType />\r\n <id>50000</id>\r\n <log>On</log>\r\n
+ \ <protocol />\r\n <src />\r\n <srcPort
+ />\r\n <srcType />\r\n </policy>\r\n </policies>\r\n
+ \ </direction>\r\n <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-INTRANET</from>\r\n
+ \ <policies>\r\n <policy>\r\n <action>Deny</action>\r\n
+ \ <dst />\r\n <dstPort />\r\n <dstService
+ />\r\n <dstType />\r\n <id>50000</id>\r\n <log>On</log>\r\n
+ \ <protocol />\r\n <src />\r\n <srcPort
+ />\r\n <srcType />\r\n </policy>\r\n </policies>\r\n
+ \ </direction>\r\n <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-SECURE1</from>\r\n
+ \ <policies>\r\n <policy>\r\n <action>Deny</action>\r\n
+ \ <dst />\r\n <dstPort />\r\n <dstService
+ />\r\n <dstType />\r\n <id>50000</id>\r\n <log>On</log>\r\n
+ \ <protocol />\r\n <src />\r\n <srcPort
+ />\r\n <srcType />\r\n </policy>\r\n </policies>\r\n
+ \ </direction>\r\n </directions>\r\n <status>RUNNING</status>\r\n
+ \ </firewall>\r\n </efm>\r\n <responseMessage>Processing was completed.</responseMessage>\r\n
+ \ <responseStatus>SUCCESS</responseStatus>\r\n</GetEFMConfigurationResponse>\r\n\r\n"
+ http_version:
+ recorded_at: Mon, 11 Mar 2013 03:23:55 GMT
+- request:
+ method: get
+ uri: https://api.globalcloud.fujitsu.com.au/ovissapi/endpoint?AccessKeyId=QVVTIEVhc3Rlcm4gRGF5bGlnaHQgVGltZSYxMzYyOTcyMjM1MDAwJjEuMCZT%0ASEExd2l0aFJTQQ==%0A&Action=GetVSYSAttributes&Locale=en&Signature=kICIL/L+kVdyxszZmkJRcQIJ45gwfO8VBDUTjcT6zS9Q8Jx4zwhyunRzQUHq%0AG4uK+17rT/B+4Eo/q7ycrWiYcIFcOEmhAREbd0iRhEAfBm7Q96bNPClckL7l%0APnpFUcAaFMp+j0F62A7ezDwwoSMV18xX2cMmTAtIntJcbwvspJOp2NXdze7e%0AgMK2v7Jbwf/Z05l6hkq2yOMY7TS+CSPB/dl8bbTwRv8vlHIiczjYxlvZ6tm2%0AQweVWsS6YE5bR2tO0vpGQrLIr3Wg6EsnezxVHLkmDwnxfUlGMSeBWV2+/R+c%0AaJVG1WuLVc/sd9qd4amMXs5QKiqsGoINfi4pn+ydyg==%0A&Version=2011-01-31&vsysId=UZXC0GRT-ZG8ZJCJ07
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - text/xml
+ User-Agent:
+ - OViSS-API-CLIENT
+ Content-Type:
+ - multipart/form-data; boundary=BOUNDARY1362972234
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Mon, 11 Mar 2013 03:23:55 GMT
+ Set-Cookie:
+ - JSESSIONID=3DCFFF9FEC9B4EDFCAFC2566FF42E171; Path=/ovisspxy; Secure
+ Content-Type:
+ - text/xml;charset=UTF-8
+ Connection:
+ - close
+ Transfer-Encoding:
+ - chunked
+ body:
+ encoding: US-ASCII
+ string: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<GetVSYSAttributesResponse
+ xmlns=\"http://apioviss.jp.fujitsu.com\">\r\n <responseMessage>Processing
+ was completed.</responseMessage>\r\n <responseStatus>SUCCESS</responseStatus>\r\n
+ \ <vsys>\r\n <baseDescriptor>2-tier Skeleton</baseDescriptor>\r\n <creator>UZXC0GRT</creator>\r\n
+ \ <description>2-tier Skeleton</description>\r\n <vsysId>UZXC0GRT-ZG8ZJCJ07</vsysId>\r\n
+ \ <vsysName>Dies-DC-test</vsysName>\r\n </vsys>\r\n</GetVSYSAttributesResponse>\r\n\r\n"
+ http_version:
+ recorded_at: Mon, 11 Mar 2013 03:23:55 GMT
+- request:
+ method: post
+ uri: https://api.globalcloud.fujitsu.com.au/ovissapi/endpoint
+ body:
+ encoding: US-ASCII
+ string: ! "--BOUNDARY1362972235\r\nContent-Type: text/xml; charset=UTF-8\r\nContent-Disposition:
+ form-data; name=\"Document\"\r\n\r\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<OViSSRequest>\n
+ \ <vsysId>UZXC0GRT-ZG8ZJCJ07</vsysId>\n <efmId>UZXC0GRT-ZG8ZJCJ07-S-0000</efmId>\n
+ \ <configurationName>FW_POLICY</configurationName>\n <Version>2011-01-31</Version>\n
+ \ <Locale>en</Locale>\n <Action>GetEFMConfiguration</Action>\n <AccessKeyId>QVVTIEVhc3Rlcm4gRGF5bGlnaHQgVGltZSYxMzYyOTcyMjM1MDAwJjEuMCZT\nSEExd2l0aFJTQQ==\n</AccessKeyId>\n
+ \ <Signature>kICIL/L+kVdyxszZmkJRcQIJ45gwfO8VBDUTjcT6zS9Q8Jx4zwhyunRzQUHq\nG4uK+17rT/B+4Eo/q7ycrWiYcIFcOEmhAREbd0iRhEAfBm7Q96bNPClckL7l\nPnpFUcAaFMp+j0F62A7ezDwwoSMV18xX2cMmTAtIntJcbwvspJOp2NXdze7e\ngMK2v7Jbwf/Z05l6hkq2yOMY7TS+CSPB/dl8bbTwRv8vlHIiczjYxlvZ6tm2\nQweVWsS6YE5bR2tO0vpGQrLIr3Wg6EsnezxVHLkmDwnxfUlGMSeBWV2+/R+c\naJVG1WuLVc/sd9qd4amMXs5QKiqsGoINfi4pn+ydyg==\n</Signature>\n</OViSSRequest>\r\n--BOUNDARY1362972235\r\nContent-Type:
+ application/octet-stream\r\nContent-Disposition: form-data; name=\"configurationXMLFilePath\";
+ filename=\"configurationXMLFilePath.xml\"\r\n\r\n<?xml version=\"1.0\" encoding
+ =\"UTF-8\"?>\n<Request>\n <configuration>\n <firewall_policy>\n </firewall_policy>\n
+ \ </configuration>\n</Request>\n\r\n--BOUNDARY1362972235--"
+ headers:
+ Accept:
+ - text/xml
+ User-Agent:
+ - OViSS-API-CLIENT
+ Content-Type:
+ - multipart/form-data; boundary=BOUNDARY1362972235
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Mon, 11 Mar 2013 03:23:55 GMT
+ Set-Cookie:
+ - JSESSIONID=BD00ACE8D2F7EC042CB4B1566CE89CBA; Path=/ovisspxy; Secure
+ Content-Type:
+ - text/xml;charset=UTF-8
+ Connection:
+ - close
+ Transfer-Encoding:
+ - chunked
+ body:
+ encoding: US-ASCII
+ string: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<GetEFMConfigurationResponse
+ xmlns=\"http://apioviss.jp.fujitsu.com\">\r\n <responseMessage>Resource[SERVER-ID:UZXC0GRT-ZG8ZJCJ07-S-0000]
+ doesnt exist.</responseMessage>\r\n <responseStatus>RESOURCE_NOT_FOUND</responseStatus>\r\n</GetEFMConfigurationResponse>\r\n\r\n"
+ http_version:
+ recorded_at: Mon, 11 Mar 2013 03:23:56 GMT
+recorded_with: VCR 2.4.0
diff --git a/server/tests/drivers/fgcp/fixtures/test_0004_must_allow_to_retrieve_single_firewall.yml b/server/tests/drivers/fgcp/fixtures/test_0004_must_allow_to_retrieve_single_firewall.yml
new file mode 100644
index 0000000..2dabb56
--- /dev/null
+++ b/server/tests/drivers/fgcp/fixtures/test_0004_must_allow_to_retrieve_single_firewall.yml
@@ -0,0 +1,169 @@
+---
+http_interactions:
+- request:
+ method: post
+ uri: https://api.globalcloud.fujitsu.com.au/ovissapi/endpoint
+ body:
+ encoding: US-ASCII
+ string: ! "--BOUNDARY1362972236\r\nContent-Type: text/xml; charset=UTF-8\r\nContent-Disposition:
+ form-data; name=\"Document\"\r\n\r\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<OViSSRequest>\n
+ \ <vsysId>UZXC0GRT-ZG8ZJCJ07</vsysId>\n <efmId>UZXC0GRT-ZG8ZJCJ07-S-0001</efmId>\n
+ \ <configurationName>FW_POLICY</configurationName>\n <Version>2011-01-31</Version>\n
+ \ <Locale>en</Locale>\n <Action>GetEFMConfiguration</Action>\n <AccessKeyId>QVVTIEVhc3Rlcm4gRGF5bGlnaHQgVGltZSYxMzYyOTcyMjM2MDAwJjEuMCZT\nSEExd2l0aFJTQQ==\n</AccessKeyId>\n
+ \ <Signature>RMD9Fz3nak2FcHF991/IpoAfbJ+F9sMDQne/E0u23FRw9SZV3i73lDCfCDDR\n+D2waxySqq4wc/cZ9E1QE255/kY4uQgCxM2IOmU1+YAsEkI2pffLsC9bTnFW\nc43bv22HPMwOw6EFjqcmPlXQSRuAfh8auqomo157/sGt2GRZPcnHV0rdpP7L\n1rSmuMwJ90GoTgHa0bLHXtW221Jao8453gpspJsYdmX31XdVApRtO6sE3pUk\nkvabNpaXy2Esa73j0jF8hZVAiSW3nu5RoV3CA3rnqbJv+EWs47fC53fB+IB5\nhZwAFpk4darpvAaDvkhkAMtnVw3y16PggACJSvZSsA==\n</Signature>\n</OViSSRequest>\r\n--BOUNDARY1362972236\r\nContent-Type:
+ application/octet-stream\r\nContent-Disposition: form-data; name=\"configurationXMLFilePath\";
+ filename=\"configurationXMLFilePath.xml\"\r\n\r\n<?xml version=\"1.0\" encoding
+ =\"UTF-8\"?>\n<Request>\n <configuration>\n <firewall_policy>\n </firewall_policy>\n
+ \ </configuration>\n</Request>\n\r\n--BOUNDARY1362972236--"
+ headers:
+ Accept:
+ - text/xml
+ User-Agent:
+ - OViSS-API-CLIENT
+ Content-Type:
+ - multipart/form-data; boundary=BOUNDARY1362972236
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Mon, 11 Mar 2013 03:23:56 GMT
+ Set-Cookie:
+ - JSESSIONID=159D0579F56B6941B678422DBBA8494A; Path=/ovisspxy; Secure
+ Content-Type:
+ - text/xml;charset=UTF-8
+ Connection:
+ - close
+ Transfer-Encoding:
+ - chunked
+ body:
+ encoding: US-ASCII
+ string: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<GetEFMConfigurationResponse
+ xmlns=\"http://apioviss.jp.fujitsu.com\">\r\n <efm>\r\n <creator>UZXC0GRT</creator>\r\n
+ \ <efmId>UZXC0GRT-ZG8ZJCJ07-S-0001</efmId>\r\n <efmName>Firewall</efmName>\r\n
+ \ <efmType>FW</efmType>\r\n <firewall>\r\n <directions>\r\n <direction>\r\n
+ \ <from>UZXC0GRT-ZG8ZJCJ07-N-DMZ</from>\r\n <policies>\r\n
+ \ <policy>\r\n <action>Deny</action>\r\n <dst
+ />\r\n <dstPort />\r\n <dstService />\r\n <dstType
+ />\r\n <id>50000</id>\r\n <log>On</log>\r\n <protocol
+ />\r\n <src />\r\n <srcPort />\r\n <srcType
+ />\r\n </policy>\r\n </policies>\r\n </direction>\r\n
+ \ <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-DMZ</from>\r\n
+ \ <policies>\r\n <policy>\r\n <action>Accept</action>\r\n
+ \ <dst>any</dst>\r\n <dstPort>80</dstPort>\r\n <dstService>NONE</dstService>\r\n
+ \ <dstType>IP</dstType>\r\n <id>45001</id>\r\n <log>On</log>\r\n
+ \ <protocol>tcp</protocol>\r\n <src>any</src>\r\n
+ \ <srcPort>any</srcPort>\r\n <srcType>IP</srcType>\r\n
+ \ </policy>\r\n <policy>\r\n <action>Accept</action>\r\n
+ \ <dst>any</dst>\r\n <dstPort>53</dstPort>\r\n <dstService>NONE</dstService>\r\n
+ \ <dstType>IP</dstType>\r\n <id>45002</id>\r\n <log>On</log>\r\n
+ \ <protocol>tcp-udp</protocol>\r\n <src>any</src>\r\n
+ \ <srcPort>any</srcPort>\r\n <srcType>IP</srcType>\r\n
+ \ </policy>\r\n </policies>\r\n <to>UZXC0GRT-ZG8ZJCJ07-N-INTERNET</to>\r\n
+ \ </direction>\r\n <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-INTERNET</from>\r\n
+ \ <policies>\r\n <policy>\r\n <action>Deny</action>\r\n
+ \ <dst />\r\n <dstPort />\r\n <dstService
+ />\r\n <dstType />\r\n <id>50000</id>\r\n <log>On</log>\r\n
+ \ <protocol />\r\n <src />\r\n <srcPort
+ />\r\n <srcType />\r\n </policy>\r\n </policies>\r\n
+ \ </direction>\r\n <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-INTRANET</from>\r\n
+ \ <policies>\r\n <policy>\r\n <action>Deny</action>\r\n
+ \ <dst />\r\n <dstPort />\r\n <dstService
+ />\r\n <dstType />\r\n <id>50000</id>\r\n <log>On</log>\r\n
+ \ <protocol />\r\n <src />\r\n <srcPort
+ />\r\n <srcType />\r\n </policy>\r\n </policies>\r\n
+ \ </direction>\r\n <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-SECURE1</from>\r\n
+ \ <policies>\r\n <policy>\r\n <action>Deny</action>\r\n
+ \ <dst />\r\n <dstPort />\r\n <dstService
+ />\r\n <dstType />\r\n <id>50000</id>\r\n <log>On</log>\r\n
+ \ <protocol />\r\n <src />\r\n <srcPort
+ />\r\n <srcType />\r\n </policy>\r\n </policies>\r\n
+ \ </direction>\r\n </directions>\r\n <status>RUNNING</status>\r\n
+ \ </firewall>\r\n </efm>\r\n <responseMessage>Processing was completed.</responseMessage>\r\n
+ \ <responseStatus>SUCCESS</responseStatus>\r\n</GetEFMConfigurationResponse>\r\n\r\n"
+ http_version:
+ recorded_at: Mon, 11 Mar 2013 03:23:57 GMT
+- request:
+ method: get
+ uri: https://api.globalcloud.fujitsu.com.au/ovissapi/endpoint?AccessKeyId=QVVTIEVhc3Rlcm4gRGF5bGlnaHQgVGltZSYxMzYyOTcyMjM3MDAwJjEuMCZT%0ASEExd2l0aFJTQQ==%0A&Action=GetVSYSAttributes&Locale=en&Signature=E4t+bCBTmozVIKNGgCqy3KgoSTKTo2P/uojvGNCuzbcz2TVpICgvUTIh5CGS%0AtLIik/e9Ij8zhAiSZQbbukNBKwqx73bJd8Ej1mjVs4u2R5lB2otMZDHmdZKt%0AvMJVsifn66q/Dr6KwVF9N1Z6pqfvIiCDB6eadT0Q2sFhFpPGuP/88lPeQIml%0A/HmpoZVoTINJBpHUlGT/VbFSHHZXjRX8gZ0GzJWoM6AJmfbsMHNcX1EkXo6E%0Auo8YNMEhe3zNge2Yr469pkYstLsZ6orli6tLa5lGmLyz5EXr8fJGwnKi1YvR%0A7suA8bKSUglVd1Wqr7VKWeM8NJyoSaqFfepL1h9eLg==%0A&Version=2011-01-31&vsysId=UZXC0GRT-ZG8ZJCJ07
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - text/xml
+ User-Agent:
+ - OViSS-API-CLIENT
+ Content-Type:
+ - multipart/form-data; boundary=BOUNDARY1362972236
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Mon, 11 Mar 2013 03:23:57 GMT
+ Set-Cookie:
+ - JSESSIONID=46EE9B4EA9611334ACCE52F30E7DBC1C; Path=/ovisspxy; Secure
+ Content-Type:
+ - text/xml;charset=UTF-8
+ Connection:
+ - close
+ Transfer-Encoding:
+ - chunked
+ body:
+ encoding: US-ASCII
+ string: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<GetVSYSAttributesResponse
+ xmlns=\"http://apioviss.jp.fujitsu.com\">\r\n <responseMessage>Processing
+ was completed.</responseMessage>\r\n <responseStatus>SUCCESS</responseStatus>\r\n
+ \ <vsys>\r\n <baseDescriptor>2-tier Skeleton</baseDescriptor>\r\n <creator>UZXC0GRT</creator>\r\n
+ \ <description>2-tier Skeleton</description>\r\n <vsysId>UZXC0GRT-ZG8ZJCJ07</vsysId>\r\n
+ \ <vsysName>Dies-DC-test</vsysName>\r\n </vsys>\r\n</GetVSYSAttributesResponse>\r\n\r\n"
+ http_version:
+ recorded_at: Mon, 11 Mar 2013 03:23:57 GMT
+- request:
+ method: post
+ uri: https://api.globalcloud.fujitsu.com.au/ovissapi/endpoint
+ body:
+ encoding: US-ASCII
+ string: ! "--BOUNDARY1362972237\r\nContent-Type: text/xml; charset=UTF-8\r\nContent-Disposition:
+ form-data; name=\"Document\"\r\n\r\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<OViSSRequest>\n
+ \ <vsysId>UZXC0GRT-ZG8ZJCJ07</vsysId>\n <efmId>UZXC0GRT-ZG8ZJCJ07-S-0000</efmId>\n
+ \ <configurationName>FW_POLICY</configurationName>\n <Version>2011-01-31</Version>\n
+ \ <Locale>en</Locale>\n <Action>GetEFMConfiguration</Action>\n <AccessKeyId>QVVTIEVhc3Rlcm4gRGF5bGlnaHQgVGltZSYxMzYyOTcyMjM3MDAwJjEuMCZT\nSEExd2l0aFJTQQ==\n</AccessKeyId>\n
+ \ <Signature>E4t+bCBTmozVIKNGgCqy3KgoSTKTo2P/uojvGNCuzbcz2TVpICgvUTIh5CGS\ntLIik/e9Ij8zhAiSZQbbukNBKwqx73bJd8Ej1mjVs4u2R5lB2otMZDHmdZKt\nvMJVsifn66q/Dr6KwVF9N1Z6pqfvIiCDB6eadT0Q2sFhFpPGuP/88lPeQIml\n/HmpoZVoTINJBpHUlGT/VbFSHHZXjRX8gZ0GzJWoM6AJmfbsMHNcX1EkXo6E\nuo8YNMEhe3zNge2Yr469pkYstLsZ6orli6tLa5lGmLyz5EXr8fJGwnKi1YvR\n7suA8bKSUglVd1Wqr7VKWeM8NJyoSaqFfepL1h9eLg==\n</Signature>\n</OViSSRequest>\r\n--BOUNDARY1362972237\r\nContent-Type:
+ application/octet-stream\r\nContent-Disposition: form-data; name=\"configurationXMLFilePath\";
+ filename=\"configurationXMLFilePath.xml\"\r\n\r\n<?xml version=\"1.0\" encoding
+ =\"UTF-8\"?>\n<Request>\n <configuration>\n <firewall_policy>\n </firewall_policy>\n
+ \ </configuration>\n</Request>\n\r\n--BOUNDARY1362972237--"
+ headers:
+ Accept:
+ - text/xml
+ User-Agent:
+ - OViSS-API-CLIENT
+ Content-Type:
+ - multipart/form-data; boundary=BOUNDARY1362972237
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Mon, 11 Mar 2013 03:23:57 GMT
+ Set-Cookie:
+ - JSESSIONID=0DE040FC57E9D24B2FD1696A8679C459; Path=/ovisspxy; Secure
+ Content-Type:
+ - text/xml;charset=UTF-8
+ Connection:
+ - close
+ Transfer-Encoding:
+ - chunked
+ body:
+ encoding: US-ASCII
+ string: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<GetEFMConfigurationResponse
+ xmlns=\"http://apioviss.jp.fujitsu.com\">\r\n <responseMessage>Resource[SERVER-ID:UZXC0GRT-ZG8ZJCJ07-S-0000]
+ doesnt exist.</responseMessage>\r\n <responseStatus>RESOURCE_NOT_FOUND</responseStatus>\r\n</GetEFMConfigurationResponse>\r\n\r\n"
+ http_version:
+ recorded_at: Mon, 11 Mar 2013 03:23:57 GMT
+recorded_with: VCR 2.4.0
diff --git a/server/tests/drivers/fgcp/fixtures/test_0005_must_describe_single_firewall.yml b/server/tests/drivers/fgcp/fixtures/test_0005_must_describe_single_firewall.yml
new file mode 100644
index 0000000..245cdc3
--- /dev/null
+++ b/server/tests/drivers/fgcp/fixtures/test_0005_must_describe_single_firewall.yml
@@ -0,0 +1,125 @@
+---
+http_interactions:
+- request:
+ method: post
+ uri: https://api.globalcloud.fujitsu.com.au/ovissapi/endpoint
+ body:
+ encoding: US-ASCII
+ string: ! "--BOUNDARY1362972238\r\nContent-Type: text/xml; charset=UTF-8\r\nContent-Disposition:
+ form-data; name=\"Document\"\r\n\r\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<OViSSRequest>\n
+ \ <vsysId>UZXC0GRT-ZG8ZJCJ07</vsysId>\n <efmId>UZXC0GRT-ZG8ZJCJ07-S-0001</efmId>\n
+ \ <configurationName>FW_POLICY</configurationName>\n <Version>2011-01-31</Version>\n
+ \ <Locale>en</Locale>\n <Action>GetEFMConfiguration</Action>\n <AccessKeyId>QVVTIEVhc3Rlcm4gRGF5bGlnaHQgVGltZSYxMzYyOTcyMjM4MDAwJjEuMCZT\nSEExd2l0aFJTQQ==\n</AccessKeyId>\n
+ \ <Signature>WujA3/naQV5uqV8c9MYQf5HsZVmp6QqbGrE9OGCpYlJ+84tyzr5d2SV68VC4\nSeibw2BCSJHN24YoDSX7ZHAcOg8CS+uL9wZRGwbgqd1vCab7d5eSx8kKNWQt\nDl7yyKvXvU4HgCiUk5yDwHhwgHdf0LppCdZAWwYivMZLQTzMwfV/Vn2Rjtoq\nPuZrWW8eV0FFrcivZH+pcA6+i7RSK2tO0yYu2abcpio4y+U9uihR2QxRR/CR\n1Fe9tFLmWb89VTbBSwlP6UWk4NrVaHsun0852waivhRyOYR3/VfhxG8D08W1\nJOAE898ECXZdyC3VvxkoUFfifillyb962pvYLWyB3A==\n</Signature>\n</OViSSRequest>\r\n--BOUNDARY1362972238\r\nContent-Type:
+ application/octet-stream\r\nContent-Disposition: form-data; name=\"configurationXMLFilePath\";
+ filename=\"configurationXMLFilePath.xml\"\r\n\r\n<?xml version=\"1.0\" encoding
+ =\"UTF-8\"?>\n<Request>\n <configuration>\n <firewall_policy>\n </firewall_policy>\n
+ \ </configuration>\n</Request>\n\r\n--BOUNDARY1362972238--"
+ headers:
+ Accept:
+ - text/xml
+ User-Agent:
+ - OViSS-API-CLIENT
+ Content-Type:
+ - multipart/form-data; boundary=BOUNDARY1362972238
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Mon, 11 Mar 2013 03:23:59 GMT
+ Set-Cookie:
+ - JSESSIONID=ABF6498F52389C01EAA72ED53E198087; Path=/ovisspxy; Secure
+ Content-Type:
+ - text/xml;charset=UTF-8
+ Connection:
+ - close
+ Transfer-Encoding:
+ - chunked
+ body:
+ encoding: US-ASCII
+ string: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<GetEFMConfigurationResponse
+ xmlns=\"http://apioviss.jp.fujitsu.com\">\r\n <efm>\r\n <creator>UZXC0GRT</creator>\r\n
+ \ <efmId>UZXC0GRT-ZG8ZJCJ07-S-0001</efmId>\r\n <efmName>Firewall</efmName>\r\n
+ \ <efmType>FW</efmType>\r\n <firewall>\r\n <directions>\r\n <direction>\r\n
+ \ <from>UZXC0GRT-ZG8ZJCJ07-N-DMZ</from>\r\n <policies>\r\n
+ \ <policy>\r\n <action>Deny</action>\r\n <dst
+ />\r\n <dstPort />\r\n <dstService />\r\n <dstType
+ />\r\n <id>50000</id>\r\n <log>On</log>\r\n <protocol
+ />\r\n <src />\r\n <srcPort />\r\n <srcType
+ />\r\n </policy>\r\n </policies>\r\n </direction>\r\n
+ \ <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-DMZ</from>\r\n
+ \ <policies>\r\n <policy>\r\n <action>Accept</action>\r\n
+ \ <dst>any</dst>\r\n <dstPort>80</dstPort>\r\n <dstService>NONE</dstService>\r\n
+ \ <dstType>IP</dstType>\r\n <id>45001</id>\r\n <log>On</log>\r\n
+ \ <protocol>tcp</protocol>\r\n <src>any</src>\r\n
+ \ <srcPort>any</srcPort>\r\n <srcType>IP</srcType>\r\n
+ \ </policy>\r\n <policy>\r\n <action>Accept</action>\r\n
+ \ <dst>any</dst>\r\n <dstPort>53</dstPort>\r\n <dstService>NONE</dstService>\r\n
+ \ <dstType>IP</dstType>\r\n <id>45002</id>\r\n <log>On</log>\r\n
+ \ <protocol>tcp-udp</protocol>\r\n <src>any</src>\r\n
+ \ <srcPort>any</srcPort>\r\n <srcType>IP</srcType>\r\n
+ \ </policy>\r\n </policies>\r\n <to>UZXC0GRT-ZG8ZJCJ07-N-INTERNET</to>\r\n
+ \ </direction>\r\n <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-INTERNET</from>\r\n
+ \ <policies>\r\n <policy>\r\n <action>Deny</action>\r\n
+ \ <dst />\r\n <dstPort />\r\n <dstService
+ />\r\n <dstType />\r\n <id>50000</id>\r\n <log>On</log>\r\n
+ \ <protocol />\r\n <src />\r\n <srcPort
+ />\r\n <srcType />\r\n </policy>\r\n </policies>\r\n
+ \ </direction>\r\n <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-INTRANET</from>\r\n
+ \ <policies>\r\n <policy>\r\n <action>Deny</action>\r\n
+ \ <dst />\r\n <dstPort />\r\n <dstService
+ />\r\n <dstType />\r\n <id>50000</id>\r\n <log>On</log>\r\n
+ \ <protocol />\r\n <src />\r\n <srcPort
+ />\r\n <srcType />\r\n </policy>\r\n </policies>\r\n
+ \ </direction>\r\n <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-SECURE1</from>\r\n
+ \ <policies>\r\n <policy>\r\n <action>Deny</action>\r\n
+ \ <dst />\r\n <dstPort />\r\n <dstService
+ />\r\n <dstType />\r\n <id>50000</id>\r\n <log>On</log>\r\n
+ \ <protocol />\r\n <src />\r\n <srcPort
+ />\r\n <srcType />\r\n </policy>\r\n </policies>\r\n
+ \ </direction>\r\n </directions>\r\n <status>RUNNING</status>\r\n
+ \ </firewall>\r\n </efm>\r\n <responseMessage>Processing was completed.</responseMessage>\r\n
+ \ <responseStatus>SUCCESS</responseStatus>\r\n</GetEFMConfigurationResponse>\r\n\r\n"
+ http_version:
+ recorded_at: Mon, 11 Mar 2013 03:23:59 GMT
+- request:
+ method: get
+ uri: https://api.globalcloud.fujitsu.com.au/ovissapi/endpoint?AccessKeyId=QVVTIEVhc3Rlcm4gRGF5bGlnaHQgVGltZSYxMzYyOTcyMjM5MDAwJjEuMCZT%0ASEExd2l0aFJTQQ==%0A&Action=GetVSYSAttributes&Locale=en&Signature=MGOEkhhQi7JQZPqnfkdXcm2yaUzyxxQhymo0cigRPFeqkvZg3fBMoVvvaIyZ%0A9EB8debjTdfZKeyuO1Gq+VYM0LTxQFJHUDH+JcQ9+JqHhjVVfOHGB7FHyCWT%0AMNfK5S04+epQob/YYSDF+SGFdQWfrEg7We4x6DpNRGAcFbqUH/+uAyyFTxKD%0AHeLNmPZe9fdIY17pwLoTaDoAMbrILbC7LTIJwQaSW2ZNCnIHFVmaYpa5KBg/%0APW9qCcjFNK9Hyq7MoE6REomSy84wSKfkEg1nhLWws9SZgV9FYOIf21hHhnPH%0A3Jhsqi6nwTV/z3eMiOB0wej61LaaL46OVPGJs4w55A==%0A&Version=2011-01-31&vsysId=UZXC0GRT-ZG8ZJCJ07
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - text/xml
+ User-Agent:
+ - OViSS-API-CLIENT
+ Content-Type:
+ - multipart/form-data; boundary=BOUNDARY1362972238
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Mon, 11 Mar 2013 03:23:59 GMT
+ Set-Cookie:
+ - JSESSIONID=7257E814042838755B6EC4E21A2CA77E; Path=/ovisspxy; Secure
+ Content-Type:
+ - text/xml;charset=UTF-8
+ Connection:
+ - close
+ Transfer-Encoding:
+ - chunked
+ body:
+ encoding: US-ASCII
+ string: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<GetVSYSAttributesResponse
+ xmlns=\"http://apioviss.jp.fujitsu.com\">\r\n <responseMessage>Processing
+ was completed.</responseMessage>\r\n <responseStatus>SUCCESS</responseStatus>\r\n
+ \ <vsys>\r\n <baseDescriptor>2-tier Skeleton</baseDescriptor>\r\n <creator>UZXC0GRT</creator>\r\n
+ \ <description>2-tier Skeleton</description>\r\n <vsysId>UZXC0GRT-ZG8ZJCJ07</vsysId>\r\n
+ \ <vsysName>Dies-DC-test</vsysName>\r\n </vsys>\r\n</GetVSYSAttributesResponse>\r\n\r\n"
+ http_version:
+ recorded_at: Mon, 11 Mar 2013 03:23:59 GMT
+recorded_with: VCR 2.4.0
diff --git a/server/tests/drivers/fgcp/fixtures/test_0006_must_list_firewall_rules.yml b/server/tests/drivers/fgcp/fixtures/test_0006_must_list_firewall_rules.yml
new file mode 100644
index 0000000..1c48d2f
--- /dev/null
+++ b/server/tests/drivers/fgcp/fixtures/test_0006_must_list_firewall_rules.yml
@@ -0,0 +1,125 @@
+---
+http_interactions:
+- request:
+ method: post
+ uri: https://api.globalcloud.fujitsu.com.au/ovissapi/endpoint
+ body:
+ encoding: US-ASCII
+ string: ! "--BOUNDARY1362972237\r\nContent-Type: text/xml; charset=UTF-8\r\nContent-Disposition:
+ form-data; name=\"Document\"\r\n\r\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<OViSSRequest>\n
+ \ <vsysId>UZXC0GRT-ZG8ZJCJ07</vsysId>\n <efmId>UZXC0GRT-ZG8ZJCJ07-S-0001</efmId>\n
+ \ <configurationName>FW_POLICY</configurationName>\n <Version>2011-01-31</Version>\n
+ \ <Locale>en</Locale>\n <Action>GetEFMConfiguration</Action>\n <AccessKeyId>QVVTIEVhc3Rlcm4gRGF5bGlnaHQgVGltZSYxMzYyOTcyMjM3MDAwJjEuMCZT\nSEExd2l0aFJTQQ==\n</AccessKeyId>\n
+ \ <Signature>E4t+bCBTmozVIKNGgCqy3KgoSTKTo2P/uojvGNCuzbcz2TVpICgvUTIh5CGS\ntLIik/e9Ij8zhAiSZQbbukNBKwqx73bJd8Ej1mjVs4u2R5lB2otMZDHmdZKt\nvMJVsifn66q/Dr6KwVF9N1Z6pqfvIiCDB6eadT0Q2sFhFpPGuP/88lPeQIml\n/HmpoZVoTINJBpHUlGT/VbFSHHZXjRX8gZ0GzJWoM6AJmfbsMHNcX1EkXo6E\nuo8YNMEhe3zNge2Yr469pkYstLsZ6orli6tLa5lGmLyz5EXr8fJGwnKi1YvR\n7suA8bKSUglVd1Wqr7VKWeM8NJyoSaqFfepL1h9eLg==\n</Signature>\n</OViSSRequest>\r\n--BOUNDARY1362972237\r\nContent-Type:
+ application/octet-stream\r\nContent-Disposition: form-data; name=\"configurationXMLFilePath\";
+ filename=\"configurationXMLFilePath.xml\"\r\n\r\n<?xml version=\"1.0\" encoding
+ =\"UTF-8\"?>\n<Request>\n <configuration>\n <firewall_policy>\n </firewall_policy>\n
+ \ </configuration>\n</Request>\n\r\n--BOUNDARY1362972237--"
+ headers:
+ Accept:
+ - text/xml
+ User-Agent:
+ - OViSS-API-CLIENT
+ Content-Type:
+ - multipart/form-data; boundary=BOUNDARY1362972237
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Mon, 11 Mar 2013 03:23:57 GMT
+ Set-Cookie:
+ - JSESSIONID=FA6B90968679CFB8983B76BAECE6C9C2; Path=/ovisspxy; Secure
+ Content-Type:
+ - text/xml;charset=UTF-8
+ Connection:
+ - close
+ Transfer-Encoding:
+ - chunked
+ body:
+ encoding: US-ASCII
+ string: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<GetEFMConfigurationResponse
+ xmlns=\"http://apioviss.jp.fujitsu.com\">\r\n <efm>\r\n <creator>UZXC0GRT</creator>\r\n
+ \ <efmId>UZXC0GRT-ZG8ZJCJ07-S-0001</efmId>\r\n <efmName>Firewall</efmName>\r\n
+ \ <efmType>FW</efmType>\r\n <firewall>\r\n <directions>\r\n <direction>\r\n
+ \ <from>UZXC0GRT-ZG8ZJCJ07-N-DMZ</from>\r\n <policies>\r\n
+ \ <policy>\r\n <action>Deny</action>\r\n <dst
+ />\r\n <dstPort />\r\n <dstService />\r\n <dstType
+ />\r\n <id>50000</id>\r\n <log>On</log>\r\n <protocol
+ />\r\n <src />\r\n <srcPort />\r\n <srcType
+ />\r\n </policy>\r\n </policies>\r\n </direction>\r\n
+ \ <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-DMZ</from>\r\n
+ \ <policies>\r\n <policy>\r\n <action>Accept</action>\r\n
+ \ <dst>any</dst>\r\n <dstPort>80</dstPort>\r\n <dstService>NONE</dstService>\r\n
+ \ <dstType>IP</dstType>\r\n <id>45001</id>\r\n <log>On</log>\r\n
+ \ <protocol>tcp</protocol>\r\n <src>any</src>\r\n
+ \ <srcPort>any</srcPort>\r\n <srcType>IP</srcType>\r\n
+ \ </policy>\r\n <policy>\r\n <action>Accept</action>\r\n
+ \ <dst>any</dst>\r\n <dstPort>53</dstPort>\r\n <dstService>NONE</dstService>\r\n
+ \ <dstType>IP</dstType>\r\n <id>45002</id>\r\n <log>On</log>\r\n
+ \ <protocol>tcp-udp</protocol>\r\n <src>any</src>\r\n
+ \ <srcPort>any</srcPort>\r\n <srcType>IP</srcType>\r\n
+ \ </policy>\r\n </policies>\r\n <to>UZXC0GRT-ZG8ZJCJ07-N-INTERNET</to>\r\n
+ \ </direction>\r\n <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-INTERNET</from>\r\n
+ \ <policies>\r\n <policy>\r\n <action>Deny</action>\r\n
+ \ <dst />\r\n <dstPort />\r\n <dstService
+ />\r\n <dstType />\r\n <id>50000</id>\r\n <log>On</log>\r\n
+ \ <protocol />\r\n <src />\r\n <srcPort
+ />\r\n <srcType />\r\n </policy>\r\n </policies>\r\n
+ \ </direction>\r\n <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-INTRANET</from>\r\n
+ \ <policies>\r\n <policy>\r\n <action>Deny</action>\r\n
+ \ <dst />\r\n <dstPort />\r\n <dstService
+ />\r\n <dstType />\r\n <id>50000</id>\r\n <log>On</log>\r\n
+ \ <protocol />\r\n <src />\r\n <srcPort
+ />\r\n <srcType />\r\n </policy>\r\n </policies>\r\n
+ \ </direction>\r\n <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-SECURE1</from>\r\n
+ \ <policies>\r\n <policy>\r\n <action>Deny</action>\r\n
+ \ <dst />\r\n <dstPort />\r\n <dstService
+ />\r\n <dstType />\r\n <id>50000</id>\r\n <log>On</log>\r\n
+ \ <protocol />\r\n <src />\r\n <srcPort
+ />\r\n <srcType />\r\n </policy>\r\n </policies>\r\n
+ \ </direction>\r\n </directions>\r\n <status>RUNNING</status>\r\n
+ \ </firewall>\r\n </efm>\r\n <responseMessage>Processing was completed.</responseMessage>\r\n
+ \ <responseStatus>SUCCESS</responseStatus>\r\n</GetEFMConfigurationResponse>\r\n\r\n"
+ http_version:
+ recorded_at: Mon, 11 Mar 2013 03:23:58 GMT
+- request:
+ method: get
+ uri: https://api.globalcloud.fujitsu.com.au/ovissapi/endpoint?AccessKeyId=QVVTIEVhc3Rlcm4gRGF5bGlnaHQgVGltZSYxMzYyOTcyMjM4MDAwJjEuMCZT%0ASEExd2l0aFJTQQ==%0A&Action=GetVSYSAttributes&Locale=en&Signature=WujA3/naQV5uqV8c9MYQf5HsZVmp6QqbGrE9OGCpYlJ+84tyzr5d2SV68VC4%0ASeibw2BCSJHN24YoDSX7ZHAcOg8CS+uL9wZRGwbgqd1vCab7d5eSx8kKNWQt%0ADl7yyKvXvU4HgCiUk5yDwHhwgHdf0LppCdZAWwYivMZLQTzMwfV/Vn2Rjtoq%0APuZrWW8eV0FFrcivZH+pcA6+i7RSK2tO0yYu2abcpio4y+U9uihR2QxRR/CR%0A1Fe9tFLmWb89VTbBSwlP6UWk4NrVaHsun0852waivhRyOYR3/VfhxG8D08W1%0AJOAE898ECXZdyC3VvxkoUFfifillyb962pvYLWyB3A==%0A&Version=2011-01-31&vsysId=UZXC0GRT-ZG8ZJCJ07
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept:
+ - text/xml
+ User-Agent:
+ - OViSS-API-CLIENT
+ Content-Type:
+ - multipart/form-data; boundary=BOUNDARY1362972237
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Mon, 11 Mar 2013 03:23:58 GMT
+ Set-Cookie:
+ - JSESSIONID=0496FF17F3F40CF32E5371CD0E7769BC; Path=/ovisspxy; Secure
+ Content-Type:
+ - text/xml;charset=UTF-8
+ Connection:
+ - close
+ Transfer-Encoding:
+ - chunked
+ body:
+ encoding: US-ASCII
+ string: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<GetVSYSAttributesResponse
+ xmlns=\"http://apioviss.jp.fujitsu.com\">\r\n <responseMessage>Processing
+ was completed.</responseMessage>\r\n <responseStatus>SUCCESS</responseStatus>\r\n
+ \ <vsys>\r\n <baseDescriptor>2-tier Skeleton</baseDescriptor>\r\n <creator>UZXC0GRT</creator>\r\n
+ \ <description>2-tier Skeleton</description>\r\n <vsysId>UZXC0GRT-ZG8ZJCJ07</vsysId>\r\n
+ \ <vsysName>Dies-DC-test</vsysName>\r\n </vsys>\r\n</GetVSYSAttributesResponse>\r\n\r\n"
+ http_version:
+ recorded_at: Mon, 11 Mar 2013 03:23:58 GMT
+recorded_with: VCR 2.4.0
--
1.8.0.msysgit.0
Re: [PATCH] FGCP: add unit tests for firewalls
Posted by Michal Fojtik <mf...@redhat.com>.
On 03/11, diesk@fast.au.fujitsu.com wrote:
ACK.
-- Michal
> From: Dies Koper <di...@fast.au.fujitsu.com>
>
> ---
> server/tests/drivers/fgcp/firewall_test.rb | 70 +++++++++
> .../test_0002_must_return_list_of_firewalls.yml | 39 +++++
> .../test_0003_must_allow_to_filter_firewalls.yml | 169 +++++++++++++++++++++
> ...0004_must_allow_to_retrieve_single_firewall.yml | 169 +++++++++++++++++++++
> .../test_0005_must_describe_single_firewall.yml | 125 +++++++++++++++
> .../test_0006_must_list_firewall_rules.yml | 125 +++++++++++++++
> 6 files changed, 697 insertions(+)
> create mode 100644 server/tests/drivers/fgcp/firewall_test.rb
> create mode 100644 server/tests/drivers/fgcp/fixtures/test_0002_must_return_list_of_firewalls.yml
> create mode 100644 server/tests/drivers/fgcp/fixtures/test_0003_must_allow_to_filter_firewalls.yml
> create mode 100644 server/tests/drivers/fgcp/fixtures/test_0004_must_allow_to_retrieve_single_firewall.yml
> create mode 100644 server/tests/drivers/fgcp/fixtures/test_0005_must_describe_single_firewall.yml
> create mode 100644 server/tests/drivers/fgcp/fixtures/test_0006_must_list_firewall_rules.yml
>
> diff --git a/server/tests/drivers/fgcp/firewall_test.rb b/server/tests/drivers/fgcp/firewall_test.rb
> new file mode 100644
> index 0000000..20a6a14
> --- /dev/null
> +++ b/server/tests/drivers/fgcp/firewall_test.rb
> @@ -0,0 +1,70 @@
> +#$:.unshift File.join(File.dirname(__FILE__), '..', '..', '..')
> +require 'require_relative' if RUBY_VERSION < '1.9'
> +
> +require_relative 'common.rb'
> +
> +describe 'FgcpDriver Firewalls' do
> +
> + before do
> + @driver = Deltacloud::new(:fgcp, credentials)
> + VCR.insert_cassette __name__
> + end
> +
> + after do
> + VCR.eject_cassette
> + end
> +
> + it 'must throw error when wrong credentials' do
> + Proc.new do
> + @driver.backend.firewalls(OpenStruct.new(:user => 'unknown', :password => 'wrong'))
> + end.must_raise Deltacloud::Exceptions::AuthenticationFailure, 'Authentication Failure'
> + end
> +
> + it 'must return list of firewalls' do
> + fws = @driver.firewalls
> + fws.wont_be_empty
> + fws.each { |fw| fw.must_be_kind_of Firewall }
> + fws.each { |fw| fw.id.wont_be_nil }
> + end
> +
> + it 'must allow to filter firewalls' do
> + fw = @driver.firewalls(:id => 'UZXC0GRT-ZG8ZJCJ07-S-0001')
> + fw.wont_be_empty
> + fw.must_be_kind_of Array
> + fw.size.must_equal 1
> + fw.first.id.must_equal 'UZXC0GRT-ZG8ZJCJ07-S-0001'
> + @driver.firewalls(:id => 'UZXC0GRT-ZG8ZJCJ07-S-0000').must_be_empty
> + end
> +
> + it 'must allow to retrieve single firewall' do
> + fw = @driver.firewall(:id => 'UZXC0GRT-ZG8ZJCJ07-S-0001')
> + fw.wont_be_nil
> + fw.must_be_kind_of Firewall
> + fw.id.must_equal 'UZXC0GRT-ZG8ZJCJ07-S-0001'
> + @driver.firewall(:id => 'UZXC0GRT-ZG8ZJCJ07-S-0000').must_be_nil
> + end
> +
> + it 'must describe single firewall' do
> + fw = @driver.firewall(:id => 'UZXC0GRT-ZG8ZJCJ07-S-0001')
> + fw.wont_be_nil
> + fw.id.must_equal 'UZXC0GRT-ZG8ZJCJ07-S-0001'
> + fw.name.must_equal 'Firewall'
> + fw.owner_id.wont_be_nil
> + fw.description.wont_be_nil
> + end
> +
> + it 'must list firewall rules' do
> + fw = @driver.firewall(:id => 'UZXC0GRT-ZG8ZJCJ07-S-0001')
> + fw.wont_be_nil
> + fw.rules.wont_be_empty
> + fw.rules.first.must_be_kind_of FirewallRule
> + fw.rules.first.allow_protocol.wont_be_nil
> + fw.rules.first.port_from.wont_be_nil
> + fw.rules.first.port_to.wont_be_nil
> + fw.rules.first.direction.wont_be_nil
> + fw.rules.first.rule_action.wont_be_nil
> + fw.rules.first.log_rule.wont_be_nil
> + fw.rules.first.sources.wont_be_empty
> + end
> +
> +end
> diff --git a/server/tests/drivers/fgcp/fixtures/test_0002_must_return_list_of_firewalls.yml b/server/tests/drivers/fgcp/fixtures/test_0002_must_return_list_of_firewalls.yml
> new file mode 100644
> index 0000000..d9be8a7
> --- /dev/null
> +++ b/server/tests/drivers/fgcp/fixtures/test_0002_must_return_list_of_firewalls.yml
> @@ -0,0 +1,39 @@
> +---
> +http_interactions:
> +- request:
> + method: get
> + uri: https://api.globalcloud.fujitsu.com.au/ovissapi/endpoint?AccessKeyId=QVVTIEVhc3Rlcm4gRGF5bGlnaHQgVGltZSYxMzYyOTcyMjM2MDAwJjEuMCZT%0ASEExd2l0aFJTQQ==%0A&Action=ListVSYS&Locale=en&Signature=RMD9Fz3nak2FcHF991/IpoAfbJ+F9sMDQne/E0u23FRw9SZV3i73lDCfCDDR%0A+D2waxySqq4wc/cZ9E1QE255/kY4uQgCxM2IOmU1+YAsEkI2pffLsC9bTnFW%0Ac43bv22HPMwOw6EFjqcmPlXQSRuAfh8auqomo157/sGt2GRZPcnHV0rdpP7L%0A1rSmuMwJ90GoTgHa0bLHXtW221Jao8453gpspJsYdmX31XdVApRtO6sE3pUk%0AkvabNpaXy2Esa73j0jF8hZVAiSW3nu5RoV3CA3rnqbJv+EWs47fC53fB+IB5%0AhZwAFpk4darpvAaDvkhkAMtnVw3y16PggACJSvZSsA==%0A&Version=2011-01-31
> + body:
> + encoding: US-ASCII
> + string: ''
> + headers:
> + Accept:
> + - text/xml
> + User-Agent:
> + - OViSS-API-CLIENT
> + response:
> + status:
> + code: 200
> + message: OK
> + headers:
> + Date:
> + - Mon, 11 Mar 2013 03:23:56 GMT
> + Set-Cookie:
> + - JSESSIONID=87B27AAFC84A487D5F3CA6AF090BF143; Path=/ovisspxy; Secure
> + Content-Type:
> + - text/xml;charset=UTF-8
> + Connection:
> + - close
> + Transfer-Encoding:
> + - chunked
> + body:
> + encoding: US-ASCII
> + string: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ListVSYSResponse xmlns=\"http://apioviss.jp.fujitsu.com\">\r\n
> + \ <responseMessage>Processing was completed.</responseMessage>\r\n <responseStatus>SUCCESS</responseStatus>\r\n
> + \ <vsyss>\r\n <vsys>\r\n <baseDescriptor>2-tier Skeleton</baseDescriptor>\r\n
> + \ <creator>UZXC0GRT</creator>\r\n <description>2-tier Skeleton</description>\r\n
> + \ <vsysId>UZXC0GRT-ZG8ZJCJ07</vsysId>\r\n <vsysName>Dies-DC-test</vsysName>\r\n
> + \ </vsys>\r\n </vsyss>\r\n</ListVSYSResponse>\r\n\r\n"
> + http_version:
> + recorded_at: Mon, 11 Mar 2013 03:23:56 GMT
> +recorded_with: VCR 2.4.0
> diff --git a/server/tests/drivers/fgcp/fixtures/test_0003_must_allow_to_filter_firewalls.yml b/server/tests/drivers/fgcp/fixtures/test_0003_must_allow_to_filter_firewalls.yml
> new file mode 100644
> index 0000000..7105389
> --- /dev/null
> +++ b/server/tests/drivers/fgcp/fixtures/test_0003_must_allow_to_filter_firewalls.yml
> @@ -0,0 +1,169 @@
> +---
> +http_interactions:
> +- request:
> + method: post
> + uri: https://api.globalcloud.fujitsu.com.au/ovissapi/endpoint
> + body:
> + encoding: US-ASCII
> + string: ! "--BOUNDARY1362972234\r\nContent-Type: text/xml; charset=UTF-8\r\nContent-Disposition:
> + form-data; name=\"Document\"\r\n\r\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<OViSSRequest>\n
> + \ <vsysId>UZXC0GRT-ZG8ZJCJ07</vsysId>\n <efmId>UZXC0GRT-ZG8ZJCJ07-S-0001</efmId>\n
> + \ <configurationName>FW_POLICY</configurationName>\n <Version>2011-01-31</Version>\n
> + \ <Locale>en</Locale>\n <Action>GetEFMConfiguration</Action>\n <AccessKeyId>QVVTIEVhc3Rlcm4gRGF5bGlnaHQgVGltZSYxMzYyOTcyMjM0MDAwJjEuMCZT\nSEExd2l0aFJTQQ==\n</AccessKeyId>\n
> + \ <Signature>bGTWfJJz+bvX4yEVptlkDnt1/yHYjI+qQnjk7ZZJzZpfKiTDh2+40oe7nJY2\n3kNm6OAm56+AGc6SXO0CQV61JRlRGhrzvZzfTHsdE8x/40jxoTmzRQvLetxk\nmvs4aX77GV1gWJW2VifXZfGkyjmdbgRntfIBk4RWELt6cK97toMfc+q6O5Wb\n7wEz76JNvjO8JJ+zqUobI2VJHZnjXi/haVksvaVgjJ1/NTF8XW73nNQwHH6p\n3H2JEbw1+XI3Nsd6GdoG593MLXS5+UzxaX6V5jczLOjV2CLEoTg72unAwFPH\nEdOx7ldQ7qvo+r3CxS/U7qC5Uj3no3Wjd6zRheN3eA==\n</Signature>\n</OViSSRequest>\r\n--BOUNDARY1362972234\r\nContent-Type:
> + application/octet-stream\r\nContent-Disposition: form-data; name=\"configurationXMLFilePath\";
> + filename=\"configurationXMLFilePath.xml\"\r\n\r\n<?xml version=\"1.0\" encoding
> + =\"UTF-8\"?>\n<Request>\n <configuration>\n <firewall_policy>\n </firewall_policy>\n
> + \ </configuration>\n</Request>\n\r\n--BOUNDARY1362972234--"
> + headers:
> + Accept:
> + - text/xml
> + User-Agent:
> + - OViSS-API-CLIENT
> + Content-Type:
> + - multipart/form-data; boundary=BOUNDARY1362972234
> + response:
> + status:
> + code: 200
> + message: OK
> + headers:
> + Date:
> + - Mon, 11 Mar 2013 03:23:54 GMT
> + Set-Cookie:
> + - JSESSIONID=002BCC90C583CEECE599EC1A7DA9C4FE; Path=/ovisspxy; Secure
> + Content-Type:
> + - text/xml;charset=UTF-8
> + Connection:
> + - close
> + Transfer-Encoding:
> + - chunked
> + body:
> + encoding: US-ASCII
> + string: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<GetEFMConfigurationResponse
> + xmlns=\"http://apioviss.jp.fujitsu.com\">\r\n <efm>\r\n <creator>UZXC0GRT</creator>\r\n
> + \ <efmId>UZXC0GRT-ZG8ZJCJ07-S-0001</efmId>\r\n <efmName>Firewall</efmName>\r\n
> + \ <efmType>FW</efmType>\r\n <firewall>\r\n <directions>\r\n <direction>\r\n
> + \ <from>UZXC0GRT-ZG8ZJCJ07-N-DMZ</from>\r\n <policies>\r\n
> + \ <policy>\r\n <action>Deny</action>\r\n <dst
> + />\r\n <dstPort />\r\n <dstService />\r\n <dstType
> + />\r\n <id>50000</id>\r\n <log>On</log>\r\n <protocol
> + />\r\n <src />\r\n <srcPort />\r\n <srcType
> + />\r\n </policy>\r\n </policies>\r\n </direction>\r\n
> + \ <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-DMZ</from>\r\n
> + \ <policies>\r\n <policy>\r\n <action>Accept</action>\r\n
> + \ <dst>any</dst>\r\n <dstPort>80</dstPort>\r\n <dstService>NONE</dstService>\r\n
> + \ <dstType>IP</dstType>\r\n <id>45001</id>\r\n <log>On</log>\r\n
> + \ <protocol>tcp</protocol>\r\n <src>any</src>\r\n
> + \ <srcPort>any</srcPort>\r\n <srcType>IP</srcType>\r\n
> + \ </policy>\r\n <policy>\r\n <action>Accept</action>\r\n
> + \ <dst>any</dst>\r\n <dstPort>53</dstPort>\r\n <dstService>NONE</dstService>\r\n
> + \ <dstType>IP</dstType>\r\n <id>45002</id>\r\n <log>On</log>\r\n
> + \ <protocol>tcp-udp</protocol>\r\n <src>any</src>\r\n
> + \ <srcPort>any</srcPort>\r\n <srcType>IP</srcType>\r\n
> + \ </policy>\r\n </policies>\r\n <to>UZXC0GRT-ZG8ZJCJ07-N-INTERNET</to>\r\n
> + \ </direction>\r\n <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-INTERNET</from>\r\n
> + \ <policies>\r\n <policy>\r\n <action>Deny</action>\r\n
> + \ <dst />\r\n <dstPort />\r\n <dstService
> + />\r\n <dstType />\r\n <id>50000</id>\r\n <log>On</log>\r\n
> + \ <protocol />\r\n <src />\r\n <srcPort
> + />\r\n <srcType />\r\n </policy>\r\n </policies>\r\n
> + \ </direction>\r\n <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-INTRANET</from>\r\n
> + \ <policies>\r\n <policy>\r\n <action>Deny</action>\r\n
> + \ <dst />\r\n <dstPort />\r\n <dstService
> + />\r\n <dstType />\r\n <id>50000</id>\r\n <log>On</log>\r\n
> + \ <protocol />\r\n <src />\r\n <srcPort
> + />\r\n <srcType />\r\n </policy>\r\n </policies>\r\n
> + \ </direction>\r\n <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-SECURE1</from>\r\n
> + \ <policies>\r\n <policy>\r\n <action>Deny</action>\r\n
> + \ <dst />\r\n <dstPort />\r\n <dstService
> + />\r\n <dstType />\r\n <id>50000</id>\r\n <log>On</log>\r\n
> + \ <protocol />\r\n <src />\r\n <srcPort
> + />\r\n <srcType />\r\n </policy>\r\n </policies>\r\n
> + \ </direction>\r\n </directions>\r\n <status>RUNNING</status>\r\n
> + \ </firewall>\r\n </efm>\r\n <responseMessage>Processing was completed.</responseMessage>\r\n
> + \ <responseStatus>SUCCESS</responseStatus>\r\n</GetEFMConfigurationResponse>\r\n\r\n"
> + http_version:
> + recorded_at: Mon, 11 Mar 2013 03:23:55 GMT
> +- request:
> + method: get
> + uri: https://api.globalcloud.fujitsu.com.au/ovissapi/endpoint?AccessKeyId=QVVTIEVhc3Rlcm4gRGF5bGlnaHQgVGltZSYxMzYyOTcyMjM1MDAwJjEuMCZT%0ASEExd2l0aFJTQQ==%0A&Action=GetVSYSAttributes&Locale=en&Signature=kICIL/L+kVdyxszZmkJRcQIJ45gwfO8VBDUTjcT6zS9Q8Jx4zwhyunRzQUHq%0AG4uK+17rT/B+4Eo/q7ycrWiYcIFcOEmhAREbd0iRhEAfBm7Q96bNPClckL7l%0APnpFUcAaFMp+j0F62A7ezDwwoSMV18xX2cMmTAtIntJcbwvspJOp2NXdze7e%0AgMK2v7Jbwf/Z05l6hkq2yOMY7TS+CSPB/dl8bbTwRv8vlHIiczjYxlvZ6tm2%0AQweVWsS6YE5bR2tO0vpGQrLIr3Wg6EsnezxVHLkmDwnxfUlGMSeBWV2+/R+c%0AaJVG1WuLVc/sd9qd4amMXs5QKiqsGoINfi4pn+ydyg==%0A&Version=2011-01-31&vsysId=UZXC0GRT-ZG8ZJCJ07
> + body:
> + encoding: US-ASCII
> + string: ''
> + headers:
> + Accept:
> + - text/xml
> + User-Agent:
> + - OViSS-API-CLIENT
> + Content-Type:
> + - multipart/form-data; boundary=BOUNDARY1362972234
> + response:
> + status:
> + code: 200
> + message: OK
> + headers:
> + Date:
> + - Mon, 11 Mar 2013 03:23:55 GMT
> + Set-Cookie:
> + - JSESSIONID=3DCFFF9FEC9B4EDFCAFC2566FF42E171; Path=/ovisspxy; Secure
> + Content-Type:
> + - text/xml;charset=UTF-8
> + Connection:
> + - close
> + Transfer-Encoding:
> + - chunked
> + body:
> + encoding: US-ASCII
> + string: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<GetVSYSAttributesResponse
> + xmlns=\"http://apioviss.jp.fujitsu.com\">\r\n <responseMessage>Processing
> + was completed.</responseMessage>\r\n <responseStatus>SUCCESS</responseStatus>\r\n
> + \ <vsys>\r\n <baseDescriptor>2-tier Skeleton</baseDescriptor>\r\n <creator>UZXC0GRT</creator>\r\n
> + \ <description>2-tier Skeleton</description>\r\n <vsysId>UZXC0GRT-ZG8ZJCJ07</vsysId>\r\n
> + \ <vsysName>Dies-DC-test</vsysName>\r\n </vsys>\r\n</GetVSYSAttributesResponse>\r\n\r\n"
> + http_version:
> + recorded_at: Mon, 11 Mar 2013 03:23:55 GMT
> +- request:
> + method: post
> + uri: https://api.globalcloud.fujitsu.com.au/ovissapi/endpoint
> + body:
> + encoding: US-ASCII
> + string: ! "--BOUNDARY1362972235\r\nContent-Type: text/xml; charset=UTF-8\r\nContent-Disposition:
> + form-data; name=\"Document\"\r\n\r\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<OViSSRequest>\n
> + \ <vsysId>UZXC0GRT-ZG8ZJCJ07</vsysId>\n <efmId>UZXC0GRT-ZG8ZJCJ07-S-0000</efmId>\n
> + \ <configurationName>FW_POLICY</configurationName>\n <Version>2011-01-31</Version>\n
> + \ <Locale>en</Locale>\n <Action>GetEFMConfiguration</Action>\n <AccessKeyId>QVVTIEVhc3Rlcm4gRGF5bGlnaHQgVGltZSYxMzYyOTcyMjM1MDAwJjEuMCZT\nSEExd2l0aFJTQQ==\n</AccessKeyId>\n
> + \ <Signature>kICIL/L+kVdyxszZmkJRcQIJ45gwfO8VBDUTjcT6zS9Q8Jx4zwhyunRzQUHq\nG4uK+17rT/B+4Eo/q7ycrWiYcIFcOEmhAREbd0iRhEAfBm7Q96bNPClckL7l\nPnpFUcAaFMp+j0F62A7ezDwwoSMV18xX2cMmTAtIntJcbwvspJOp2NXdze7e\ngMK2v7Jbwf/Z05l6hkq2yOMY7TS+CSPB/dl8bbTwRv8vlHIiczjYxlvZ6tm2\nQweVWsS6YE5bR2tO0vpGQrLIr3Wg6EsnezxVHLkmDwnxfUlGMSeBWV2+/R+c\naJVG1WuLVc/sd9qd4amMXs5QKiqsGoINfi4pn+ydyg==\n</Signature>\n</OViSSRequest>\r\n--BOUNDARY1362972235\r\nContent-Type:
> + application/octet-stream\r\nContent-Disposition: form-data; name=\"configurationXMLFilePath\";
> + filename=\"configurationXMLFilePath.xml\"\r\n\r\n<?xml version=\"1.0\" encoding
> + =\"UTF-8\"?>\n<Request>\n <configuration>\n <firewall_policy>\n </firewall_policy>\n
> + \ </configuration>\n</Request>\n\r\n--BOUNDARY1362972235--"
> + headers:
> + Accept:
> + - text/xml
> + User-Agent:
> + - OViSS-API-CLIENT
> + Content-Type:
> + - multipart/form-data; boundary=BOUNDARY1362972235
> + response:
> + status:
> + code: 200
> + message: OK
> + headers:
> + Date:
> + - Mon, 11 Mar 2013 03:23:55 GMT
> + Set-Cookie:
> + - JSESSIONID=BD00ACE8D2F7EC042CB4B1566CE89CBA; Path=/ovisspxy; Secure
> + Content-Type:
> + - text/xml;charset=UTF-8
> + Connection:
> + - close
> + Transfer-Encoding:
> + - chunked
> + body:
> + encoding: US-ASCII
> + string: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<GetEFMConfigurationResponse
> + xmlns=\"http://apioviss.jp.fujitsu.com\">\r\n <responseMessage>Resource[SERVER-ID:UZXC0GRT-ZG8ZJCJ07-S-0000]
> + doesnt exist.</responseMessage>\r\n <responseStatus>RESOURCE_NOT_FOUND</responseStatus>\r\n</GetEFMConfigurationResponse>\r\n\r\n"
> + http_version:
> + recorded_at: Mon, 11 Mar 2013 03:23:56 GMT
> +recorded_with: VCR 2.4.0
> diff --git a/server/tests/drivers/fgcp/fixtures/test_0004_must_allow_to_retrieve_single_firewall.yml b/server/tests/drivers/fgcp/fixtures/test_0004_must_allow_to_retrieve_single_firewall.yml
> new file mode 100644
> index 0000000..2dabb56
> --- /dev/null
> +++ b/server/tests/drivers/fgcp/fixtures/test_0004_must_allow_to_retrieve_single_firewall.yml
> @@ -0,0 +1,169 @@
> +---
> +http_interactions:
> +- request:
> + method: post
> + uri: https://api.globalcloud.fujitsu.com.au/ovissapi/endpoint
> + body:
> + encoding: US-ASCII
> + string: ! "--BOUNDARY1362972236\r\nContent-Type: text/xml; charset=UTF-8\r\nContent-Disposition:
> + form-data; name=\"Document\"\r\n\r\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<OViSSRequest>\n
> + \ <vsysId>UZXC0GRT-ZG8ZJCJ07</vsysId>\n <efmId>UZXC0GRT-ZG8ZJCJ07-S-0001</efmId>\n
> + \ <configurationName>FW_POLICY</configurationName>\n <Version>2011-01-31</Version>\n
> + \ <Locale>en</Locale>\n <Action>GetEFMConfiguration</Action>\n <AccessKeyId>QVVTIEVhc3Rlcm4gRGF5bGlnaHQgVGltZSYxMzYyOTcyMjM2MDAwJjEuMCZT\nSEExd2l0aFJTQQ==\n</AccessKeyId>\n
> + \ <Signature>RMD9Fz3nak2FcHF991/IpoAfbJ+F9sMDQne/E0u23FRw9SZV3i73lDCfCDDR\n+D2waxySqq4wc/cZ9E1QE255/kY4uQgCxM2IOmU1+YAsEkI2pffLsC9bTnFW\nc43bv22HPMwOw6EFjqcmPlXQSRuAfh8auqomo157/sGt2GRZPcnHV0rdpP7L\n1rSmuMwJ90GoTgHa0bLHXtW221Jao8453gpspJsYdmX31XdVApRtO6sE3pUk\nkvabNpaXy2Esa73j0jF8hZVAiSW3nu5RoV3CA3rnqbJv+EWs47fC53fB+IB5\nhZwAFpk4darpvAaDvkhkAMtnVw3y16PggACJSvZSsA==\n</Signature>\n</OViSSRequest>\r\n--BOUNDARY1362972236\r\nContent-Type:
> + application/octet-stream\r\nContent-Disposition: form-data; name=\"configurationXMLFilePath\";
> + filename=\"configurationXMLFilePath.xml\"\r\n\r\n<?xml version=\"1.0\" encoding
> + =\"UTF-8\"?>\n<Request>\n <configuration>\n <firewall_policy>\n </firewall_policy>\n
> + \ </configuration>\n</Request>\n\r\n--BOUNDARY1362972236--"
> + headers:
> + Accept:
> + - text/xml
> + User-Agent:
> + - OViSS-API-CLIENT
> + Content-Type:
> + - multipart/form-data; boundary=BOUNDARY1362972236
> + response:
> + status:
> + code: 200
> + message: OK
> + headers:
> + Date:
> + - Mon, 11 Mar 2013 03:23:56 GMT
> + Set-Cookie:
> + - JSESSIONID=159D0579F56B6941B678422DBBA8494A; Path=/ovisspxy; Secure
> + Content-Type:
> + - text/xml;charset=UTF-8
> + Connection:
> + - close
> + Transfer-Encoding:
> + - chunked
> + body:
> + encoding: US-ASCII
> + string: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<GetEFMConfigurationResponse
> + xmlns=\"http://apioviss.jp.fujitsu.com\">\r\n <efm>\r\n <creator>UZXC0GRT</creator>\r\n
> + \ <efmId>UZXC0GRT-ZG8ZJCJ07-S-0001</efmId>\r\n <efmName>Firewall</efmName>\r\n
> + \ <efmType>FW</efmType>\r\n <firewall>\r\n <directions>\r\n <direction>\r\n
> + \ <from>UZXC0GRT-ZG8ZJCJ07-N-DMZ</from>\r\n <policies>\r\n
> + \ <policy>\r\n <action>Deny</action>\r\n <dst
> + />\r\n <dstPort />\r\n <dstService />\r\n <dstType
> + />\r\n <id>50000</id>\r\n <log>On</log>\r\n <protocol
> + />\r\n <src />\r\n <srcPort />\r\n <srcType
> + />\r\n </policy>\r\n </policies>\r\n </direction>\r\n
> + \ <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-DMZ</from>\r\n
> + \ <policies>\r\n <policy>\r\n <action>Accept</action>\r\n
> + \ <dst>any</dst>\r\n <dstPort>80</dstPort>\r\n <dstService>NONE</dstService>\r\n
> + \ <dstType>IP</dstType>\r\n <id>45001</id>\r\n <log>On</log>\r\n
> + \ <protocol>tcp</protocol>\r\n <src>any</src>\r\n
> + \ <srcPort>any</srcPort>\r\n <srcType>IP</srcType>\r\n
> + \ </policy>\r\n <policy>\r\n <action>Accept</action>\r\n
> + \ <dst>any</dst>\r\n <dstPort>53</dstPort>\r\n <dstService>NONE</dstService>\r\n
> + \ <dstType>IP</dstType>\r\n <id>45002</id>\r\n <log>On</log>\r\n
> + \ <protocol>tcp-udp</protocol>\r\n <src>any</src>\r\n
> + \ <srcPort>any</srcPort>\r\n <srcType>IP</srcType>\r\n
> + \ </policy>\r\n </policies>\r\n <to>UZXC0GRT-ZG8ZJCJ07-N-INTERNET</to>\r\n
> + \ </direction>\r\n <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-INTERNET</from>\r\n
> + \ <policies>\r\n <policy>\r\n <action>Deny</action>\r\n
> + \ <dst />\r\n <dstPort />\r\n <dstService
> + />\r\n <dstType />\r\n <id>50000</id>\r\n <log>On</log>\r\n
> + \ <protocol />\r\n <src />\r\n <srcPort
> + />\r\n <srcType />\r\n </policy>\r\n </policies>\r\n
> + \ </direction>\r\n <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-INTRANET</from>\r\n
> + \ <policies>\r\n <policy>\r\n <action>Deny</action>\r\n
> + \ <dst />\r\n <dstPort />\r\n <dstService
> + />\r\n <dstType />\r\n <id>50000</id>\r\n <log>On</log>\r\n
> + \ <protocol />\r\n <src />\r\n <srcPort
> + />\r\n <srcType />\r\n </policy>\r\n </policies>\r\n
> + \ </direction>\r\n <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-SECURE1</from>\r\n
> + \ <policies>\r\n <policy>\r\n <action>Deny</action>\r\n
> + \ <dst />\r\n <dstPort />\r\n <dstService
> + />\r\n <dstType />\r\n <id>50000</id>\r\n <log>On</log>\r\n
> + \ <protocol />\r\n <src />\r\n <srcPort
> + />\r\n <srcType />\r\n </policy>\r\n </policies>\r\n
> + \ </direction>\r\n </directions>\r\n <status>RUNNING</status>\r\n
> + \ </firewall>\r\n </efm>\r\n <responseMessage>Processing was completed.</responseMessage>\r\n
> + \ <responseStatus>SUCCESS</responseStatus>\r\n</GetEFMConfigurationResponse>\r\n\r\n"
> + http_version:
> + recorded_at: Mon, 11 Mar 2013 03:23:57 GMT
> +- request:
> + method: get
> + uri: https://api.globalcloud.fujitsu.com.au/ovissapi/endpoint?AccessKeyId=QVVTIEVhc3Rlcm4gRGF5bGlnaHQgVGltZSYxMzYyOTcyMjM3MDAwJjEuMCZT%0ASEExd2l0aFJTQQ==%0A&Action=GetVSYSAttributes&Locale=en&Signature=E4t+bCBTmozVIKNGgCqy3KgoSTKTo2P/uojvGNCuzbcz2TVpICgvUTIh5CGS%0AtLIik/e9Ij8zhAiSZQbbukNBKwqx73bJd8Ej1mjVs4u2R5lB2otMZDHmdZKt%0AvMJVsifn66q/Dr6KwVF9N1Z6pqfvIiCDB6eadT0Q2sFhFpPGuP/88lPeQIml%0A/HmpoZVoTINJBpHUlGT/VbFSHHZXjRX8gZ0GzJWoM6AJmfbsMHNcX1EkXo6E%0Auo8YNMEhe3zNge2Yr469pkYstLsZ6orli6tLa5lGmLyz5EXr8fJGwnKi1YvR%0A7suA8bKSUglVd1Wqr7VKWeM8NJyoSaqFfepL1h9eLg==%0A&Version=2011-01-31&vsysId=UZXC0GRT-ZG8ZJCJ07
> + body:
> + encoding: US-ASCII
> + string: ''
> + headers:
> + Accept:
> + - text/xml
> + User-Agent:
> + - OViSS-API-CLIENT
> + Content-Type:
> + - multipart/form-data; boundary=BOUNDARY1362972236
> + response:
> + status:
> + code: 200
> + message: OK
> + headers:
> + Date:
> + - Mon, 11 Mar 2013 03:23:57 GMT
> + Set-Cookie:
> + - JSESSIONID=46EE9B4EA9611334ACCE52F30E7DBC1C; Path=/ovisspxy; Secure
> + Content-Type:
> + - text/xml;charset=UTF-8
> + Connection:
> + - close
> + Transfer-Encoding:
> + - chunked
> + body:
> + encoding: US-ASCII
> + string: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<GetVSYSAttributesResponse
> + xmlns=\"http://apioviss.jp.fujitsu.com\">\r\n <responseMessage>Processing
> + was completed.</responseMessage>\r\n <responseStatus>SUCCESS</responseStatus>\r\n
> + \ <vsys>\r\n <baseDescriptor>2-tier Skeleton</baseDescriptor>\r\n <creator>UZXC0GRT</creator>\r\n
> + \ <description>2-tier Skeleton</description>\r\n <vsysId>UZXC0GRT-ZG8ZJCJ07</vsysId>\r\n
> + \ <vsysName>Dies-DC-test</vsysName>\r\n </vsys>\r\n</GetVSYSAttributesResponse>\r\n\r\n"
> + http_version:
> + recorded_at: Mon, 11 Mar 2013 03:23:57 GMT
> +- request:
> + method: post
> + uri: https://api.globalcloud.fujitsu.com.au/ovissapi/endpoint
> + body:
> + encoding: US-ASCII
> + string: ! "--BOUNDARY1362972237\r\nContent-Type: text/xml; charset=UTF-8\r\nContent-Disposition:
> + form-data; name=\"Document\"\r\n\r\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<OViSSRequest>\n
> + \ <vsysId>UZXC0GRT-ZG8ZJCJ07</vsysId>\n <efmId>UZXC0GRT-ZG8ZJCJ07-S-0000</efmId>\n
> + \ <configurationName>FW_POLICY</configurationName>\n <Version>2011-01-31</Version>\n
> + \ <Locale>en</Locale>\n <Action>GetEFMConfiguration</Action>\n <AccessKeyId>QVVTIEVhc3Rlcm4gRGF5bGlnaHQgVGltZSYxMzYyOTcyMjM3MDAwJjEuMCZT\nSEExd2l0aFJTQQ==\n</AccessKeyId>\n
> + \ <Signature>E4t+bCBTmozVIKNGgCqy3KgoSTKTo2P/uojvGNCuzbcz2TVpICgvUTIh5CGS\ntLIik/e9Ij8zhAiSZQbbukNBKwqx73bJd8Ej1mjVs4u2R5lB2otMZDHmdZKt\nvMJVsifn66q/Dr6KwVF9N1Z6pqfvIiCDB6eadT0Q2sFhFpPGuP/88lPeQIml\n/HmpoZVoTINJBpHUlGT/VbFSHHZXjRX8gZ0GzJWoM6AJmfbsMHNcX1EkXo6E\nuo8YNMEhe3zNge2Yr469pkYstLsZ6orli6tLa5lGmLyz5EXr8fJGwnKi1YvR\n7suA8bKSUglVd1Wqr7VKWeM8NJyoSaqFfepL1h9eLg==\n</Signature>\n</OViSSRequest>\r\n--BOUNDARY1362972237\r\nContent-Type:
> + application/octet-stream\r\nContent-Disposition: form-data; name=\"configurationXMLFilePath\";
> + filename=\"configurationXMLFilePath.xml\"\r\n\r\n<?xml version=\"1.0\" encoding
> + =\"UTF-8\"?>\n<Request>\n <configuration>\n <firewall_policy>\n </firewall_policy>\n
> + \ </configuration>\n</Request>\n\r\n--BOUNDARY1362972237--"
> + headers:
> + Accept:
> + - text/xml
> + User-Agent:
> + - OViSS-API-CLIENT
> + Content-Type:
> + - multipart/form-data; boundary=BOUNDARY1362972237
> + response:
> + status:
> + code: 200
> + message: OK
> + headers:
> + Date:
> + - Mon, 11 Mar 2013 03:23:57 GMT
> + Set-Cookie:
> + - JSESSIONID=0DE040FC57E9D24B2FD1696A8679C459; Path=/ovisspxy; Secure
> + Content-Type:
> + - text/xml;charset=UTF-8
> + Connection:
> + - close
> + Transfer-Encoding:
> + - chunked
> + body:
> + encoding: US-ASCII
> + string: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<GetEFMConfigurationResponse
> + xmlns=\"http://apioviss.jp.fujitsu.com\">\r\n <responseMessage>Resource[SERVER-ID:UZXC0GRT-ZG8ZJCJ07-S-0000]
> + doesnt exist.</responseMessage>\r\n <responseStatus>RESOURCE_NOT_FOUND</responseStatus>\r\n</GetEFMConfigurationResponse>\r\n\r\n"
> + http_version:
> + recorded_at: Mon, 11 Mar 2013 03:23:57 GMT
> +recorded_with: VCR 2.4.0
> diff --git a/server/tests/drivers/fgcp/fixtures/test_0005_must_describe_single_firewall.yml b/server/tests/drivers/fgcp/fixtures/test_0005_must_describe_single_firewall.yml
> new file mode 100644
> index 0000000..245cdc3
> --- /dev/null
> +++ b/server/tests/drivers/fgcp/fixtures/test_0005_must_describe_single_firewall.yml
> @@ -0,0 +1,125 @@
> +---
> +http_interactions:
> +- request:
> + method: post
> + uri: https://api.globalcloud.fujitsu.com.au/ovissapi/endpoint
> + body:
> + encoding: US-ASCII
> + string: ! "--BOUNDARY1362972238\r\nContent-Type: text/xml; charset=UTF-8\r\nContent-Disposition:
> + form-data; name=\"Document\"\r\n\r\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<OViSSRequest>\n
> + \ <vsysId>UZXC0GRT-ZG8ZJCJ07</vsysId>\n <efmId>UZXC0GRT-ZG8ZJCJ07-S-0001</efmId>\n
> + \ <configurationName>FW_POLICY</configurationName>\n <Version>2011-01-31</Version>\n
> + \ <Locale>en</Locale>\n <Action>GetEFMConfiguration</Action>\n <AccessKeyId>QVVTIEVhc3Rlcm4gRGF5bGlnaHQgVGltZSYxMzYyOTcyMjM4MDAwJjEuMCZT\nSEExd2l0aFJTQQ==\n</AccessKeyId>\n
> + \ <Signature>WujA3/naQV5uqV8c9MYQf5HsZVmp6QqbGrE9OGCpYlJ+84tyzr5d2SV68VC4\nSeibw2BCSJHN24YoDSX7ZHAcOg8CS+uL9wZRGwbgqd1vCab7d5eSx8kKNWQt\nDl7yyKvXvU4HgCiUk5yDwHhwgHdf0LppCdZAWwYivMZLQTzMwfV/Vn2Rjtoq\nPuZrWW8eV0FFrcivZH+pcA6+i7RSK2tO0yYu2abcpio4y+U9uihR2QxRR/CR\n1Fe9tFLmWb89VTbBSwlP6UWk4NrVaHsun0852waivhRyOYR3/VfhxG8D08W1\nJOAE898ECXZdyC3VvxkoUFfifillyb962pvYLWyB3A==\n</Signature>\n</OViSSRequest>\r\n--BOUNDARY1362972238\r\nContent-Type:
> + application/octet-stream\r\nContent-Disposition: form-data; name=\"configurationXMLFilePath\";
> + filename=\"configurationXMLFilePath.xml\"\r\n\r\n<?xml version=\"1.0\" encoding
> + =\"UTF-8\"?>\n<Request>\n <configuration>\n <firewall_policy>\n </firewall_policy>\n
> + \ </configuration>\n</Request>\n\r\n--BOUNDARY1362972238--"
> + headers:
> + Accept:
> + - text/xml
> + User-Agent:
> + - OViSS-API-CLIENT
> + Content-Type:
> + - multipart/form-data; boundary=BOUNDARY1362972238
> + response:
> + status:
> + code: 200
> + message: OK
> + headers:
> + Date:
> + - Mon, 11 Mar 2013 03:23:59 GMT
> + Set-Cookie:
> + - JSESSIONID=ABF6498F52389C01EAA72ED53E198087; Path=/ovisspxy; Secure
> + Content-Type:
> + - text/xml;charset=UTF-8
> + Connection:
> + - close
> + Transfer-Encoding:
> + - chunked
> + body:
> + encoding: US-ASCII
> + string: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<GetEFMConfigurationResponse
> + xmlns=\"http://apioviss.jp.fujitsu.com\">\r\n <efm>\r\n <creator>UZXC0GRT</creator>\r\n
> + \ <efmId>UZXC0GRT-ZG8ZJCJ07-S-0001</efmId>\r\n <efmName>Firewall</efmName>\r\n
> + \ <efmType>FW</efmType>\r\n <firewall>\r\n <directions>\r\n <direction>\r\n
> + \ <from>UZXC0GRT-ZG8ZJCJ07-N-DMZ</from>\r\n <policies>\r\n
> + \ <policy>\r\n <action>Deny</action>\r\n <dst
> + />\r\n <dstPort />\r\n <dstService />\r\n <dstType
> + />\r\n <id>50000</id>\r\n <log>On</log>\r\n <protocol
> + />\r\n <src />\r\n <srcPort />\r\n <srcType
> + />\r\n </policy>\r\n </policies>\r\n </direction>\r\n
> + \ <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-DMZ</from>\r\n
> + \ <policies>\r\n <policy>\r\n <action>Accept</action>\r\n
> + \ <dst>any</dst>\r\n <dstPort>80</dstPort>\r\n <dstService>NONE</dstService>\r\n
> + \ <dstType>IP</dstType>\r\n <id>45001</id>\r\n <log>On</log>\r\n
> + \ <protocol>tcp</protocol>\r\n <src>any</src>\r\n
> + \ <srcPort>any</srcPort>\r\n <srcType>IP</srcType>\r\n
> + \ </policy>\r\n <policy>\r\n <action>Accept</action>\r\n
> + \ <dst>any</dst>\r\n <dstPort>53</dstPort>\r\n <dstService>NONE</dstService>\r\n
> + \ <dstType>IP</dstType>\r\n <id>45002</id>\r\n <log>On</log>\r\n
> + \ <protocol>tcp-udp</protocol>\r\n <src>any</src>\r\n
> + \ <srcPort>any</srcPort>\r\n <srcType>IP</srcType>\r\n
> + \ </policy>\r\n </policies>\r\n <to>UZXC0GRT-ZG8ZJCJ07-N-INTERNET</to>\r\n
> + \ </direction>\r\n <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-INTERNET</from>\r\n
> + \ <policies>\r\n <policy>\r\n <action>Deny</action>\r\n
> + \ <dst />\r\n <dstPort />\r\n <dstService
> + />\r\n <dstType />\r\n <id>50000</id>\r\n <log>On</log>\r\n
> + \ <protocol />\r\n <src />\r\n <srcPort
> + />\r\n <srcType />\r\n </policy>\r\n </policies>\r\n
> + \ </direction>\r\n <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-INTRANET</from>\r\n
> + \ <policies>\r\n <policy>\r\n <action>Deny</action>\r\n
> + \ <dst />\r\n <dstPort />\r\n <dstService
> + />\r\n <dstType />\r\n <id>50000</id>\r\n <log>On</log>\r\n
> + \ <protocol />\r\n <src />\r\n <srcPort
> + />\r\n <srcType />\r\n </policy>\r\n </policies>\r\n
> + \ </direction>\r\n <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-SECURE1</from>\r\n
> + \ <policies>\r\n <policy>\r\n <action>Deny</action>\r\n
> + \ <dst />\r\n <dstPort />\r\n <dstService
> + />\r\n <dstType />\r\n <id>50000</id>\r\n <log>On</log>\r\n
> + \ <protocol />\r\n <src />\r\n <srcPort
> + />\r\n <srcType />\r\n </policy>\r\n </policies>\r\n
> + \ </direction>\r\n </directions>\r\n <status>RUNNING</status>\r\n
> + \ </firewall>\r\n </efm>\r\n <responseMessage>Processing was completed.</responseMessage>\r\n
> + \ <responseStatus>SUCCESS</responseStatus>\r\n</GetEFMConfigurationResponse>\r\n\r\n"
> + http_version:
> + recorded_at: Mon, 11 Mar 2013 03:23:59 GMT
> +- request:
> + method: get
> + uri: https://api.globalcloud.fujitsu.com.au/ovissapi/endpoint?AccessKeyId=QVVTIEVhc3Rlcm4gRGF5bGlnaHQgVGltZSYxMzYyOTcyMjM5MDAwJjEuMCZT%0ASEExd2l0aFJTQQ==%0A&Action=GetVSYSAttributes&Locale=en&Signature=MGOEkhhQi7JQZPqnfkdXcm2yaUzyxxQhymo0cigRPFeqkvZg3fBMoVvvaIyZ%0A9EB8debjTdfZKeyuO1Gq+VYM0LTxQFJHUDH+JcQ9+JqHhjVVfOHGB7FHyCWT%0AMNfK5S04+epQob/YYSDF+SGFdQWfrEg7We4x6DpNRGAcFbqUH/+uAyyFTxKD%0AHeLNmPZe9fdIY17pwLoTaDoAMbrILbC7LTIJwQaSW2ZNCnIHFVmaYpa5KBg/%0APW9qCcjFNK9Hyq7MoE6REomSy84wSKfkEg1nhLWws9SZgV9FYOIf21hHhnPH%0A3Jhsqi6nwTV/z3eMiOB0wej61LaaL46OVPGJs4w55A==%0A&Version=2011-01-31&vsysId=UZXC0GRT-ZG8ZJCJ07
> + body:
> + encoding: US-ASCII
> + string: ''
> + headers:
> + Accept:
> + - text/xml
> + User-Agent:
> + - OViSS-API-CLIENT
> + Content-Type:
> + - multipart/form-data; boundary=BOUNDARY1362972238
> + response:
> + status:
> + code: 200
> + message: OK
> + headers:
> + Date:
> + - Mon, 11 Mar 2013 03:23:59 GMT
> + Set-Cookie:
> + - JSESSIONID=7257E814042838755B6EC4E21A2CA77E; Path=/ovisspxy; Secure
> + Content-Type:
> + - text/xml;charset=UTF-8
> + Connection:
> + - close
> + Transfer-Encoding:
> + - chunked
> + body:
> + encoding: US-ASCII
> + string: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<GetVSYSAttributesResponse
> + xmlns=\"http://apioviss.jp.fujitsu.com\">\r\n <responseMessage>Processing
> + was completed.</responseMessage>\r\n <responseStatus>SUCCESS</responseStatus>\r\n
> + \ <vsys>\r\n <baseDescriptor>2-tier Skeleton</baseDescriptor>\r\n <creator>UZXC0GRT</creator>\r\n
> + \ <description>2-tier Skeleton</description>\r\n <vsysId>UZXC0GRT-ZG8ZJCJ07</vsysId>\r\n
> + \ <vsysName>Dies-DC-test</vsysName>\r\n </vsys>\r\n</GetVSYSAttributesResponse>\r\n\r\n"
> + http_version:
> + recorded_at: Mon, 11 Mar 2013 03:23:59 GMT
> +recorded_with: VCR 2.4.0
> diff --git a/server/tests/drivers/fgcp/fixtures/test_0006_must_list_firewall_rules.yml b/server/tests/drivers/fgcp/fixtures/test_0006_must_list_firewall_rules.yml
> new file mode 100644
> index 0000000..1c48d2f
> --- /dev/null
> +++ b/server/tests/drivers/fgcp/fixtures/test_0006_must_list_firewall_rules.yml
> @@ -0,0 +1,125 @@
> +---
> +http_interactions:
> +- request:
> + method: post
> + uri: https://api.globalcloud.fujitsu.com.au/ovissapi/endpoint
> + body:
> + encoding: US-ASCII
> + string: ! "--BOUNDARY1362972237\r\nContent-Type: text/xml; charset=UTF-8\r\nContent-Disposition:
> + form-data; name=\"Document\"\r\n\r\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<OViSSRequest>\n
> + \ <vsysId>UZXC0GRT-ZG8ZJCJ07</vsysId>\n <efmId>UZXC0GRT-ZG8ZJCJ07-S-0001</efmId>\n
> + \ <configurationName>FW_POLICY</configurationName>\n <Version>2011-01-31</Version>\n
> + \ <Locale>en</Locale>\n <Action>GetEFMConfiguration</Action>\n <AccessKeyId>QVVTIEVhc3Rlcm4gRGF5bGlnaHQgVGltZSYxMzYyOTcyMjM3MDAwJjEuMCZT\nSEExd2l0aFJTQQ==\n</AccessKeyId>\n
> + \ <Signature>E4t+bCBTmozVIKNGgCqy3KgoSTKTo2P/uojvGNCuzbcz2TVpICgvUTIh5CGS\ntLIik/e9Ij8zhAiSZQbbukNBKwqx73bJd8Ej1mjVs4u2R5lB2otMZDHmdZKt\nvMJVsifn66q/Dr6KwVF9N1Z6pqfvIiCDB6eadT0Q2sFhFpPGuP/88lPeQIml\n/HmpoZVoTINJBpHUlGT/VbFSHHZXjRX8gZ0GzJWoM6AJmfbsMHNcX1EkXo6E\nuo8YNMEhe3zNge2Yr469pkYstLsZ6orli6tLa5lGmLyz5EXr8fJGwnKi1YvR\n7suA8bKSUglVd1Wqr7VKWeM8NJyoSaqFfepL1h9eLg==\n</Signature>\n</OViSSRequest>\r\n--BOUNDARY1362972237\r\nContent-Type:
> + application/octet-stream\r\nContent-Disposition: form-data; name=\"configurationXMLFilePath\";
> + filename=\"configurationXMLFilePath.xml\"\r\n\r\n<?xml version=\"1.0\" encoding
> + =\"UTF-8\"?>\n<Request>\n <configuration>\n <firewall_policy>\n </firewall_policy>\n
> + \ </configuration>\n</Request>\n\r\n--BOUNDARY1362972237--"
> + headers:
> + Accept:
> + - text/xml
> + User-Agent:
> + - OViSS-API-CLIENT
> + Content-Type:
> + - multipart/form-data; boundary=BOUNDARY1362972237
> + response:
> + status:
> + code: 200
> + message: OK
> + headers:
> + Date:
> + - Mon, 11 Mar 2013 03:23:57 GMT
> + Set-Cookie:
> + - JSESSIONID=FA6B90968679CFB8983B76BAECE6C9C2; Path=/ovisspxy; Secure
> + Content-Type:
> + - text/xml;charset=UTF-8
> + Connection:
> + - close
> + Transfer-Encoding:
> + - chunked
> + body:
> + encoding: US-ASCII
> + string: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<GetEFMConfigurationResponse
> + xmlns=\"http://apioviss.jp.fujitsu.com\">\r\n <efm>\r\n <creator>UZXC0GRT</creator>\r\n
> + \ <efmId>UZXC0GRT-ZG8ZJCJ07-S-0001</efmId>\r\n <efmName>Firewall</efmName>\r\n
> + \ <efmType>FW</efmType>\r\n <firewall>\r\n <directions>\r\n <direction>\r\n
> + \ <from>UZXC0GRT-ZG8ZJCJ07-N-DMZ</from>\r\n <policies>\r\n
> + \ <policy>\r\n <action>Deny</action>\r\n <dst
> + />\r\n <dstPort />\r\n <dstService />\r\n <dstType
> + />\r\n <id>50000</id>\r\n <log>On</log>\r\n <protocol
> + />\r\n <src />\r\n <srcPort />\r\n <srcType
> + />\r\n </policy>\r\n </policies>\r\n </direction>\r\n
> + \ <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-DMZ</from>\r\n
> + \ <policies>\r\n <policy>\r\n <action>Accept</action>\r\n
> + \ <dst>any</dst>\r\n <dstPort>80</dstPort>\r\n <dstService>NONE</dstService>\r\n
> + \ <dstType>IP</dstType>\r\n <id>45001</id>\r\n <log>On</log>\r\n
> + \ <protocol>tcp</protocol>\r\n <src>any</src>\r\n
> + \ <srcPort>any</srcPort>\r\n <srcType>IP</srcType>\r\n
> + \ </policy>\r\n <policy>\r\n <action>Accept</action>\r\n
> + \ <dst>any</dst>\r\n <dstPort>53</dstPort>\r\n <dstService>NONE</dstService>\r\n
> + \ <dstType>IP</dstType>\r\n <id>45002</id>\r\n <log>On</log>\r\n
> + \ <protocol>tcp-udp</protocol>\r\n <src>any</src>\r\n
> + \ <srcPort>any</srcPort>\r\n <srcType>IP</srcType>\r\n
> + \ </policy>\r\n </policies>\r\n <to>UZXC0GRT-ZG8ZJCJ07-N-INTERNET</to>\r\n
> + \ </direction>\r\n <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-INTERNET</from>\r\n
> + \ <policies>\r\n <policy>\r\n <action>Deny</action>\r\n
> + \ <dst />\r\n <dstPort />\r\n <dstService
> + />\r\n <dstType />\r\n <id>50000</id>\r\n <log>On</log>\r\n
> + \ <protocol />\r\n <src />\r\n <srcPort
> + />\r\n <srcType />\r\n </policy>\r\n </policies>\r\n
> + \ </direction>\r\n <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-INTRANET</from>\r\n
> + \ <policies>\r\n <policy>\r\n <action>Deny</action>\r\n
> + \ <dst />\r\n <dstPort />\r\n <dstService
> + />\r\n <dstType />\r\n <id>50000</id>\r\n <log>On</log>\r\n
> + \ <protocol />\r\n <src />\r\n <srcPort
> + />\r\n <srcType />\r\n </policy>\r\n </policies>\r\n
> + \ </direction>\r\n <direction>\r\n <from>UZXC0GRT-ZG8ZJCJ07-N-SECURE1</from>\r\n
> + \ <policies>\r\n <policy>\r\n <action>Deny</action>\r\n
> + \ <dst />\r\n <dstPort />\r\n <dstService
> + />\r\n <dstType />\r\n <id>50000</id>\r\n <log>On</log>\r\n
> + \ <protocol />\r\n <src />\r\n <srcPort
> + />\r\n <srcType />\r\n </policy>\r\n </policies>\r\n
> + \ </direction>\r\n </directions>\r\n <status>RUNNING</status>\r\n
> + \ </firewall>\r\n </efm>\r\n <responseMessage>Processing was completed.</responseMessage>\r\n
> + \ <responseStatus>SUCCESS</responseStatus>\r\n</GetEFMConfigurationResponse>\r\n\r\n"
> + http_version:
> + recorded_at: Mon, 11 Mar 2013 03:23:58 GMT
> +- request:
> + method: get
> + uri: https://api.globalcloud.fujitsu.com.au/ovissapi/endpoint?AccessKeyId=QVVTIEVhc3Rlcm4gRGF5bGlnaHQgVGltZSYxMzYyOTcyMjM4MDAwJjEuMCZT%0ASEExd2l0aFJTQQ==%0A&Action=GetVSYSAttributes&Locale=en&Signature=WujA3/naQV5uqV8c9MYQf5HsZVmp6QqbGrE9OGCpYlJ+84tyzr5d2SV68VC4%0ASeibw2BCSJHN24YoDSX7ZHAcOg8CS+uL9wZRGwbgqd1vCab7d5eSx8kKNWQt%0ADl7yyKvXvU4HgCiUk5yDwHhwgHdf0LppCdZAWwYivMZLQTzMwfV/Vn2Rjtoq%0APuZrWW8eV0FFrcivZH+pcA6+i7RSK2tO0yYu2abcpio4y+U9uihR2QxRR/CR%0A1Fe9tFLmWb89VTbBSwlP6UWk4NrVaHsun0852waivhRyOYR3/VfhxG8D08W1%0AJOAE898ECXZdyC3VvxkoUFfifillyb962pvYLWyB3A==%0A&Version=2011-01-31&vsysId=UZXC0GRT-ZG8ZJCJ07
> + body:
> + encoding: US-ASCII
> + string: ''
> + headers:
> + Accept:
> + - text/xml
> + User-Agent:
> + - OViSS-API-CLIENT
> + Content-Type:
> + - multipart/form-data; boundary=BOUNDARY1362972237
> + response:
> + status:
> + code: 200
> + message: OK
> + headers:
> + Date:
> + - Mon, 11 Mar 2013 03:23:58 GMT
> + Set-Cookie:
> + - JSESSIONID=0496FF17F3F40CF32E5371CD0E7769BC; Path=/ovisspxy; Secure
> + Content-Type:
> + - text/xml;charset=UTF-8
> + Connection:
> + - close
> + Transfer-Encoding:
> + - chunked
> + body:
> + encoding: US-ASCII
> + string: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<GetVSYSAttributesResponse
> + xmlns=\"http://apioviss.jp.fujitsu.com\">\r\n <responseMessage>Processing
> + was completed.</responseMessage>\r\n <responseStatus>SUCCESS</responseStatus>\r\n
> + \ <vsys>\r\n <baseDescriptor>2-tier Skeleton</baseDescriptor>\r\n <creator>UZXC0GRT</creator>\r\n
> + \ <description>2-tier Skeleton</description>\r\n <vsysId>UZXC0GRT-ZG8ZJCJ07</vsysId>\r\n
> + \ <vsysName>Dies-DC-test</vsysName>\r\n </vsys>\r\n</GetVSYSAttributesResponse>\r\n\r\n"
> + http_version:
> + recorded_at: Mon, 11 Mar 2013 03:23:58 GMT
> +recorded_with: VCR 2.4.0
> --
> 1.8.0.msysgit.0
>
>
--
Michal Fojtik <mf...@redhat.com>
Deltacloud API, CloudForms