1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
#!/usr/bin/env rspec
# frozen_string_literal: true
require_relative "spec_helper"
require "dbus"
describe DBus::ProxyService do
context "when a private bus is set up", tag_service: true do
let(:bus) { DBus::ASessionBus.new }
describe "#exists?" do
it "is true for an existing service" do
svc = bus.service("org.ruby.service")
svc.object("/").introspect # must activate the service first :-/
expect(svc.exists?).to be true
end
it "is false for a nonexisting service" do
svc = bus.service("org.ruby.nosuchservice")
expect(svc.exists?).to be false
end
end
# This method is used by dbus-gui-gtk.
# Deprecate it? In favor of introspecting the tree gradually
# or move it to the application code?
describe "#introspect" do
it "creates the whole node tree" do
svc = bus.service("org.ruby.service")
expect { svc.introspect }.to_not raise_error
expect(svc.root.dig("org", "ruby", "MyInstance")).to be_a DBus::Node
end
end
end
end
|