[PATCH aeolus-image-rubygem 2/2] Tests for Aeolus::Image::Katello code
Martyn Taylor
mtaylor at redhat.com
Thu May 31 09:22:39 UTC 2012
Picking this up for review
On 05/24/2012 07:51 PM, Matt Wagner wrote:
> ---
> spec/models/katello/base_spec.rb | 54 ++++++++++++++++++++++++++++++++++++++
> spec/spec_helper.rb | 2 +
> 2 files changed, 56 insertions(+), 0 deletions(-)
> create mode 100644 spec/models/katello/base_spec.rb
>
> diff --git a/spec/models/katello/base_spec.rb b/spec/models/katello/base_spec.rb
> new file mode 100644
> index 0000000..1cf6da2
> --- /dev/null
> +++ b/spec/models/katello/base_spec.rb
> @@ -0,0 +1,54 @@
> +#
> +# Copyright 2012 Red Hat, Inc.
> +#
> +# Licensed 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 'spec_helper'
> +
> +module Aeolus
> + module Image
> + module Katello
> + describe Base do
> + before(:all) do
> + # We don't actually connect (hence the invalid port), but ARes seems to want
> + # :site defined before you can call collection_path and related methods:
> + Base.site = "http://localhost:1234/katello/api"
> + end
> + it "should default to JSON format" do
> + Base.format.should equal(ActiveResource::Formats::JsonFormat)
> + end
> + it "should not use .json extension" do
> + Base.collection_path.should_not match('\.json')
> + end
> +
> + describe "Derived classes" do
> + before(:all) do
> + class Foo< Base; end
> + class Bar< Foo
> + has_many :foos
> + end
> + end
> +
> + it "should generate the appropriate URL" do
> + Bar.collection_path.should match('\/bars$')
> + end
> +
> + it "should define valid associations for has_many" do
> + Foo.should_receive(:find).with(:all, {:params=>{:bar_id=>1337}})
> + Bar.new(:id => 1337).foos
> + end
> + end
> + end
> + end
> + end
> +end
> diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
> index 7761ead..2fbfced 100644
> --- a/spec/spec_helper.rb
> +++ b/spec/spec_helper.rb
> @@ -26,6 +26,8 @@ require 'warehouse/image_build'
> require 'warehouse/target_image'
> require 'warehouse/provider_image'
> require 'warehouse/template'
> +# Katello
> +require 'katello/base'
>
> RSpec.configure do |config|
> config.extend VCR::RSpec::Macros
More information about the aeolus-devel
mailing list