ACK tiny syntactic nit/alternative inline (I'll push this and you can change it if you want later - more like an fyi):
On 23/01/13 02:55, [email protected] wrote: > From: Ronelle Landy <[email protected]> > > --- > tests/cimi/rmd1_test.rb | 91 > +++++++++++++++++++++++++++++++++++++++++++++++ > 1 files changed, 91 insertions(+), 0 deletions(-) > create mode 100644 tests/cimi/rmd1_test.rb > > diff --git a/tests/cimi/rmd1_test.rb b/tests/cimi/rmd1_test.rb > new file mode 100644 > index 0000000..512a956 > --- /dev/null > +++ b/tests/cimi/rmd1_test.rb > @@ -0,0 +1,91 @@ > +# > +# 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 ResourceMetadataCollection < CIMI::Test::Spec > + RESOURCE_URI = > + "http://schemas.dmtf.org/cimi/1/ResourceMetadataCollection" > + ROOTS = ["resourceMetadata"] > + > + # Ensure test executes in test plan order > + i_suck_and_my_tests_are_order_dependent! > + > + # 1.1: Query the CEP > + model :subject, :cache => true do |fmt| > + cep(:accept => fmt) > + end > + > + # This test must adhere to one of the "Query the CEP" test in the previous > section. > + query_the_cep(ROOTS) > + > + it "should contain at least one Resource Metadata resource" do > + r = ROOTS[0].underscore.to_sym > + model = fetch(subject.send(r).href) > + log.info(model.attribute_values[r][0]) > + unless !model.attribute_values[r][0].nil?() > + puts "No ResourceMetadata resource available - ending test." > + return may be better to used 'skip' here (functionally equivalent, but we use skip in other cases) marios > + end > + end > + > + # 1.2: Query the resource_metadata collection > + cep_json = cep(:accept => :json) > + > + model :resource_metadata do |fmt| > + get cep_json.json[ROOTS[0]]["href"], :accept => fmt > + end > + > + it "should have a response code equal to 200" do > + last_response.code.must_equal 200 > + end > + > + it "should have a response header" do > + last_response.content_type.must_be_one_of CONTENT_TYPES.values > + end > + > + it "should have an id equal to the URL of the resource metadata > collection" do > + resource_metadata.id.must_equal cep_json.json[ROOTS[0]]["href"] > + end > + > + it "should have a resourceURI set to point to ResourceMetadataCollection", > :only => :json do > + last_response.json["resourceURI"].must_equal RESOURCE_URI > + end > + > + it "should have a count value that matches the number of ResourceMetadata > elements", :only => :json do > + last_response.json["count"].must_equal > last_response.json["resourceMetadata"].size() > + end > + > + it "should list ResourceMetadata elements", :only => :json do > + $i=0 > + while $i < last_response.json["resourceMetadata"].size() > + log.info(last_response.json["resourceMetadata"][$i]["id"]) > + last_response.json["resourceMetadata"][$i]["id"].wont_be_empty > + $i +=1 > + end > + end > + > + # For each collection appearing in the CEP there should be a > + # ResourceMetadata entry with the corresponding typeURI in the > ResourceMetadata collection > + > + it "should include at least one of capabilities/attributes/actions", :only > => :json do > + rmd_type = ["capabilities", "attributes", "actions"] > + (rmd_type.any? { |rmd| last_response.json.to_s().include? rmd > }).must_equal true > + end > + > + end >
