Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

213 lines (179 sloc) 5.827 kB
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership. The
# ASF licenses this file to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance with the
# License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
require 'rubygems'
require 'shoulda'
require 'tests/common'
include DeltaCloud::TestHelper
class CommandLineTest < Test::Unit::TestCase
context "a command line client" do
should "respond to --help argument" do
assert_nothing_raised do
base_client('--help')
end
end
should "return API version with --version argument" do
assert_match /Deltacloud API\(mock\) (\d+)\.(\d+)/, client('--version')
end
should "return list all collections with --list argument" do
output = nil
assert_nothing_raised do
output = client('--list')
end
assert_not_nil output
assert_match /images/, output
assert_match /instances/, output
assert_match /realms/, output
assert_match /hardware_profiles/, output
end
should 'respond with proper error when accessing unknow collection' do
output = client('unknown_collection')
assert_match /ERROR: Unknown collection:/, output
end
end
end
class CmdRealmTest < Test::Unit::TestCase
context "a realms" do
should "be listed using realms argument" do
output = nil
assert_nothing_raised do
output = client('realms')
end
assert_match /^us/m, output
assert_match /^eu/m, output
end
should "be filtered using show --id argument" do
output = nil
assert_nothing_raised do
output = client('realms show --id us')
end
assert_match /^us/, output
assert_no_match /^eu/, output
end
end
end
class CmdHardwareProfilesTest < Test::Unit::TestCase
context "a hardware profiles" do
should "be listed using hardware_profiles argument" do
output = nil
assert_nothing_raised do
output = client('hardware_profiles')
end
assert_no_warning output
assert_match /^m1-small/m, output
assert_match /^m1-large/m, output
assert_match /^m1-xlarge/m, output
assert_match /^opaque/m, output
end
should "be filtered using show --id argument" do
output = nil
assert_nothing_raised do
output = client('hardware_profiles show --id m1-large')
end
assert_no_warning output
assert_match /^m1-large/, output
assert_no_match /^m1-small/, output
end
end
end
class CmdImagesTest < Test::Unit::TestCase
context "a images" do
should "be listed using images argument" do
output = nil
assert_nothing_raised do
output = client('images')
end
assert_no_warning output
assert_match /^img2/m, output
assert_match /^img1/m, output
assert_match /^img3/m, output
end
should "be filtered using show --id argument" do
output = nil
assert_nothing_raised do
output = client('images show --id img2')
end
assert_no_warning output
assert_match /^img2/m, output
assert_no_match /^img1/m, output
end
should "be filtered using --arch argument" do
output = nil
assert_nothing_raised do
output = client('images --arch x86_64')
end
assert_no_warning output
assert_match /x86_64/, output
assert_no_match /i386/, output
end
end
end
class CmdInstancesTest < Test::Unit::TestCase
context 'an instances' do
should 'be listed using instances argument' do
output = nil
assert_nothing_raised do
output = client('instances')
end
assert_no_warning output
assert_match /^inst1/, output
end
should 'be filtered using --id argument' do
output = nil
assert_nothing_raised do
output = client('instances show --id inst0')
end
assert_no_warning output
assert_match /^inst0/m, output
assert_no_match /^inst1/m, output
end
end
context 'an instance' do
should 'be created supplying --image-id argument and -p argument' do
output = nil
assert_nothing_raised do
output = client('instances create --image-id img1 -p m1-small')
end
assert_no_warning output
assert_match /^inst(\d+)/, output
@@created_instance_id = output.match(/^inst(\d+)/).to_a.first
end
should 'be rebooted using reboot operation' do
output = nil
assert_nothing_raised do
output = client("instances reboot --id #{@@created_instance_id}")
end
assert_no_warning output
assert_match /#{@@created_instance_id}/, output
assert_match /RUNNING/, output
end
should 'be stopped using stop operation' do
output = nil
assert_nothing_raised do
output = client("instances stop --id #{@@created_instance_id}")
end
assert_no_warning output
assert_match /#{@@created_instance_id}/, output
assert_match /STOPPED/, output
end
should 'be destroyed using destroy operation' do
output = nil
assert_nothing_raised do
output = client("instances destroy --id #{@@created_instance_id}")
end
assert_no_warning output
end
end
end
Jump to Line
Something went wrong with that request. Please try again.