155
155
EXPECT_FLOAT_EQ(25.0, dataFour.first().toDouble());
158
TEST_F(TestMetricManagerImpl, TestCanAddDataAndIncrement) {
159
MetricManagerPtr manager(new MetricManagerImpl(*connection));
161
MetricPtr metric(manager->add("data-source-id", "format string %1"));
162
metric->increment(1.0, "the-username");
164
com::canonical::usermetrics::UserData userDataInterface(
165
DBusPaths::serviceName(), DBusPaths::userData(1), *connection);
166
EXPECT_EQ(QString("the-username"), userDataInterface.username());
168
com::canonical::usermetrics::DataSet dataSetInterface(
169
DBusPaths::serviceName(), DBusPaths::dataSet(1), *connection);
171
QVariantList data(dataSetInterface.data());
172
ASSERT_EQ(1, data.size());
173
EXPECT_FLOAT_EQ(1.0, data.at(0).toDouble());
176
metric->increment(2.0, "the-username");
178
QVariantList data(dataSetInterface.data());
179
ASSERT_EQ(1, data.size());
180
EXPECT_FLOAT_EQ(3.0, data.at(0).toDouble());
183
QDateTime dateTime(QDateTime::fromTime_t(dataSetInterface.lastUpdated()));
184
EXPECT_EQ(QDate::currentDate(), dateTime.date());
187
TEST_F(TestMetricManagerImpl, TestCanAddNullAndIncrement) {
188
MetricManagerPtr manager(new MetricManagerImpl(*connection));
190
MetricPtr metric(manager->add("data-source-id", "format string %1"));
192
MetricUpdatePtr update(metric->update("the-username"));
196
com::canonical::usermetrics::UserData userDataInterface(
197
DBusPaths::serviceName(), DBusPaths::userData(1), *connection);
198
EXPECT_EQ(QString("the-username"), userDataInterface.username());
200
com::canonical::usermetrics::DataSet dataSetInterface(
201
DBusPaths::serviceName(), DBusPaths::dataSet(1), *connection);
203
QVariantList data(dataSetInterface.data());
204
ASSERT_EQ(1, data.size());
205
EXPECT_EQ(QString(""), data.at(0).toString());
208
metric->increment(5.2, "the-username");
210
QVariantList data(dataSetInterface.data());
211
ASSERT_EQ(1, data.size());
212
EXPECT_FLOAT_EQ(5.2, data.at(0).toDouble());
215
QDateTime dateTime(QDateTime::fromTime_t(dataSetInterface.lastUpdated()));
216
EXPECT_EQ(QDate::currentDate(), dateTime.date());