fog-digitalocean 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (152) hide show
  1. checksums.yaml +7 -0
  2. data/.coveralls.yml +1 -0
  3. data/.document +3 -0
  4. data/.gitignore +30 -0
  5. data/.irbrc +82 -0
  6. data/.rubocop.yml +20 -0
  7. data/.rubocop_todo.yml +606 -0
  8. data/.travis.yml +35 -0
  9. data/CHANGELOG.md +3 -0
  10. data/CONTRIBUTING.md +276 -0
  11. data/CONTRIBUTORS.md +898 -0
  12. data/Gemfile +5 -0
  13. data/LICENSE.md +20 -0
  14. data/README.md +130 -0
  15. data/RELEASE.md +40 -0
  16. data/Rakefile +12 -0
  17. data/benchs/each_provider.sh +6 -0
  18. data/benchs/each_service.sh +6 -0
  19. data/benchs/fog_vs.rb +106 -0
  20. data/benchs/load_times.rb +37 -0
  21. data/benchs/params.rb +43 -0
  22. data/benchs/parse_vs_push.rb +67 -0
  23. data/bin/fog +78 -0
  24. data/fog-digitalocean.gemspec +61 -0
  25. data/gemfiles/Gemfile-edge +14 -0
  26. data/lib/fog/digitalocean.rb +1 -0
  27. data/lib/fog/digitalocean/CHANGELOG.md +6 -0
  28. data/lib/fog/digitalocean/compute.rb +109 -0
  29. data/lib/fog/digitalocean/core.rb +9 -0
  30. data/lib/fog/digitalocean/examples/getting_started.md +123 -0
  31. data/lib/fog/digitalocean/models/compute/flavor.rb +17 -0
  32. data/lib/fog/digitalocean/models/compute/flavors.rb +21 -0
  33. data/lib/fog/digitalocean/models/compute/image.rb +25 -0
  34. data/lib/fog/digitalocean/models/compute/images.rb +42 -0
  35. data/lib/fog/digitalocean/models/compute/region.rb +13 -0
  36. data/lib/fog/digitalocean/models/compute/regions.rb +21 -0
  37. data/lib/fog/digitalocean/models/compute/server.rb +170 -0
  38. data/lib/fog/digitalocean/models/compute/servers.rb +43 -0
  39. data/lib/fog/digitalocean/models/compute/ssh_key.rb +31 -0
  40. data/lib/fog/digitalocean/models/compute/ssh_keys.rb +40 -0
  41. data/lib/fog/digitalocean/models/paging_collection.rb +42 -0
  42. data/lib/fog/digitalocean/requests/compute/change_kernel.rb +44 -0
  43. data/lib/fog/digitalocean/requests/compute/convert_to_snapshot.rb +44 -0
  44. data/lib/fog/digitalocean/requests/compute/create_server.rb +93 -0
  45. data/lib/fog/digitalocean/requests/compute/create_ssh_key.rb +49 -0
  46. data/lib/fog/digitalocean/requests/compute/delete_ssh_key.rb +32 -0
  47. data/lib/fog/digitalocean/requests/compute/destroy_server.rb +35 -0
  48. data/lib/fog/digitalocean/requests/compute/disable_backups.rb +45 -0
  49. data/lib/fog/digitalocean/requests/compute/enable_ipv6.rb +44 -0
  50. data/lib/fog/digitalocean/requests/compute/enable_private_networking.rb +44 -0
  51. data/lib/fog/digitalocean/requests/compute/get_droplet_action.rb +36 -0
  52. data/lib/fog/digitalocean/requests/compute/get_image_details.rb +42 -0
  53. data/lib/fog/digitalocean/requests/compute/get_server_details.rb +84 -0
  54. data/lib/fog/digitalocean/requests/compute/get_ssh_key.rb +34 -0
  55. data/lib/fog/digitalocean/requests/compute/list_droplet_actions.rb +38 -0
  56. data/lib/fog/digitalocean/requests/compute/list_flavors.rb +132 -0
  57. data/lib/fog/digitalocean/requests/compute/list_images.rb +51 -0
  58. data/lib/fog/digitalocean/requests/compute/list_regions.rb +95 -0
  59. data/lib/fog/digitalocean/requests/compute/list_servers.rb +33 -0
  60. data/lib/fog/digitalocean/requests/compute/list_ssh_keys.rb +41 -0
  61. data/lib/fog/digitalocean/requests/compute/password_reset.rb +44 -0
  62. data/lib/fog/digitalocean/requests/compute/power_cycle.rb +44 -0
  63. data/lib/fog/digitalocean/requests/compute/power_off.rb +44 -0
  64. data/lib/fog/digitalocean/requests/compute/power_on.rb +44 -0
  65. data/lib/fog/digitalocean/requests/compute/reboot_server.rb +44 -0
  66. data/lib/fog/digitalocean/requests/compute/rebuild.rb +44 -0
  67. data/lib/fog/digitalocean/requests/compute/rename.rb +44 -0
  68. data/lib/fog/digitalocean/requests/compute/resize.rb +48 -0
  69. data/lib/fog/digitalocean/requests/compute/restore.rb +44 -0
  70. data/lib/fog/digitalocean/requests/compute/shutdown.rb +44 -0
  71. data/lib/fog/digitalocean/requests/compute/snapshot.rb +44 -0
  72. data/lib/fog/digitalocean/requests/compute/transfer_image.rb +44 -0
  73. data/lib/fog/digitalocean/requests/compute/update_ssh_key.rb +46 -0
  74. data/lib/fog/digitalocean/requests/compute/upgrade.rb +44 -0
  75. data/lib/fog/digitalocean/service.rb +51 -0
  76. data/lib/fog/digitalocean/version.rb +5 -0
  77. data/spec/fog/account_spec.rb +14 -0
  78. data/spec/fog/billing_spec.rb +14 -0
  79. data/spec/fog/bin/atmos_spec.rb +33 -0
  80. data/spec/fog/bin/aws_spec.rb +98 -0
  81. data/spec/fog/bin/baremetalcloud_spec.rb +33 -0
  82. data/spec/fog/bin/bluebox_spec.rb +55 -0
  83. data/spec/fog/bin/brightbox_spec.rb +30 -0
  84. data/spec/fog/bin/clodo_spec.rb +9 -0
  85. data/spec/fog/bin/cloudsigma_spec.rb +9 -0
  86. data/spec/fog/bin/cloudstack_spec.rb +9 -0
  87. data/spec/fog/bin/digitalocean_spec.rb +9 -0
  88. data/spec/fog/bin/dnsimple_spec.rb +9 -0
  89. data/spec/fog/bin/dnsmadeeasy_spec.rb +9 -0
  90. data/spec/fog/bin/dreamhost_spec.rb +9 -0
  91. data/spec/fog/bin/dynect_spec.rb +9 -0
  92. data/spec/fog/bin/ecloud_spec.rb +10 -0
  93. data/spec/fog/bin/fogdocker_spec.rb +10 -0
  94. data/spec/fog/bin/glesys_spec.rb +10 -0
  95. data/spec/fog/bin/gogrid_spec.rb +10 -0
  96. data/spec/fog/bin/google_spec.rb +10 -0
  97. data/spec/fog/bin/ibm_spec.rb +10 -0
  98. data/spec/fog/bin/internetarchive_spec.rb +10 -0
  99. data/spec/fog/bin/joyent_spec.rb +10 -0
  100. data/spec/fog/bin/linode_spec.rb +10 -0
  101. data/spec/fog/bin/local_spec.rb +10 -0
  102. data/spec/fog/bin/ninefold_spec.rb +10 -0
  103. data/spec/fog/bin/opennebula_spec.rb +10 -0
  104. data/spec/fog/bin/openstack_spec.rb +10 -0
  105. data/spec/fog/bin/openvz_spec.rb +10 -0
  106. data/spec/fog/bin/ovirt_spec.rb +10 -0
  107. data/spec/fog/bin/powerdns_spec.rb +9 -0
  108. data/spec/fog/bin/profitbricks_spec.rb +10 -0
  109. data/spec/fog/bin/rackspace_spec.rb +10 -0
  110. data/spec/fog/bin/rage4_spec.rb +10 -0
  111. data/spec/fog/bin/riakcs_spec.rb +10 -0
  112. data/spec/fog/bin/sakuracloud_spec.rb +10 -0
  113. data/spec/fog/bin/serverlove_spec.rb +10 -0
  114. data/spec/fog/bin/softlayer_spec.rb +10 -0
  115. data/spec/fog/bin/stormondemand_spec.rb +10 -0
  116. data/spec/fog/bin/vcloud_spec.rb +10 -0
  117. data/spec/fog/bin/vclouddirector_spec.rb +10 -0
  118. data/spec/fog/bin/vmfusion_spec.rb +10 -0
  119. data/spec/fog/bin/voxel_spec.rb +10 -0
  120. data/spec/fog/bin/vsphere_spec.rb +10 -0
  121. data/spec/fog/bin/xenserver_spec.rb +10 -0
  122. data/spec/fog/bin/zerigo_spec.rb +10 -0
  123. data/spec/fog/bin_spec.rb +161 -0
  124. data/spec/fog/cdn_spec.rb +14 -0
  125. data/spec/fog/compute_spec.rb +19 -0
  126. data/spec/fog/dns_spec.rb +19 -0
  127. data/spec/fog/identity_spec.rb +14 -0
  128. data/spec/fog/image_spec.rb +14 -0
  129. data/spec/fog/metering_spec.rb +14 -0
  130. data/spec/fog/monitoring_spec.rb +14 -0
  131. data/spec/fog/network_spec.rb +14 -0
  132. data/spec/fog/orchestration_spec.rb +14 -0
  133. data/spec/fog/storage_spec.rb +14 -0
  134. data/spec/fog/support_spec.rb +14 -0
  135. data/spec/fog/volume_spec.rb +14 -0
  136. data/spec/fog/vpn_spec.rb +14 -0
  137. data/spec/fog/xml/connection_spec.rb +33 -0
  138. data/spec/helpers/bin.rb +34 -0
  139. data/spec/spec_helper.rb +18 -0
  140. data/tests/digitalocean/helper.rb +56 -0
  141. data/tests/digitalocean/requests/compute/list_flavors_tests.rb +25 -0
  142. data/tests/digitalocean/requests/compute/list_images_tests.rb +25 -0
  143. data/tests/digitalocean/requests/compute/list_regions_tests.rb +21 -0
  144. data/tests/digitalocean/requests/compute/server_tests.rb +77 -0
  145. data/tests/digitalocean/requests/compute_v2/list_ssh_keys_tests.rb +20 -0
  146. data/tests/helper.rb +25 -0
  147. data/tests/helpers/format_helper.rb +100 -0
  148. data/tests/helpers/mock_helper.rb +14 -0
  149. data/tests/helpers/succeeds_helper.rb +10 -0
  150. data/tests/lorem.txt +1 -0
  151. data/tests/watchr.rb +22 -0
  152. metadata +428 -0
