occi 3.0.0 → 3.1.0.beta.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +0 -1
- data/.travis.yml +26 -2
- data/Gemfile +5 -2
- data/Gemfile.lock +42 -26
- data/README.md +64 -4
- data/Rakefile +7 -3
- data/bin/occi +15 -58
- data/config/warble.rb +151 -0
- data/doc/macosx.md +27 -0
- data/examples/dsl_example.rb +16 -7
- data/examples/x509auth_example.rb +13 -7
- data/ext/mkrf_conf.rb +4 -3
- data/features/common/step_definitions/common_steps.rb +9 -9
- data/lib/occi/api/client/client_amqp.rb +25 -14
- data/lib/occi/api/client/client_http.rb +173 -156
- data/lib/occi/api/client/http/authn_utils.rb +82 -0
- data/lib/occi/bin/helpers.rb +84 -26
- data/lib/occi/bin/occi_opts.rb +166 -48
- data/lib/occi/version.rb +1 -1
- data/occi.gemspec +1 -1
- data/spec/occi/api/client/client_amqp_spec.rb +6 -3
- data/spec/occi/api/client/client_http_spec.rb +16 -16
- data/spec/occi/api/client/http/authn_utils_spec.rb +55 -0
- data/spec/occi/api/client/http/httparty_fix_spec.rb +0 -0
- data/spec/occi/api/client/http/net_http_fix_spec.rb +0 -0
- data/spec/occi/api/client/http/rocci-cred-cert.pem +3 -0
- data/spec/occi/api/client/http/rocci-cred-key-jruby.pem +3 -0
- data/spec/occi/api/client/http/rocci-cred-key.pem +3 -0
- data/spec/occi/api/client/http/rocci-cred.p12 +0 -0
- data/spec/occi/bin/helpers_spec.rb +12 -0
- data/spec/occi/bin/occi_opts_spec.rb +60 -0
- data/spec/occi/bin/resource_output_factory_spec.rb +12 -0
- data/spec/spec_helper.rb +26 -0
- metadata +35 -86
@@ -0,0 +1,55 @@
|
|
1
|
+
require 'rspec'
|
2
|
+
require 'occi/api/client/http/authn_utils'
|
3
|
+
|
4
|
+
module Occi
|
5
|
+
module Api
|
6
|
+
module Client
|
7
|
+
|
8
|
+
describe AuthnUtils do
|
9
|
+
|
10
|
+
it "can handle PKCS#12 user credentials" do
|
11
|
+
path = File.expand_path("..", __FILE__)
|
12
|
+
|
13
|
+
pem_cert_pk = AuthnUtils.extract_pem_from_pkcs12(
|
14
|
+
path + "/rocci-cred.p12",
|
15
|
+
"passworD123"
|
16
|
+
)
|
17
|
+
|
18
|
+
pem_cert_ok = File.open(path + "/rocci-cred-cert.pem", "rb").read
|
19
|
+
|
20
|
+
if defined? JRUBY_VERSION
|
21
|
+
# PK is in PKCS#8 when running jRuby
|
22
|
+
pem_pk_ok = File.open(path + "/rocci-cred-key-jruby.pem", "rb").read
|
23
|
+
else
|
24
|
+
# PK is raw RSA key when running cRuby
|
25
|
+
pem_pk_ok = File.open(path + "/rocci-cred-key.pem", "rb").read
|
26
|
+
end
|
27
|
+
|
28
|
+
pem_cert_pk_ok = ""
|
29
|
+
pem_cert_pk_ok << pem_cert_ok << pem_pk_ok
|
30
|
+
|
31
|
+
|
32
|
+
# remove line wrapping
|
33
|
+
pem_cert_pk.delete! "\n"
|
34
|
+
pem_cert_pk_ok.delete! "\n"
|
35
|
+
|
36
|
+
# remove trailing new lines
|
37
|
+
pem_cert_pk.chomp!
|
38
|
+
pem_cert_pk_ok.chomp!
|
39
|
+
|
40
|
+
pem_cert_pk.should eq pem_cert_pk_ok
|
41
|
+
end
|
42
|
+
|
43
|
+
it "can read CA certificates from a file" do
|
44
|
+
path = File.expand_path("..", __FILE__)
|
45
|
+
|
46
|
+
ca_certs = AuthnUtils.certs_to_file_ary(path + "/rocci-cred-cert.pem")
|
47
|
+
|
48
|
+
ca_certs.should =~ [File.open(path + "/rocci-cred-cert.pem", "rb").read]
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
File without changes
|
File without changes
|
@@ -0,0 +1,3 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIEFzCCAv+gAwIBAgIDEAABMA0GCSqGSIb3DQEBBQUAMIGWMQswCQYDVQQGEwJDWjEXMBUGA1UECAwOQ3plY2ggUmVwdWJsaWMxDTALBgNVBAcMBEJybm8xFTATBgNVBAoMDEZha2UgQ0EgaW5jLjERMA8GA1UECwwIck9DQ0kgQ0ExFTATBgNVBAMMDHJPQ0NJIHRlc3RlcjEeMBwGCSqGSIb3DQEJARYPc2VleWFAbG9jYWxob3N0MB4XDTEzMDIwODAxNTkzNloXDTIzMDIwNjAxNTkzNlowgYcxCzAJBgNVBAYTAkNaMRcwFQYDVQQIDA5DemVjaCBSZXB1YmxpYzEVMBMGA1UECgwMRmFrZSBDQSBpbmMuMREwDwYDVQQLDAhyT0NDSSBDQTEVMBMGA1UEAwwMck9DQ0kgdGVzdGVyMR4wHAYJKoZIhvcNAQkBFg9zZWV5YUBsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDcjeRWvUe+p+bOTgl0JtUWpHCDrSoV5DQD59Rinol+1+471JDF6wloBrmo7nCyLtOpDUDUcRZIp9UKCZZLqx0FhmUySFCjU7wBtU1+IOhbEVH97+pff/2x9920C9uyV/06Vr7Ch8G8fYOZCplrmmWs5wj88mUSQBtSYMOZNQxkX18tj3oKgvLhAlRYoIAYJgkhFUsXegMUc7NRa9Kpt2ag2C7eKs9VMZuI9XF+e6xPK6lUPFV8lWzfKtrhiUkmEMbzb0A3CQLZNw8IPXYjNm4daoeZSZkLY9P6KlIXJnBZX1DfJ1WdpS19GUVlU7EmRqwccOeT7FkS3MAR8nK35nOVAgMBAAGjezB5MAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBTcmlZ0FPwCBm+9huhalzJjpeqnHTAfBgNVHSMEGDAWgBSpNuMNySOjsarUO20BwqS+56i5gjANBgkqhkiG9w0BAQUFAAOCAQEAtd3IEWcifc9jz594PMz44AiilgHWFAizjB58PWAXXpbRylhAxFBbhXxmSLmxBEsJNmf+l5S5EV5LjFVbuFzF05CzWZpkvS6Md+zgp6y0K6ZRfZpB9FESiPYPVrh+AgGQGaJCnY9WQPG9ySMBTt6FfqggiuK3I2d6b6CyNjt0GFEzFzaP40Y7zIjUT+gEbJJrp/OFmbYYTdRv1dXMT8TzImhew7C2LcOYN4+L5s0+Yl2m4LDNDHsCbvGhixj2hxTdLm+ervsc7gsb3s9j9LXL7wZlO4cqmd9xZ/hYl+zYSgMAQaZc9QAteL/o7M4a2INxgsAu5vWZKaV5geqRSu3tdg==
|
3
|
+
-----END CERTIFICATE-----
|
@@ -0,0 +1,3 @@
|
|
1
|
+
-----BEGIN PRIVATE KEY-----
|
2
|
+
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDcjeRWvUe+p+bOTgl0JtUWpHCDrSoV5DQD59Rinol+1+471JDF6wloBrmo7nCyLtOpDUDUcRZIp9UKCZZLqx0FhmUySFCjU7wBtU1+IOhbEVH97+pff/2x9920C9uyV/06Vr7Ch8G8fYOZCplrmmWs5wj88mUSQBtSYMOZNQxkX18tj3oKgvLhAlRYoIAYJgkhFUsXegMUc7NRa9Kpt2ag2C7eKs9VMZuI9XF+e6xPK6lUPFV8lWzfKtrhiUkmEMbzb0A3CQLZNw8IPXYjNm4daoeZSZkLY9P6KlIXJnBZX1DfJ1WdpS19GUVlU7EmRqwccOeT7FkS3MAR8nK35nOVAgMBAAECggEAS3pTlkuYberP1fJm0dUoP2NvDeEI8gzysBN6X3WZ4ErNQLRyBwl0YqFKkEFpV9Empkfe09UPpzWodpLpWGPqvqVLpHWTAxH42SzOpEdmvSOkR57/Okd27pzAxoj4WoQ6KOjex3vmFTdu/cTe1DA2c4FtVgMuC5zcvMhYp+m7n+1Q5Y/MFWgatMh5Oo20q34CzLNkJ1w0sZfKd8+yhFZc6PJRqp4obJTWALL5EJNxLxw8vzXfnn8y69VZWIqMHHE6QqgZGj6T9aXhDKpjgao6n0zXQu7GrGSz+KxefqEAEV8YyZMeCkFEBMmOS/huWotlzhj8ALtq7vm7JMgIkTDz0QKBgQDu7ezX3UC3JskQOoXKPuwUAdkoL1C7O6k/A8meHzrSvPTnPzdmO7Zj8nZOG58O5cFAh6jT+2k0xa/TrvWUgdD7Xiaw7pWk/MBAEqdReYaAHl6Q440fkvWS4Qn/VP0ZAXwHmqO3zdHRlHE8HsKzqPIjOaU2stNwvgqS2QZs5MOybwKBgQDsT+GfJlESE/MRZ04VZTn6HQSy4NocRPJ+t7ddFYxoETBGDtAg4lvSNhpl9aTY625iGASFVec3A8pSPIgOO4q7yX0FyEtkNHhgKnbGVZzLyBTiHv+eMDVFGauWV7HTUjxiasalSLAtUKVC+AzsSdrDT2HhEt7KK5W/erkw3ZLsOwKBgBJqHfXpJIK5J4frqsISpWlJVy5Er0ku6PVlWlWofIUfcRSdh6yGb6E2X63XbSPdy04o5ncoCky567o54s2GT8//yqWaTchAfqSxi1m5LweSz6EFGKxVTD38wCOArl0OAzwmy/VvlHs9oJiMml70Z20VlUko8SjgTLpSpa8g1oBbAoGBAOP33+m/diAhfLDCXvKG99pQWjMSdXcmEGWsZ8j1u8C9LDu5mJDQrdHp/ad0xPW6kX8yOlJC384T6v9Qg9RvHlQweVq1sf1WHPZwoKqO9rckKvlE/EWnrgweSoi7ysHZKIWtCjtzFvpwPS2QzC66xL77+qm9oY2ZZFoXU0ZPyqf3AoGATw1FWCPsdyC8iA4D9UlWvK5JskLxlNr0OZGgjo1rc+n+oopgn/GxxyMHhwaUZpftA1ab1G58xGnlcjCkhr2ZK/7XNhb7SfLKxTjB2BAehaq2YyzwCpsKUI7oLi0wTt7mD51qh3B1fMSTkfBZg/prwq6nIaDBwXL1xsd/BPfMCYw=
|
3
|
+
-----END PRIVATE KEY-----
|
@@ -0,0 +1,3 @@
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
2
|
+
MIIEowIBAAKCAQEA3I3kVr1Hvqfmzk4JdCbVFqRwg60qFeQ0A+fUYp6JftfuO9SQxesJaAa5qO5wsi7TqQ1A1HEWSKfVCgmWS6sdBYZlMkhQo1O8AbVNfiDoWxFR/e/qX3/9sffdtAvbslf9Ola+wofBvH2DmQqZa5plrOcI/PJlEkAbUmDDmTUMZF9fLY96CoLy4QJUWKCAGCYJIRVLF3oDFHOzUWvSqbdmoNgu3irPVTGbiPVxfnusTyupVDxVfJVs3yra4YlJJhDG829ANwkC2TcPCD12IzZuHWqHmUmZC2PT+ipSFyZwWV9Q3ydVnaUtfRlFZVOxJkasHHDnk+xZEtzAEfJyt+ZzlQIDAQABAoIBAEt6U5ZLmG3qz9XyZtHVKD9jbw3hCPIM8rATel91meBKzUC0cgcJdGKhSpBBaVfRJqZH3tPVD6c1qHaS6Vhj6r6lS6R1kwMR+NkszqRHZr0jpEee/zpHdu6cwMaI+FqEOijo3sd75hU3bv3E3tQwNnOBbVYDLguc3LzIWKfpu5/tUOWPzBVoGrTIeTqNtKt+AsyzZCdcNLGXynfPsoRWXOjyUaqeKGyU1gCy+RCTcS8cPL81355/MuvVWViKjBxxOkKoGRo+k/Wl4QyqY4GqOp9M10Luxqxks/isXn6hABFfGMmTHgpBRATJjkv4blqLZc4Y/AC7au75uyTICJEw89ECgYEA7u3s191AtybJEDqFyj7sFAHZKC9QuzupPwPJnh860rz05z83Zju2Y/J2ThufDuXBQIeo0/tpNMWv0671lIHQ+14msO6VpPzAQBKnUXmGgB5ekOONH5L1kuEJ/1T9GQF8B5qjt83R0ZRxPB7Cs6jyIzmlNrLTcL4KktkGbOTDsm8CgYEA7E/hnyZREhPzEWdOFWU5+h0EsuDaHETyfre3XRWMaBEwRg7QIOJb0jYaZfWk2OtuYhgEhVXnNwPKUjyIDjuKu8l9BchLZDR4YCp2xlWcy8gU4h7/njA1RRmrllex01I8YmrGpUiwLVClQvgM7Enaw09h4RLeyiuVv3q5MN2S7DsCgYASah316SSCuSeH66rCEqVpSVcuRK9JLuj1ZVpVqHyFH3EUnYeshm+hNl+t120j3ctOKOZ3KApMueu6OeLNhk/P/8qlmk3IQH6ksYtZuS8Hks+hBRisVUw9/MAjgK5dDgM8Jsv1b5R7PaCYjJpe9GdtFZVJKPEo4Ey6UqWvINaAWwKBgQDj99/pv3YgIXywwl7yhvfaUFozEnV3JhBlrGfI9bvAvSw7uZiQ0K3R6f2ndMT1upF/MjpSQt/OE+r/UIPUbx5UMHlatbH9Vhz2cKCqjva3JCr5RPxFp64MHkqIu8rB2SiFrQo7cxb6cD0tkMwuusS++/qpvaGNmWRaF1NGT8qn9wKBgE8NRVgj7HcgvIgOA/VJVryuSbJC8ZTa9DmRoI6Na3Pp/qKKYJ/xsccjB4cGlGaX7QNWm9RufMRp5XIwpIa9mSv+1zYW+0nyysU4wdgQHoWqtmMs8AqbClCO6C4tME7e5g+daodwdXzEk5HwWYP6a8KupyGgwcFy9cbHfwT3zAmM
|
3
|
+
-----END RSA PRIVATE KEY-----
|
Binary file
|
@@ -0,0 +1,60 @@
|
|
1
|
+
require 'rspec'
|
2
|
+
require 'occi/bin/occi_opts'
|
3
|
+
|
4
|
+
module Occi
|
5
|
+
module Bin
|
6
|
+
describe OcciOpts do
|
7
|
+
|
8
|
+
it "terminates without arguments" do
|
9
|
+
expect{Occi::Bin::OcciOpts.parse [], true}.to raise_error(SystemExit)
|
10
|
+
end
|
11
|
+
|
12
|
+
it "terminates when it encounters an unknown argument" do
|
13
|
+
expect{Occi::Bin::OcciOpts.parse ["--non-existent", "fake"], true}.to raise_error(SystemExit)
|
14
|
+
end
|
15
|
+
|
16
|
+
it "parses minimal number of required arguments without errors" do
|
17
|
+
expect{Occi::Bin::OcciOpts.parse ["--resource", "compute", "--action", "list"], true}.not_to raise_error(SystemExit)
|
18
|
+
end
|
19
|
+
|
20
|
+
it "parses resource and action arguments without errors" do
|
21
|
+
begin
|
22
|
+
parsed = Occi::Bin::OcciOpts.parse ["--resource", "compute", "--action", "list"], true
|
23
|
+
rescue SystemExit
|
24
|
+
fail
|
25
|
+
end
|
26
|
+
|
27
|
+
parsed.should_not be_nil
|
28
|
+
|
29
|
+
parsed.resource.should_not be_nil
|
30
|
+
parsed.action.should_not be_nil
|
31
|
+
|
32
|
+
parsed.resource.should eq("compute")
|
33
|
+
parsed.action.should eq(:list)
|
34
|
+
end
|
35
|
+
|
36
|
+
it "shows version"
|
37
|
+
|
38
|
+
it "shows help"
|
39
|
+
|
40
|
+
it "doesn't accept unsupported authN methods"
|
41
|
+
|
42
|
+
it "doesn't accept an invalid URI as an endpoint"
|
43
|
+
|
44
|
+
it "doesn't accept an invalid URI as a resource"
|
45
|
+
|
46
|
+
it "doesn't accept unsupported actions"
|
47
|
+
|
48
|
+
it "doesn't allow create actions without attributes present"
|
49
|
+
|
50
|
+
it "doesn't allow create actions without either link(s) or mixin(s)"
|
51
|
+
|
52
|
+
it "doesn't allow create actions without attribute 'title' present"
|
53
|
+
|
54
|
+
it "doesn't accept malformed mixins"
|
55
|
+
|
56
|
+
it "doesn't accept malformed attributes"
|
57
|
+
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,16 +1,42 @@
|
|
1
|
+
# make sure the local files will be loaded first;
|
2
|
+
# this should prevent installed versions of this
|
3
|
+
# gem to be included in the testing process
|
4
|
+
$:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
5
|
+
$:.unshift(File.dirname(__FILE__))
|
6
|
+
|
7
|
+
# enable coverage reports
|
1
8
|
if ENV['COVERAGE']
|
2
9
|
require 'simplecov'
|
3
10
|
SimpleCov.start
|
4
11
|
end
|
5
12
|
|
13
|
+
# enable VCR integration;
|
14
|
+
# this allows us to record and re-play network
|
15
|
+
# communication between client and server
|
16
|
+
# using so called cassettes (YAML)
|
6
17
|
require 'vcr'
|
7
18
|
|
19
|
+
# enable VCR for HTTP/HTTPS connections
|
20
|
+
# using RSPEC metadata integration;
|
21
|
+
# this will automatically generate a named
|
22
|
+
# cassette for each unit test
|
8
23
|
VCR.configure do |c|
|
9
24
|
c.hook_into :webmock
|
10
25
|
c.cassette_library_dir = 'spec/cassettes'
|
11
26
|
c.configure_rspec_metadata!
|
12
27
|
end
|
13
28
|
|
29
|
+
# simplify the usage of VCR; this will allow us to use
|
30
|
+
#
|
31
|
+
# it "does something", :vcr do
|
32
|
+
# ...
|
33
|
+
# end
|
34
|
+
#
|
35
|
+
# instead of
|
36
|
+
#
|
37
|
+
# it "does something else", :vcr => true do
|
38
|
+
# ...
|
39
|
+
# end
|
14
40
|
RSpec.configure do |c|
|
15
41
|
# in RSpec 3 this will no longer be necessary.
|
16
42
|
c.treat_symbols_as_metadata_keys_with_true_values = true
|
metadata
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: occi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
5
|
-
prerelease:
|
4
|
+
version: 3.1.0.beta.1
|
5
|
+
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Florian Feldhaus
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2013-01
|
14
|
+
date: 2013-03-01 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: json
|
@@ -317,6 +317,22 @@ dependencies:
|
|
317
317
|
- - ! '>='
|
318
318
|
- !ruby/object:Gem::Version
|
319
319
|
version: '0'
|
320
|
+
- !ruby/object:Gem::Dependency
|
321
|
+
name: rubygems-tasks
|
322
|
+
requirement: !ruby/object:Gem::Requirement
|
323
|
+
none: false
|
324
|
+
requirements:
|
325
|
+
- - ! '>='
|
326
|
+
- !ruby/object:Gem::Version
|
327
|
+
version: '0'
|
328
|
+
type: :development
|
329
|
+
prerelease: false
|
330
|
+
version_requirements: !ruby/object:Gem::Requirement
|
331
|
+
none: false
|
332
|
+
requirements:
|
333
|
+
- - ! '>='
|
334
|
+
- !ruby/object:Gem::Version
|
335
|
+
version: '0'
|
320
336
|
- !ruby/object:Gem::Dependency
|
321
337
|
name: webmock
|
322
338
|
requirement: !ruby/object:Gem::Requirement
|
@@ -356,6 +372,8 @@ files:
|
|
356
372
|
- README.md
|
357
373
|
- Rakefile
|
358
374
|
- bin/occi
|
375
|
+
- config/warble.rb
|
376
|
+
- doc/macosx.md
|
359
377
|
- examples/dsl_example.rb
|
360
378
|
- examples/x509auth_example.rb
|
361
379
|
- ext/mkrf_conf.rb
|
@@ -386,6 +404,7 @@ files:
|
|
386
404
|
- lib/occi.rb
|
387
405
|
- lib/occi/api/client/client_amqp.rb
|
388
406
|
- lib/occi/api/client/client_http.rb
|
407
|
+
- lib/occi/api/client/http/authn_utils.rb
|
389
408
|
- lib/occi/api/client/http/httparty_fix.rb
|
390
409
|
- lib/occi/api/client/http/net_http_fix.rb
|
391
410
|
- lib/occi/api/dsl.rb
|
@@ -478,7 +497,17 @@ files:
|
|
478
497
|
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/triggers_an_action_on_a_storage_resource.yml
|
479
498
|
- spec/occi/api/client/client_amqp_spec.rb
|
480
499
|
- spec/occi/api/client/client_http_spec.rb
|
500
|
+
- spec/occi/api/client/http/authn_utils_spec.rb
|
501
|
+
- spec/occi/api/client/http/httparty_fix_spec.rb
|
502
|
+
- spec/occi/api/client/http/net_http_fix_spec.rb
|
503
|
+
- spec/occi/api/client/http/rocci-cred-cert.pem
|
504
|
+
- spec/occi/api/client/http/rocci-cred-key-jruby.pem
|
505
|
+
- spec/occi/api/client/http/rocci-cred-key.pem
|
506
|
+
- spec/occi/api/client/http/rocci-cred.p12
|
481
507
|
- spec/occi/api/dsl_spec.rb
|
508
|
+
- spec/occi/bin/helpers_spec.rb
|
509
|
+
- spec/occi/bin/occi_opts_spec.rb
|
510
|
+
- spec/occi/bin/resource_output_factory_spec.rb
|
482
511
|
- spec/occi/collection_spec.rb
|
483
512
|
- spec/occi/core/categories_spec.rb
|
484
513
|
- spec/occi/core/category_spec.rb
|
@@ -508,93 +537,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
508
537
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
509
538
|
none: false
|
510
539
|
requirements:
|
511
|
-
- - ! '
|
540
|
+
- - ! '>'
|
512
541
|
- !ruby/object:Gem::Version
|
513
|
-
version:
|
542
|
+
version: 1.3.1
|
514
543
|
requirements: []
|
515
544
|
rubyforge_project:
|
516
545
|
rubygems_version: 1.8.24
|
517
546
|
signing_key:
|
518
547
|
specification_version: 3
|
519
548
|
summary: OCCI toolkit
|
520
|
-
test_files:
|
521
|
-
- features/cassettes/Create_an_OCCI_Resource/_http_http___141_5_99_69__text_plain_201_.yml
|
522
|
-
- features/cassettes/Delete_an_OCCI_Resource/_http_http___141_5_99_69__text_plain_201_.yml
|
523
|
-
- features/cassettes/Discovery_Interface/Retrieving_all_OCCI_Categories_supported_by_the_OCCI_Server/_http_http___141_5_99_69__application_json_200_.yml
|
524
|
-
- features/cassettes/Discovery_Interface/Retrieving_all_OCCI_Categories_supported_by_the_OCCI_Server/_http_http___141_5_99_69__text_plain_200_.yml
|
525
|
-
- features/cassettes/Discovery_Interface/Retrieving_all_OCCI_Categories_supported_by_the_OCCI_Server/_http_http___141_5_99_69__text_plain_200_action_.yml
|
526
|
-
- features/cassettes/Miscellaneous_operation_on_an_OCCI_Resource/_http_http___141_5_99_69__text_plain_201_.yml
|
527
|
-
- features/cassettes/Read_an_OCCI_Resource/_http_http___141_5_99_69__text_plain_201_.yml
|
528
|
-
- features/cassettes/Update_an_OCCI_Resource/_http_http___141_5_99_69__text_plain_201_.yml
|
529
|
-
- features/common/step_definitions/common_steps.rb
|
530
|
-
- features/occi/core/create/create.feature
|
531
|
-
- features/occi/core/create/step_definitions/create_steps.rb
|
532
|
-
- features/occi/core/delete/delete.feature
|
533
|
-
- features/occi/core/delete/step_definitions/delete_steps.rb
|
534
|
-
- features/occi/core/discovery_interface/discovery_interface.feature
|
535
|
-
- features/occi/core/discovery_interface/step_definitions/discovery_interface_steps.rb
|
536
|
-
- features/occi/core/miscellaneous/miscellaneous.feature
|
537
|
-
- features/occi/core/miscellaneous/step_definitions/miscellaneous_steps.rb
|
538
|
-
- features/occi/core/read/read.feature
|
539
|
-
- features/occi/core/read/step_definitions/read_steps.rb
|
540
|
-
- features/occi/core/update/step_definitions/update_steps.rb
|
541
|
-
- features/occi/core/update/update.feature
|
542
|
-
- features/occi/infrastructure/create/create.feature
|
543
|
-
- features/occi/infrastructure/create/step_definitions/create_steps.rb
|
544
|
-
- features/support/env.rb
|
545
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/creates_a_new_compute_resource.yml
|
546
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/creates_a_new_network_resource.yml
|
547
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/creates_a_new_storage_resource.yml
|
548
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/deletes_a_compute_resource.yml
|
549
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/deletes_a_network_resource.yml
|
550
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/deletes_a_storage_resource.yml
|
551
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/deploys_an_instance_based_on_OVF_OVA_file.yml
|
552
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/describes_all_available_mixins.yml
|
553
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/describes_compute_resources.yml
|
554
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/describes_network_resources.yml
|
555
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/describes_os_tpl_mixins.yml
|
556
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/describes_resource_tpl_mixins.yml
|
557
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/describes_storage_resources.yml
|
558
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/establishes_connection.yml
|
559
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/instantiates_a_compute_resource_using_type_identifier.yml
|
560
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/instantiates_a_compute_resource_using_type_name.yml
|
561
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/instantiates_a_network_resource_using_type_identifier.yml
|
562
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/instantiates_a_network_resource_using_type_name.yml
|
563
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/instantiates_a_storage_resource_using_type_identifier.yml
|
564
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/instantiates_a_storage_resource_using_type_name.yml
|
565
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/lists_all_available_entity_type_identifiers.yml
|
566
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/lists_all_available_entity_types.yml
|
567
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/lists_all_available_link_type_identifiers.yml
|
568
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/lists_all_available_link_types.yml
|
569
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/lists_all_available_mixin_type_identifiers.yml
|
570
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/lists_all_available_mixin_types.yml
|
571
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/lists_all_available_mixins.yml
|
572
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/lists_all_available_resource_type_identifiers.yml
|
573
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/lists_all_available_resource_types.yml
|
574
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/lists_compute_resources.yml
|
575
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/lists_network_resources.yml
|
576
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/lists_os_tpl_mixins.yml
|
577
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/lists_resource_tpl_mixins.yml
|
578
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/lists_storage_resources.yml
|
579
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/refreshes_its_model.yml
|
580
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/triggers_an_action_on_a_compute_resource.yml
|
581
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/triggers_an_action_on_a_network_resource.yml
|
582
|
-
- spec/cassettes/Occi_Api_Client_ClientHttp/using_media_type_text_plain/triggers_an_action_on_a_storage_resource.yml
|
583
|
-
- spec/occi/api/client/client_amqp_spec.rb
|
584
|
-
- spec/occi/api/client/client_http_spec.rb
|
585
|
-
- spec/occi/api/dsl_spec.rb
|
586
|
-
- spec/occi/collection_spec.rb
|
587
|
-
- spec/occi/core/categories_spec.rb
|
588
|
-
- spec/occi/core/category_spec.rb
|
589
|
-
- spec/occi/core/entity_spec.rb
|
590
|
-
- spec/occi/core/resource_spec.rb
|
591
|
-
- spec/occi/infrastructure/compute_spec.rb
|
592
|
-
- spec/occi/log_spec.rb
|
593
|
-
- spec/occi/model_spec.rb
|
594
|
-
- spec/occi/parser_spec.rb
|
595
|
-
- spec/occi/test.json
|
596
|
-
- spec/occi/test.ova
|
597
|
-
- spec/occi/test.ovf
|
598
|
-
- spec/occiantlr/parser_spec.rb
|
599
|
-
- spec/spec_helper.rb
|
600
|
-
has_rdoc:
|
549
|
+
test_files: []
|