~ubuntu-branches/ubuntu/trusty/libusermetrics/trusty-proposed

« back to all changes in this revision

Viewing changes to tests/unit/libusermetricsinput/TestUserMetricInputCAPI.cpp

  • Committer: Package Import Robot
  • Author(s): Ubuntu daily release, Pete Woods, Ubuntu daily release
  • Date: 2013-07-02 02:02:52 UTC
  • mfrom: (1.1.2)
  • Revision ID: package-import@ubuntu.com-20130702020252-53yuhnlabsq1cq8x
Tags: 1.0.1+13.10.20130702-0ubuntu1
[ Pete Woods ]
* Implement most of storage service and wire up input API.
* Wire up the output API to the storage service.

[ Ubuntu daily release ]
* Automatic snapshot from revision 80

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 */
18
18
 
19
19
#include <libusermetricsinput/usermetricsinput.h>
 
20
#include <libusermetricscommon/UserMetricsInterface.h>
 
21
#include <libusermetricscommon/UserDataInterface.h>
 
22
#include <libusermetricscommon/DataSetInterface.h>
 
23
#include <libusermetricscommon/DataSourceInterface.h>
 
24
#include <libusermetricscommon/DBusPaths.h>
 
25
 
 
26
#include <testutils/DBusTest.h>
 
27
#include <testutils/QVariantListPrinter.h>
20
28
 
21
29
#include <gtest/gtest.h>
22
30
#include <gmock/gmock.h>
23
31
 
24
 
using namespace std;
25
32
using namespace testing;
 
33
using namespace UserMetricsCommon;
 
34
using namespace UserMetricsTestUtils;
26
35
 
27
36
namespace {
28
37
 
29
 
class TestUserMetricInputCAPI: public Test {
 
38
class TestUserMetricInputCAPI: public DBusTest {
30
39
protected:
31
40
        TestUserMetricInputCAPI() {
32
41
        }
35
44
        }
36
45
};
37
46
 
38
 
TEST_F(TestUserMetricInputCAPI, Foo) {
 
47
TEST_F(TestUserMetricInputCAPI, TestNothingYet) {
 
48
        QByteArray byteArray(bus.toUtf8());
 
49
        setenv("DBUS_SYSTEM_BUS_ADDRESS", byteArray.data(), true);
 
50
 
39
51
        UserMetricsInputMetricManager metricManager =
40
52
                        usermetricsinput_metricmanager_new();
41
53
 
42
54
        UserMetricsInputMetric metric = usermetricsinput_metricmanager_add(
43
 
                        metricManager, "data-source-id", "format string %1");
 
55
                        metricManager, "data-source-id-capi", "format string c-api %1");
44
56
 
45
57
        UserMetricsInputMetricUpdate metricUpdate = usermetricsinput_metric_update(
46
 
                        metric, "username");
 
58
                        metric, "username_capi");
47
59
        usermetricsinput_metricupdate_add_data(metricUpdate, 1.0);
48
60
        usermetricsinput_metricupdate_add_null(metricUpdate);
49
61
        usermetricsinput_metricupdate_add_data(metricUpdate, 0.1);
50
62
        usermetricsinput_metricupdate_delete(metricUpdate);
51
63
 
52
64
        usermetricsinput_metricmanager_delete(metricManager);
 
65
 
 
66
        com::canonical::UserMetrics userMetricsInterface(DBusPaths::serviceName(),
 
67
                        DBusPaths::userMetrics(), *connection);
 
68
 
 
69
        {
 
70
                QList<QDBusObjectPath> dataSources = userMetricsInterface.dataSources();
 
71
                EXPECT_EQ(1, dataSources.size());
 
72
                ASSERT_EQ(DBusPaths::dataSource(1), dataSources.first().path());
 
73
        }
 
74
 
 
75
        com::canonical::usermetrics::DataSource dataSourceInterface(
 
76
                        DBusPaths::serviceName(), DBusPaths::dataSource(1), *connection);
 
77
        EXPECT_EQ(QString("data-source-id-capi"), dataSourceInterface.name());
 
78
        EXPECT_EQ(QString("format string c-api %1"),
 
79
                        dataSourceInterface.formatString());
 
80
 
 
81
        com::canonical::usermetrics::UserData userDataInterface(
 
82
                        DBusPaths::serviceName(), DBusPaths::userData(1), *connection);
 
83
        EXPECT_EQ(QString("username_capi"), userDataInterface.username());
 
84
 
 
85
        com::canonical::usermetrics::DataSet dataSetInterface(
 
86
                        DBusPaths::serviceName(), DBusPaths::dataSet(1), *connection);
 
87
        QVariantList data(dataSetInterface.data());
 
88
        ASSERT_EQ(3, data.size());
 
89
        EXPECT_FLOAT_EQ(1.0, data.at(0).toDouble());
 
90
        EXPECT_EQ(QString(""), data.at(1).toString());
 
91
        EXPECT_FLOAT_EQ(0.1, data.at(2).toDouble());
53
92
}
54
93
 
55
94
} // namespace