@@ -0,0 +1,10 @@
1
+ require "minitest/autorun"
2
+ require "fog"
3
+ require "fog/bin"
4
+ require "helpers/bin"
5
+
6
+ describe Serverlove do
7
+ include Fog::BinSpec
8
+
9
+ let(:subject) { Serverlove }
10
+ end
@@ -0,0 +1,10 @@
1
+ require "minitest/autorun"
2
+ require "fog"
3
+ require "fog/bin"
4
+ require "helpers/bin"
5
+
6
+ describe Softlayer do
7
+ include Fog::BinSpec
8
+
9
+ let(:subject) { Softlayer }
10
+ end
@@ -0,0 +1,10 @@
1
+ require "minitest/autorun"
2
+ require "fog"
3
+ require "fog/bin"
4
+ require "helpers/bin"
5
+
6
+ describe StormOnDemand do
7
+ include Fog::BinSpec
8
+
9
+ let(:subject) { StormOnDemand }
10
+ end
@@ -0,0 +1,10 @@
1
+ require "minitest/autorun"
2
+ require "fog"
3
+ require "fog/bin"
4
+ require "helpers/bin"
5
+
6
+ describe Vcloud do
7
+ include Fog::BinSpec
8
+
9
+ let(:subject) { Vcloud }
10
+ end
@@ -0,0 +1,10 @@
1
+ require "minitest/autorun"
2
+ require "fog"
3
+ require "fog/bin"
4
+ require "helpers/bin"
5
+
6
+ describe VcloudDirector do
7
+ include Fog::BinSpec
8
+
9
+ let(:subject) { VcloudDirector }
10
+ end
@@ -0,0 +1,10 @@
1
+ require "minitest/autorun"
2
+ require "fog"
3
+ require "fog/bin"
4
+ require "helpers/bin"
5
+
6
+ describe Vmfusion do
7
+ include Fog::BinSpec
8
+
9
+ let(:subject) { Vmfusion }
10
+ end
@@ -0,0 +1,10 @@
1
+ require "minitest/autorun"
2
+ require "fog"
3
+ require "fog/bin"
4
+ require "helpers/bin"
5
+
6
+ describe Voxel do
7
+ include Fog::BinSpec
8
+
9
+ let(:subject) { Voxel }
10
+ end
@@ -0,0 +1,10 @@
1
+ require "minitest/autorun"
2
+ require "fog"
3
+ require "fog/bin"
4
+ require "helpers/bin"
5
+
6
+ describe Vsphere do
7
+ include Fog::BinSpec
8
+
9
+ let(:subject) { Vsphere }
10
+ end
@@ -0,0 +1,10 @@
1
+ require "minitest/autorun"
2
+ require "fog"
3
+ require "fog/bin"
4
+ require "helpers/bin"
5
+
6
+ describe XenServer do
7
+ include Fog::BinSpec
8
+
9
+ let(:subject) { XenServer }
10
+ end
@@ -0,0 +1,10 @@
1
+ require "minitest/autorun"
2
+ require "fog"
3
+ require "fog/bin"
4
+ require "helpers/bin"
5
+
6
+ describe Zerigo do
7
+ include Fog::BinSpec
8
+
9
+ let(:subject) { Zerigo }
10
+ end
@@ -0,0 +1,161 @@
1
+ require "spec_helper"
2
+ require "fog/bin"
3
+
4
+ describe Fog do
5
+ describe "#providers" do
6
+ it "includes existing providers" do
7
+ assert_equal "Atmos", Fog.providers[:atmos]
8
+ assert_equal "AWS", Fog.providers[:aws]
9
+ assert_equal "BareMetalCloud", Fog.providers[:baremetalcloud]
10
+ assert_equal "Bluebox", Fog.providers[:bluebox]
11
+ assert_equal "Brightbox", Fog.providers[:brightbox]
12
+ assert_equal "Clodo", Fog.providers[:clodo]
13
+ assert_equal "CloudSigma", Fog.providers[:cloudsigma]
14
+ assert_equal "Cloudstack", Fog.providers[:cloudstack]
15
+ assert_equal "DigitalOcean", Fog.providers[:digitalocean]
16
+ assert_equal "DNSimple", Fog.providers[:dnsimple]
17
+ assert_equal "DNSMadeEasy", Fog.providers[:dnsmadeeasy]
18
+ assert_equal "Dreamhost", Fog.providers[:dreamhost]
19
+ assert_equal "Dynect", Fog.providers[:dynect]
20
+ assert_equal "Ecloud", Fog.providers[:ecloud]
21
+ assert_equal "Fogdocker", Fog.providers[:fogdocker]
22
+ assert_equal "Glesys", Fog.providers[:glesys]
23
+ assert_equal "GoGrid", Fog.providers[:gogrid]
24
+ assert_equal "Google", Fog.providers[:google]
25
+ assert_equal "IBM", Fog.providers[:ibm]
26
+ assert_equal "InternetArchive", Fog.providers[:internetarchive]
27
+ assert_equal "Joyent", Fog.providers[:joyent]
28
+ assert_equal "Linode", Fog.providers[:linode]
29
+ assert_equal "Local", Fog.providers[:local]
30
+ assert_equal "Ninefold", Fog.providers[:ninefold]
31
+ assert_equal "OpenNebula", Fog.providers[:opennebula]
32
+ assert_equal "OpenStack", Fog.providers[:openstack]
33
+ assert_equal "Openvz", Fog.providers[:openvz]
34
+ assert_equal "Ovirt", Fog.providers[:ovirt]
35
+ assert_equal "PowerDNS", Fog.providers[:powerdns]
36
+ assert_equal "ProfitBricks", Fog.providers[:profitbricks]
37
+ assert_equal "Rackspace", Fog.providers[:rackspace]
38
+ assert_equal "Rage4", Fog.providers[:rage4]
39
+ assert_equal "RiakCS", Fog.providers[:riakcs]
40
+ assert_equal "SakuraCloud", Fog.providers[:sakuracloud]
41
+ assert_equal "Serverlove", Fog.providers[:serverlove]
42
+ assert_equal "Softlayer", Fog.providers[:softlayer]
43
+ assert_equal "StormOnDemand", Fog.providers[:stormondemand]
44
+ assert_equal "Vcloud", Fog.providers[:vcloud]
45
+ assert_equal "VcloudDirector", Fog.providers[:vclouddirector]
46
+ assert_equal "Vmfusion", Fog.providers[:vmfusion]
47
+ assert_equal "Voxel", Fog.providers[:voxel]
48
+ assert_equal "Vsphere", Fog.providers[:vsphere]
49
+ assert_equal "XenServer", Fog.providers[:xenserver]
50
+ assert_equal "Zerigo", Fog.providers[:zerigo]
51
+ end
52
+ end
53
+
54
+ describe "#registered_providers" do
55
+ it "includes existing providers" do
56
+ assert_includes Fog.registered_providers, "Atmos"
57
+ assert_includes Fog.registered_providers, "AWS"
58
+ assert_includes Fog.registered_providers, "BareMetalCloud"
59
+ assert_includes Fog.registered_providers, "Bluebox"
60
+ assert_includes Fog.registered_providers, "Brightbox"
61
+ assert_includes Fog.registered_providers, "Clodo"
62
+ assert_includes Fog.registered_providers, "CloudSigma"
63
+ assert_includes Fog.registered_providers, "Cloudstack"
64
+ assert_includes Fog.registered_providers, "DigitalOcean"
65
+ assert_includes Fog.registered_providers, "DNSimple"
66
+ assert_includes Fog.registered_providers, "DNSMadeEasy"
67
+ assert_includes Fog.registered_providers, "Dreamhost"
68
+ assert_includes Fog.registered_providers, "Dynect"
69
+ assert_includes Fog.registered_providers, "Ecloud"
70
+ assert_includes Fog.registered_providers, "Fogdocker"
71
+ assert_includes Fog.registered_providers, "Glesys"
72
+ assert_includes Fog.registered_providers, "GoGrid"
73
+ assert_includes Fog.registered_providers, "Google"
74
+ assert_includes Fog.registered_providers, "IBM"
75
+ assert_includes Fog.registered_providers, "InternetArchive"
76
+ assert_includes Fog.registered_providers, "Joyent"
77
+ assert_includes Fog.registered_providers, "Linode"
78
+ assert_includes Fog.registered_providers, "Local"
79
+ assert_includes Fog.registered_providers, "Ninefold"
80
+ assert_includes Fog.registered_providers, "OpenNebula"
81
+ assert_includes Fog.registered_providers, "OpenStack"
82
+ assert_includes Fog.registered_providers, "Openvz"
83
+ assert_includes Fog.registered_providers, "Ovirt"
84
+ assert_includes Fog.registered_providers, "PowerDNS"
85
+ assert_includes Fog.registered_providers, "ProfitBricks"
86
+ assert_includes Fog.registered_providers, "Rackspace"
87
+ assert_includes Fog.registered_providers, "Rage4"
88
+ assert_includes Fog.registered_providers, "RiakCS"
89
+ assert_includes Fog.registered_providers, "SakuraCloud"
90
+ assert_includes Fog.registered_providers, "Serverlove"
91
+ assert_includes Fog.registered_providers, "Softlayer"
92
+ assert_includes Fog.registered_providers, "StormOnDemand"
93
+ assert_includes Fog.registered_providers, "Vcloud"
94
+ assert_includes Fog.registered_providers, "VcloudDirector"
95
+ assert_includes Fog.registered_providers, "Vmfusion"
96
+ assert_includes Fog.registered_providers, "Voxel"
97
+ assert_includes Fog.registered_providers, "Vsphere"
98
+ assert_includes Fog.registered_providers, "XenServer"
99
+ assert_includes Fog.registered_providers, "Zerigo"
100
+ end
101
+ end
102
+
103
+ describe "#available_providers" do
104
+ it "includes existing providers" do
105
+ assert_includes Fog.available_providers, "Atmos" if Atmos.available?
106
+ assert_includes Fog.available_providers, "AWS" if AWS.available?
107
+ assert_includes Fog.available_providers, "BareMetalCloud" if BareMetalCloud.available?
108
+ assert_includes Fog.available_providers, "Bluebox" if Bluebox.available?
109
+ assert_includes Fog.available_providers, "Brightbox" if Brightbox.available?
110
+ assert_includes Fog.available_providers, "Clodo" if Clodo.available?
111
+ assert_includes Fog.available_providers, "CloudSigma" if CloudSigma.available?
112
+ assert_includes Fog.available_providers, "Cloudstack" if Cloudstack.available?
113
+ assert_includes Fog.available_providers, "DigitalOcean" if DigitalOcean.available?
114
+ assert_includes Fog.available_providers, "DNSimple" if DNSimple.available?
115
+ assert_includes Fog.available_providers, "DNSMadeEasy" if DNSMadeEasy.available?
116
+ assert_includes Fog.available_providers, "Dreamhost" if Dreamhost.available?
117
+ assert_includes Fog.available_providers, "Dynect" if Dynect.available?
118
+ assert_includes Fog.available_providers, "Ecloud" if Ecloud.available?
119
+ assert_includes Fog.available_providers, "Fogdocker" if Fogdocker.available?
120
+ assert_includes Fog.available_providers, "Glesys" if Glesys.available?
121
+ assert_includes Fog.available_providers, "GoGrid" if GoGrid.available?
122
+ assert_includes Fog.available_providers, "Google" if Google.available?
123
+ assert_includes Fog.available_providers, "IBM" if IBM.available?
124
+ assert_includes Fog.available_providers, "InternetArchive" if InternetArchive.available?
125
+ assert_includes Fog.available_providers, "Joyent" if Joyent.available?
126
+ assert_includes Fog.available_providers, "Linode" if Linode.available?
127
+ assert_includes Fog.available_providers, "Local" if Local.available?
128
+ assert_includes Fog.available_providers, "Ninefold" if Ninefold.available?
129
+ assert_includes Fog.available_providers, "OpenNebula" if OpenNebula.available?
130
+ assert_includes Fog.available_providers, "OpenStack" if OpenStack.available?
131
+ assert_includes Fog.available_providers, "Openvz" if Openvz.available?
132
+ assert_includes Fog.available_providers, "Ovirt" if Ovirt.available?
133
+ assert_includes Fog.available_providers, "PowerDNS" if PowerDNS.available?
134
+ assert_includes Fog.available_providers, "ProfitBricks" if ProfitBricks.available?
135
+ assert_includes Fog.available_providers, "Rackspace" if Rackspace.available?
136
+ assert_includes Fog.available_providers, "Rage4" if Rage4.available?
137
+ assert_includes Fog.available_providers, "RiakCS" if RiakCS.available?
138
+ assert_includes Fog.available_providers, "SakuraCloud" if SakuraCloud.available?
139
+ assert_includes Fog.available_providers, "Serverlove" if Serverlove.available?
140
+ assert_includes Fog.available_providers, "Softlayer" if Softlayer.available?
141
+ assert_includes Fog.available_providers, "StormOnDemand" if StormOnDemand.available?
142
+ assert_includes Fog.available_providers, "Vcloud" if Vcloud.available?
143
+ assert_includes Fog.available_providers, "VcloudDirector" if VcloudDirector.available?
144
+ assert_includes Fog.available_providers, "Vmfusion" if Vmfusion.available?
145
+ assert_includes Fog.available_providers, "Voxel" if Voxel.available?
146
+ assert_includes Fog.available_providers, "Vsphere" if Vsphere.available?
147
+ assert_includes Fog.available_providers, "XenServer" if XenServer.available?
148
+ assert_includes Fog.available_providers, "Zerigo" if Zerigo.available?
149
+ end
150
+ end
151
+
152
+ describe "#services" do
153
+ it "returns Hash of services" do
154
+ assert_kind_of Hash, Fog.services
155
+ assert_includes Fog.services, :cdn
156
+ assert_includes Fog.services, :compute
157
+ assert_includes Fog.services, :dns
158
+ assert_includes Fog.services, :storage
159
+ end
160
+ end
161
+ end
@@ -0,0 +1,14 @@
1
+ require "spec_helper"
2
+
3
+ describe Fog::CDN do
4
+ Fog::CDN.providers.each do |provider|
5
+ describe "when #{provider} is passed with no available credentials" do
6
+ it "returns ArgumentError" do
7
+ # Stub credentials so you still see errors where the tester really has credentials
8
+ Fog.stub :credentials, {} do
9
+ assert_raises(ArgumentError) { Fog::CDN[provider] }
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,19 @@
1
+ require "spec_helper"
2
+
3
+ describe Fog::Compute do
4
+ Fog::Compute.providers.each do |provider|
5
+ describe "when #{provider} is passed with no available credentials" do
6
+ it "returns ArgumentError" do
7
+ # Stub credentials so you still see errors where the tester really has credentials
8
+ Fog.stub :credentials, {} do
9
+ # These providers do not raise ArgumentError since they have no requirements defined
10
+ if [:openvz, :vmfusion].include?(provider)
11
+ assert Fog::Compute[provider]
12
+ else
13
+ assert_raises(ArgumentError) { Fog::Compute[provider] }
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ require "spec_helper"
2
+
3
+ describe Fog::DNS do
4
+ Fog::DNS.providers.each do |provider|
5
+ describe "when #{provider} is passed with no available credentials" do
6
+ it "returns ArgumentError" do
7
+ # Stub credentials so you still see errors where the tester really has credentials
8
+ Fog.stub :credentials, {} do
9
+ # These providers do not raise ArgumentError since they have no requirements defined
10
+ if [:dnsimple].include?(provider)
11
+ assert Fog::DNS[provider]
12
+ else
13
+ assert_raises(ArgumentError) { Fog::DNS[provider] }
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,14 @@
1
+ require "spec_helper"
2
+
3
+ describe Fog::Identity do
4
+ Fog::Identity.providers.each do |provider|
5
+ describe "when #{provider} is passed with no available credentials" do
6
+ it "returns ArgumentError" do
7
+ # Stub credentials so you still see errors where the tester really has credentials
8
+ Fog.stub :credentials, {} do
9
+ assert_raises(ArgumentError) { Fog::Identity[provider] }
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ require "spec_helper"
2
+
3
+ describe Fog::Image do
4
+ Fog::Image.providers.each do |provider|
5
+ describe "when #{provider} is passed with no available credentials" do
6
+ it "returns ArgumentError" do
7
+ # Stub credentials so you still see errors where the tester really has credentials
8
+ Fog.stub :credentials, {} do
9
+ assert_raises(ArgumentError) { Fog::Image[provider] }
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ require "spec_helper"
2
+
3
+ describe Fog::Metering do
4
+ Fog::Metering.providers.each do |provider|
5
+ describe "when #{provider} is passed with no available credentials" do
6
+ it "returns ArgumentError" do
7
+ # Stub credentials so you still see errors where the tester really has credentials
8
+ Fog.stub :credentials, {} do
9
+ assert_raises(ArgumentError) { Fog::Metering[provider] }
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ require "spec_helper"
2
+
3
+ describe Fog::Monitoring do
4
+ Fog::Monitoring.providers.each do |provider|
5
+ describe "when #{provider} is passed with no available credentials" do
6
+ it "returns ArgumentError" do
7
+ # Stub credentials so you still see errors where the tester really has credentials
8
+ Fog.stub :credentials, {} do
9
+ assert_raises(ArgumentError) { Fog::Monitoring[provider] }
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ require "spec_helper"
2
+
3
+ describe Fog::Network do
4
+ Fog::Network.providers.each do |provider|
5
+ describe "when #{provider} is passed with no available credentials" do
6
+ it "returns ArgumentError" do
7
+ # Stub credentials so you still see errors where the tester really has credentials
8
+ Fog.stub :credentials, {} do
9
+ assert_raises(ArgumentError) { Fog::Network[provider] }
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ require "spec_helper"
2
+
3
+ describe Fog::Orchestration do
4
+ Fog::Orchestration.providers.each do |provider|
5
+ describe "when #{provider} is passed with no available credentials" do
6
+ it "returns ArgumentError" do
7
+ # Stub credentials so you still see errors where the tester really has credentials
8
+ Fog.stub :credentials, {} do
9
+ assert_raises(ArgumentError) { Fog::Orchestration[provider] }
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ require "spec_helper"
2
+
3
+ describe Fog::Storage do
4
+ Fog::Storage.providers.each do |provider|
5
+ describe "when #{provider} is passed with no available credentials" do
6
+ it "returns ArgumentError" do
7
+ # Stub credentials so you still see errors where the tester really has credentials
8
+ Fog.stub :credentials, {} do
9
+ assert_raises(ArgumentError) { Fog::Storage[provider] }
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end