aboutsummaryrefslogtreecommitdiff
path: root/tests/integration
diff options
context:
space:
mode:
authorXavi Garcia Mena <xavi.garcia.mena@canonical.com>2015-09-18 15:15:59 +0200
committerXavi Garcia Mena <xavi.garcia.mena@canonical.com>2015-09-18 15:15:59 +0200
commit09fc613f1ce55910698aca6b8b5d909ac3ae77a0 (patch)
tree3da08a9132673043b143e20b102b7489e704c5e8 /tests/integration
parent348a81decd37889ad46086383f5910f12a00c3c9 (diff)
downloadayatana-indicator-sound-09fc613f1ce55910698aca6b8b5d909ac3ae77a0.tar.gz
ayatana-indicator-sound-09fc613f1ce55910698aca6b8b5d909ac3ae77a0.tar.bz2
ayatana-indicator-sound-09fc613f1ce55910698aca6b8b5d909ac3ae77a0.zip
Added AccountsService Mock to the integration tests
Diffstat (limited to 'tests/integration')
-rw-r--r--tests/integration/CMakeLists.txt1
-rw-r--r--tests/integration/indicator-sound-test-base.cpp27
-rw-r--r--tests/integration/indicator-sound-test-base.h3
-rw-r--r--tests/integration/test-indicator.cpp2
4 files changed, 27 insertions, 6 deletions
diff --git a/tests/integration/CMakeLists.txt b/tests/integration/CMakeLists.txt
index 2e4004a..ace155a 100644
--- a/tests/integration/CMakeLists.txt
+++ b/tests/integration/CMakeLists.txt
@@ -29,6 +29,7 @@ include_directories("${CMAKE_BINARY_DIR}/tests/dbus-types")
add_definitions(-DSOUND_SERVICE_BIN="${CMAKE_BINARY_DIR}/src/indicator-sound-service"
-DSTREAM_RESTORE_TABLE="${CMAKE_SOURCE_DIR}/tests/integration/touch-stream-restore.table"
-DVOLUME_SET_BIN="${CMAKE_BINARY_DIR}/tests/integration/set-volume"
+ -DACCOUNTS_SERVICE_BIN="${CMAKE_BINARY_DIR}/tests/accounts-mock/accounts-service-sound"
-DTEST_SOUND="${CMAKE_SOURCE_DIR}/tests/integration/test-sound.wav"
-DQT_NO_KEYWORDS=1
)
diff --git a/tests/integration/indicator-sound-test-base.cpp b/tests/integration/indicator-sound-test-base.cpp
index 6e05efe..10717c7 100644
--- a/tests/integration/indicator-sound-test-base.cpp
+++ b/tests/integration/indicator-sound-test-base.cpp
@@ -112,12 +112,31 @@ void IndicatorSoundTestBase::startPulse()
}
}
+void IndicatorSoundTestBase::startAccountsService()
+{
+ try
+ {
+ accountsService.reset(
+ new QProcessDBusService(DBusTypes::ACCOUNTS_SERVICE,
+ QDBusConnection::SystemBus,
+ ACCOUNTS_SERVICE_BIN,
+ QStringList() ));
+ accountsService->start(dbusTestRunner.systemConnection());
+
+ initializeAccountsInterface();
+ }
+ catch (exception const& e)
+ {
+ cout << "accountsService(): " << e.what() << endl;
+ throw;
+ }
+}
+
void IndicatorSoundTestBase::startIndicator()
{
try
{
setenv("PULSE_SERVER", "127.0.0.1", true);
- setenv("DBUS_SYSTEM_BUS_ADDRESS", dbusTestRunner.systemBus().toStdString().c_str(), true);
indicator.reset(
new QProcessDBusService(DBusTypes::DBUS_NAME,
QDBusConnection::SessionBus,
@@ -144,7 +163,7 @@ mh::MenuMatcher::Parameters IndicatorSoundTestBase::desktopParameters()
void IndicatorSoundTestBase::SetUp()
{
- initializeAccountsInterface();
+ setenv("DBUS_SYSTEM_BUS_ADDRESS", dbusTestRunner.systemBus().toStdString().c_str(), true);
}
void IndicatorSoundTestBase::TearDown()
@@ -216,7 +235,6 @@ bool IndicatorSoundTestBase::waitMenuChange()
bool IndicatorSoundTestBase::waitVolumeChangedInIndicator()
{
- qDebug() << "IndicatorSoundTestBase::waitVolumeChangedInIndicator() signal " << (void *)signal_spy_volume_changed_.get();
if (signal_spy_volume_changed_)
{
return signal_spy_volume_changed_->wait();
@@ -229,11 +247,9 @@ void IndicatorSoundTestBase::initializeAccountsInterface()
auto username = qgetenv("USER");
if (username != "")
{
- qDebug() << "Setting Accounts interface for user: " << username;
std::unique_ptr<AccountsInterface> setInterface(new AccountsInterface("org.freedesktop.Accounts",
"/org/freedesktop/Accounts",
QDBusConnection::systemBus(), 0));
- qDebug() << "Interface: " << setInterface.get();
QDBusReply<QDBusObjectPath> userResp = setInterface->call(QLatin1String("FindUserByName"),
QLatin1String(username));
@@ -252,7 +268,6 @@ void IndicatorSoundTestBase::initializeAccountsInterface()
accounts_interface_.reset(new DBusPropertiesInterface("org.freedesktop.Accounts",
userPath,
soundInterface->connection(), 0));
- qDebug() << "Interface for setting volume: " << accounts_interface_.get();
if (!accounts_interface_->isValid())
{
qWarning() << "SetVolume::initializeAccountsInterface(): D-Bus error: " << accounts_interface_->lastError().message();
diff --git a/tests/integration/indicator-sound-test-base.h b/tests/integration/indicator-sound-test-base.h
index 81d8204..04a579f 100644
--- a/tests/integration/indicator-sound-test-base.h
+++ b/tests/integration/indicator-sound-test-base.h
@@ -46,6 +46,7 @@ protected:
void startIndicator();
void startPulse();
+ void startAccountsService();
bool setVolume(QString const &role, double volume);
@@ -73,6 +74,8 @@ protected:
QtDBusTest::DBusServicePtr pulseaudio;
+ QtDBusTest::DBusServicePtr accountsService;
+
QProcess testSoundProcess;
std::unique_ptr<MenusInterface> menu_interface_;
diff --git a/tests/integration/test-indicator.cpp b/tests/integration/test-indicator.cpp
index 8803f91..bb5adec 100644
--- a/tests/integration/test-indicator.cpp
+++ b/tests/integration/test-indicator.cpp
@@ -36,6 +36,7 @@ TEST_F(TestIndicator, ChangeRoleVolume)
{
double INITIAL_VOLUME = 0.0;
+ ASSERT_NO_THROW(startAccountsService());
ASSERT_NO_THROW(startPulse());
// initialize volumes in pulseaudio
@@ -140,6 +141,7 @@ TEST_F(TestIndicator, BasicInitialVolume)
{
double INITIAL_VOLUME = 0.0;
+ ASSERT_NO_THROW(startAccountsService());
ASSERT_NO_THROW(startPulse());
// initialize volumes in pulseaudio