merged cont.
[opensuse:yast-rest-service.git] / webyast / test / unit / yast / config_file_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 require File.dirname(__FILE__) + '/../../test_helper'
20 require 'yast/config_file'
21
22 def test_data(name)
23   File.join(File.dirname(__FILE__), "data", name)
24 end
25
26 class ConfigFileTest < ActiveSupport::TestCase
27   def setup
28     YaST::ConfigFile.stubs(:config_default_location).returns(test_data('config'))
29   end
30
31   def test_config
32     # simple usage
33     config = YaST::ConfigFile.new(:vendor)
34
35     assert_equal(config.path, test_data('config/vendor.yml'))
36     
37     assert_equal("This is an evil eula that will make you think twice before clicking it", config['appliance']['eula'])
38
39     # now try to load an non-existing resource
40     # this should be ok
41     config = nil
42     assert_nothing_raised do
43       config = YaST::ConfigFile.new(:whatever)
44     end
45     # and the path should be pointed to the right file
46     assert_equal(test_data('config/whatever.yml'), config.path)
47
48     # now try to load an non-existing file
49     assert_raise YaST::ConfigFile::NotFoundError do
50       YaST::ConfigFile.load_file(test_data('config/whatever.yml'))
51     end
52
53     #assert_instance_of Hash, config
54   end
55   
56 end