From 13e3d7a0102da776fc767c184b3111ab7d21652b Mon Sep 17 00:00:00 2001 From: Dave Donahue Date: Fri, 27 Dec 2013 08:57:56 -0600 Subject: [PATCH 1/2] [digitalocean|compute] add created_at timestamp as attribute of server * We receive this field from Digital Ocean, so all we need to do to use it is add it as an attribute and it just works --- lib/fog/digitalocean/models/compute/server.rb | 1 + tests/digitalocean/models/compute/server_tests.rb | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/fog/digitalocean/models/compute/server.rb b/lib/fog/digitalocean/models/compute/server.rb index 35357b492..a07946c20 100644 --- a/lib/fog/digitalocean/models/compute/server.rb +++ b/lib/fog/digitalocean/models/compute/server.rb @@ -19,6 +19,7 @@ module Fog attribute :public_ip_address, :aliases => 'ip_address' attribute :private_ip_address attribute :backups_active + attribute :created_at attr_writer :ssh_keys diff --git a/tests/digitalocean/models/compute/server_tests.rb b/tests/digitalocean/models/compute/server_tests.rb index b55b4c369..63ec8096f 100644 --- a/tests/digitalocean/models/compute/server_tests.rb +++ b/tests/digitalocean/models/compute/server_tests.rb @@ -29,6 +29,7 @@ Shindo.tests("Fog::Compute[:digitalocean] | server model", ['digitalocean', 'com :flavor_id, :region_id, :image_id, + :created_at, :ssh_keys= ] tests("The server model should respond to") do From 25c518cbc2e6bce3064960c54d1e8ede0cd8c4aa Mon Sep 17 00:00:00 2001 From: Dave Donahue Date: Fri, 27 Dec 2013 10:03:22 -0600 Subject: [PATCH 2/2] [digitalocean|compute] additional test coverage and some maintenance * Add created_at field to mock response * Assert that the created_at field is returned * Update references to nonexistent images --- lib/fog/digitalocean/requests/compute/create_server.rb | 3 ++- tests/digitalocean/helper.rb | 2 +- tests/digitalocean/requests/compute/create_server_tests.rb | 2 +- tests/digitalocean/requests/compute/list_servers_tests.rb | 3 ++- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/fog/digitalocean/requests/compute/create_server.rb b/lib/fog/digitalocean/requests/compute/create_server.rb index ba35f1590..dca23120a 100644 --- a/lib/fog/digitalocean/requests/compute/create_server.rb +++ b/lib/fog/digitalocean/requests/compute/create_server.rb @@ -54,7 +54,8 @@ module Fog "image_id" => image_id, "region_id" => region_id, "ip_address" => "127.0.0.1", - "status" => 'active' + "status" => 'active', + "created_at" => Time.now.strftime("%FT%TZ") } response.body = { diff --git a/tests/digitalocean/helper.rb b/tests/digitalocean/helper.rb index 1edc3d00a..0d9792788 100644 --- a/tests/digitalocean/helper.rb +++ b/tests/digitalocean/helper.rb @@ -5,7 +5,7 @@ def service end def fog_test_server_attributes - image = service.images.find { |i| i.name == 'Ubuntu 12.04 x64' } + image = service.images.find { |i| i.name == 'Ubuntu 13.10 x64' } region = service.regions.find { |r| r.name == 'New York 1' } flavor = service.flavors.find { |r| r.name == '512MB' } diff --git a/tests/digitalocean/requests/compute/create_server_tests.rb b/tests/digitalocean/requests/compute/create_server_tests.rb index 624cb5e1b..4fe222ffc 100644 --- a/tests/digitalocean/requests/compute/create_server_tests.rb +++ b/tests/digitalocean/requests/compute/create_server_tests.rb @@ -13,7 +13,7 @@ Shindo.tests('Fog::Compute[:digitalocean] | create_server request', ['digitaloce tests('success') do tests('#create_server').formats({'status' => 'OK', 'droplet' => @server_format}) do - image = service.images.find { |img| img.name == 'Ubuntu 12.04 x64' } + image = service.images.find { |img| img.name == 'Ubuntu 13.10 x64' } flavor = service.flavors.find { |f| f.name == '512MB' } data = Fog::Compute[:digitalocean].create_server fog_server_name, flavor.id, diff --git a/tests/digitalocean/requests/compute/list_servers_tests.rb b/tests/digitalocean/requests/compute/list_servers_tests.rb index 123c4b086..9e520ff01 100644 --- a/tests/digitalocean/requests/compute/list_servers_tests.rb +++ b/tests/digitalocean/requests/compute/list_servers_tests.rb @@ -8,7 +8,8 @@ Shindo.tests('Fog::Compute[:digitalocean] | list_servers request', ['digitalocea 'region_id' => Integer, 'backups_active' => Fog::Nullable::Boolean, 'ip_address' => Fog::Nullable::String, - 'status' => String + 'status' => String, + 'created_at' => String } tests('success') do