blob: f5b046f8d40f61cf1d31bf28aac5ab8cba109f65 [file] [log] [blame]
#
# 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.
$:.unshift File.join(File.dirname(__FILE__))
require "test_helper.rb"
class CloundEntryPointBehavior < CIMI::Test::Spec
ROOTS = [ "resourceMetadata", "systems", "systemTemplates",
"machines" , "machineTemplates", "machineConfigs",
"machineImages", "credentials", "credentialTemplates",
"volumes", "volumeTemplates", "volumeConfigs", "volumeImages",
"networks", "networkTemplates", "networkConfigs", "networkPorts",
"networkPortTemplates", "networkPortConfigs",
"addresses", "addressTemplates", "forwardingGroups",
"forwardingGroupTemplates",
"jobs", "meters", "meterTemplates", "meterConfigs",
"eventLogs", "eventLogTemplates" ]
RESOURCE_URI = "http://schemas.dmtf.org/cimi/1/CloudEntryPoint"
# Ensure test executes in test plan order
i_suck_and_my_tests_are_order_dependent!
# We'd like to call this :cep, but there's already a method by that name
model :subject, :cache => true do |fmt|
cep(:accept => fmt)
end
it "should have a valid baseURI" do
subject.base_uri.must_be_uri
subject.base_uri.must_match %r{/$}
end
it "should have a name" do
subject.name.wont_be_empty
end
it "should have a response code equal to 200" do
subject
last_response.code.must_equal 200
end
it "should have the correct resourceURI", :only => :json do
subject.wont_be_nil # Make sure we talk to the server
last_response.json["resourceURI"].must_equal RESOURCE_URI
end
query_the_cep(ROOTS)
it "should handle Accept of */*", :only => :json do
response = RestClient.get(api.cep_url, "Accept" => "*/*")
response.content_type.must_be_one_of CONTENT_TYPES.values
end
end