merged cont.
[opensuse:yast-rest-service.git] / webyast / test / unit / yast_service_test.rb
1 #--
2 # Webyast Webservice framework
3 #
4 # Tests for lib/yast_service.rb
5 #
6 #
7 # Copyright (C) 2009, 2010 Novell, Inc. 
8 #   This library is free software; you can redistribute it and/or modify
9 # it only under the terms of version 2.1 of the GNU Lesser General Public
10 # License as published by the Free Software Foundation. 
11 #
12 #   This library is distributed in the hope that it will be useful, but WITHOUT
13 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14 # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 
15 # details. 
16 #
17 #   You should have received a copy of the GNU Lesser General Public
18 # License along with this library; if not, write to the Free Software 
19 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 #++
21
22 require File.join(File.dirname(__FILE__),"..", "test_helper")
23 require File.join(File.dirname(__FILE__),"..", "dbus_stub")
24
25 require 'yast_service'
26 require 'etc'
27
28 SERVICE = "org.opensuse.YaST.modules"
29 IMPORT_PATH = "/org/opensuse/YaST/modules"
30 IMPORT_IFACE = "org.opensuse.YaST.modules.ModuleManager"
31
32 YASTMETHOD = :Testing
33 YASTSERVICE = "Yast::Service"
34
35 PATH = "/org/opensuse/YaST/modules/" + YASTSERVICE.gsub("::", "/")
36 IFACE = "org.opensuse.YaST.Values"
37
38 class YastServiceTest < ActiveSupport::TestCase
39 # TODO FIXME: the test has been temporarily disabled because
40 # it gets stuck in OBS YaST:Web in openSUSE_FACTORY/i586 repo build (only!)
41 #
42 # See bug report: https://bugzilla.novell.com/show_bug.cgi?id=661473
43 #
44 #  def setup
45 #    DBus::SystemBus.stubs(:instance).returns(DBus::SessionBus.instance)
46 #    @y_stub = DBusStub.new :system, SERVICE
47 #    @y_service = @y_stub.service
48 #
49 #    @import_proxy, @import_iface = @y_stub.proxy IMPORT_PATH, IMPORT_IFACE
50 #
51 #    @import_iface.stubs(:Import).returns(true)
52 #
53 #    @yast_proxy, @yast_iface = @y_stub.proxy PATH, IFACE
54 #  end
55 #
56 #  test "report actual login" do
57 #    msg = DBus::Message.new(DBus::Message::ERROR)
58 #    msg.error_name = "org.freedesktop.PolicyKit.Error.NotAuthorized"
59 #    msg.add_param Integer, 42
60 #    dbe = DBus::Error.new(msg)
61 #    @yast_iface.stubs(YASTMETHOD).raises(dbe)
62 #
63 #    # bnc#601939
64 #    e = assert_raise NoPermissionException do
65 #      YastService.Call(YASTSERVICE + "::#{YASTMETHOD}")
66 #    end
67 #    assert_equal Etc.getlogin, e.user
68 #  end
69 end