39
TEST_F(TestMetricManagerImpl, Foo) {
40
MetricManagerPtr manager(new MetricManagerImpl());
51
TEST_F(TestMetricManagerImpl, TestCanAddDataSourceMultipleTimes) {
52
com::canonical::UserMetrics userMetricsInterface(DBusPaths::serviceName(),
53
DBusPaths::userMetrics(), *connection);
55
QList<QDBusObjectPath> dataSources = userMetricsInterface.dataSources();
56
EXPECT_TRUE(dataSources.empty());
60
MetricManagerPtr manager(new MetricManagerImpl(*connection));
61
MetricPtr metric(manager->add("data-source-id", "format string %1"));
65
MetricManagerPtr manager(new MetricManagerImpl(*connection));
66
MetricPtr metric(manager->add("data-source-id", "format string %1"));
70
QList<QDBusObjectPath> dataSources = userMetricsInterface.dataSources();
71
ASSERT_EQ(1, dataSources.size());
72
EXPECT_EQ(DBusPaths::dataSource(1), dataSources.first().path());
75
com::canonical::usermetrics::DataSource dataSourceInterface(
76
DBusPaths::serviceName(), DBusPaths::dataSource(1), *connection);
77
QString name(dataSourceInterface.name());
78
EXPECT_EQ(QString("data-source-id"), name);
81
TEST_F(TestMetricManagerImpl, TestCanAddDataAndUpdate) {
82
MetricManagerPtr manager(new MetricManagerImpl(*connection));
42
84
MetricPtr metric(manager->add("data-source-id", "format string %1"));
44
MetricUpdatePtr update(metric->update("username"));
87
MetricUpdatePtr update(metric->update("the-username"));
88
update->addData(100.0);
90
update->addData(-50.0);
91
update->addData(-22.0);
94
com::canonical::usermetrics::UserData userDataInterface(
95
DBusPaths::serviceName(), DBusPaths::userData(1), *connection);
96
EXPECT_EQ(QString("the-username"), userDataInterface.username());
98
com::canonical::usermetrics::DataSet dataSetInterface(
99
DBusPaths::serviceName(), DBusPaths::dataSet(1), *connection);
100
QVariantList data(dataSetInterface.data());
101
EXPECT_FLOAT_EQ(100.0, data.at(0).toDouble());
102
EXPECT_EQ(QString(""), data.at(1).toString());
103
EXPECT_FLOAT_EQ(-50.0, data.at(2).toDouble());
104
EXPECT_FLOAT_EQ(-22.0, data.at(3).toDouble());
106
QDateTime dateTime(QDateTime::fromTime_t(dataSetInterface.lastUpdated()));
107
EXPECT_EQ(QDate::currentDate(), dateTime.date());
110
TEST_F(TestMetricManagerImpl, TestAddMultipleDataSourcesAndUsers) {
111
MetricManagerPtr manager(new MetricManagerImpl(*connection));
114
manager->add("data-source-one", "format string one %1"));
116
manager->add("data-source-two", "format string two %1"));
119
MetricUpdatePtr updateOne(metricOne->update("the-username-one"));
120
updateOne->addData(100.0);
121
MetricUpdatePtr updateTwo(metricOne->update("the-username-two"));
122
updateTwo->addData(75.0);
124
MetricUpdatePtr updateThree(metricTwo->update("the-username-one"));
125
updateThree->addData(50.0);
126
MetricUpdatePtr updateFour(metricTwo->update("the-username-two"));
127
updateFour->addData(25.0);
130
com::canonical::usermetrics::UserData userDataInterfaceOne(
131
DBusPaths::serviceName(), DBusPaths::userData(1), *connection);
132
EXPECT_EQ(QString("the-username-one"), userDataInterfaceOne.username());
133
com::canonical::usermetrics::UserData userDataInterfaceTwo(
134
DBusPaths::serviceName(), DBusPaths::userData(2), *connection);
135
EXPECT_EQ(QString("the-username-two"), userDataInterfaceTwo.username());
137
com::canonical::usermetrics::DataSet dataSetInterfaceOne(
138
DBusPaths::serviceName(), DBusPaths::dataSet(1), *connection);
139
QVariantList dataOne(dataSetInterfaceOne.data());
140
EXPECT_FLOAT_EQ(100.0, dataOne.first().toDouble());
142
com::canonical::usermetrics::DataSet dataSetInterfaceTwo(
143
DBusPaths::serviceName(), DBusPaths::dataSet(2), *connection);
144
QVariantList dataTwo(dataSetInterfaceTwo.data());
145
EXPECT_FLOAT_EQ(75.0, dataTwo.first().toDouble());
147
com::canonical::usermetrics::DataSet dataSetInterfaceThree(
148
DBusPaths::serviceName(), DBusPaths::dataSet(3), *connection);
149
QVariantList dataThree(dataSetInterfaceThree.data());
150
EXPECT_FLOAT_EQ(50.0, dataThree.first().toDouble());
152
com::canonical::usermetrics::DataSet dataSetInterfaceFour(
153
DBusPaths::serviceName(), DBusPaths::dataSet(4), *connection);
154
QVariantList dataFour(dataSetInterfaceFour.data());
155
EXPECT_FLOAT_EQ(25.0, dataFour.first().toDouble());