merged cont.
[opensuse:yast-rest-service.git] / webyast / test / unit / resource_test.rb
1 #--
2 # Webyast Webservice framework
3 #
4 # Copyright (C) 2009, 2010 Novell, Inc. 
5 #   This library is free software; you can redistribute it and/or modify
6 # it only under the terms of version 2.1 of the GNU Lesser General Public
7 # License as published by the Free Software Foundation. 
8 #
9 #   This library is distributed in the hope that it will be useful, but WITHOUT
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11 # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 
12 # details. 
13 #
14 #   You should have received a copy of the GNU Lesser General Public
15 # License along with this library; if not, write to the Free Software 
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 #++
18
19 #
20 # Tests for the Resource model
21 #
22 require File.join(File.dirname(__FILE__),"..", "test_helper")
23
24 class ResourceTest < ActiveSupport::TestCase
25   TEST_RESOURCE_S = { :policy => "", :singular => true, :controller => "stest" }
26   TEST_RESOURCE = { :policy => "own", :singular => false, :controller => "test" }
27   REGISTERED_SERVICES = { "interface" => [TEST_RESOURCE], "sinterface" => [TEST_RESOURCE_S]}
28
29   def setup
30     ResourceRegistration.stubs(:resources).returns(REGISTERED_SERVICES)
31   end
32
33   def test_all
34     services = Resource.find :all
35     assert_equal 2, services.size
36     assert services.any? {|s| s.interface == "interface"}
37     assert services.to_xml
38   end
39
40   def test_find_and_link_to
41     res = Resource.find "sinterface"
42     assert res
43     assert_equal "/stest", res.href
44     assert res.to_xml
45     assert res.to_json
46   end
47 end