From: marios <[email protected]>
Signed-off-by: marios <[email protected]> --- server/lib/deltacloud/drivers/mock/mock_client.rb | 4 +- .../drivers/mock/mock_driver_cimi_methods.rb | 28 ++++++++++++++++++- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/server/lib/deltacloud/drivers/mock/mock_client.rb b/server/lib/deltacloud/drivers/mock/mock_client.rb index 7d446db..3de8254 100644 --- a/server/lib/deltacloud/drivers/mock/mock_client.rb +++ b/server/lib/deltacloud/drivers/mock/mock_client.rb @@ -92,8 +92,8 @@ module Deltacloud::Drivers::Mock end def store_cimi(collection, obj) - raise "Why no obj[\"name\"] ?" unless obj["name"] - File::open(cimi_file(collection, obj["name"]), "w") { |f| f.write(JSON.generate(obj)) } + raise "Why no obj.name?" unless obj.name + File::open(cimi_file(collection, obj.name), "w") { |f| f.write(obj.to_json) } end def destroy_cimi(collection, id) diff --git a/server/lib/deltacloud/drivers/mock/mock_driver_cimi_methods.rb b/server/lib/deltacloud/drivers/mock/mock_driver_cimi_methods.rb index 8ffaa23..81f13c2 100644 --- a/server/lib/deltacloud/drivers/mock/mock_driver_cimi_methods.rb +++ b/server/lib/deltacloud/drivers/mock/mock_driver_cimi_methods.rb @@ -35,7 +35,7 @@ module Deltacloud::Drivers::Mock def create_network(credentials, opts={}) check_credentials(credentials) id = "#{opts[:env].send("networks_url")}/#{opts[:name]}" - network = { "id"=> id, + net_hsh = { "id"=> id, "name" => opts[:name], "description" => opts[:description], "created" => Time.now, @@ -49,8 +49,10 @@ module Deltacloud::Drivers::Mock "routingGroup"=> { "href" => opts[:routing_group].id }, "operations" => [{"rel"=>"edit", "href"=> id}, {"rel"=>"delete", "href"=> id}] } + network = CIMI::Model::Network.from_json(JSON.generate(net_hsh)) + @client.store_cimi(:network, network) - CIMI::Model::Network.from_json(@client.load_cimi(:network, opts[:name])) + network end def delete_network(credentials, id) @@ -58,6 +60,21 @@ module Deltacloud::Drivers::Mock @client.destroy_cimi(:network, id) end + def start_network(credentials, id) + check_credentials(credentials) + update_network_state(id, "STARTED") + end + + def stop_network(credentials, id) + check_credentials(credentials) + update_network_state(id, "STOPPED") + end + + def suspend_network(credentials, id) + check_credentials(credentials) + update_network_state(id, "SUSPENDED") + end + def network_configurations(credentials, opts={}) check_credentials(credentials) if opts[:id].nil? @@ -166,6 +183,13 @@ module Deltacloud::Drivers::Mock end end + def update_network_state(id, new_state) + network = CIMI::Model::Network.from_json(@client.load_cimi(:network, id)) + network.state = new_state + @client.store_cimi(:network, network) + network + end + end end -- 1.7.6.5
