~azzar1/snapd-glib-fork/glib-2-40

« back to all changes in this revision

Viewing changes to tests/test-qt.cpp

  • Committer: Robert Ancell
  • Date: 2017-05-15 02:10:30 UTC
  • Revision ID: git-v1:3979521798d960405cbc1c11cc1398345f84cad9
Add snapd_client_install2 which adds support for install flags and revision

Show diffs side-by-side

added added

removed removed

Lines of Context:
1055
1055
    installRequest->runSync ();
1056
1056
    g_assert_cmpint (installRequest->error (), ==, QSnapdRequest::NoError);
1057
1057
    g_assert (mock_snapd_find_snap (snapd, "snap") != NULL);
 
1058
    g_assert_cmpstr (mock_snapd_find_snap (snapd, "snap")->confinement, ==, "strict");
 
1059
    g_assert (!mock_snapd_find_snap (snapd, "snap")->devmode);
 
1060
    g_assert (!mock_snapd_find_snap (snapd, "snap")->dangerous);
 
1061
    g_assert (!mock_snapd_find_snap (snapd, "snap")->jailmode);
1058
1062
}
1059
1063
 
1060
1064
void InstallProgressCounter::progress ()
1110
1114
}
1111
1115
 
1112
1116
static void
 
1117
test_install_needs_classic ()
 
1118
{
 
1119
    g_autoptr(MockSnapd) snapd = mock_snapd_new ();
 
1120
    MockSnap *s = mock_snapd_add_store_snap (snapd, "snap");
 
1121
    mock_snap_set_confinement (s, "classic");
 
1122
 
 
1123
    QSnapdClient client (g_socket_get_fd (mock_snapd_get_client_socket (snapd)));
 
1124
    QScopedPointer<QSnapdConnectRequest> connectRequest (client.connect ());
 
1125
    connectRequest->runSync ();
 
1126
    g_assert_cmpint (connectRequest->error (), ==, QSnapdRequest::NoError);
 
1127
 
 
1128
    g_assert (mock_snapd_find_snap (snapd, "snap") == NULL);
 
1129
    QScopedPointer<QSnapdInstallRequest> installRequest (client.install ("snap"));
 
1130
    installRequest->runSync ();
 
1131
    g_assert_cmpint (installRequest->error (), ==, QSnapdRequest::NeedsClassic);
 
1132
}
 
1133
 
 
1134
static void
 
1135
test_install_classic ()
 
1136
{
 
1137
    g_autoptr(MockSnapd) snapd = mock_snapd_new ();
 
1138
    mock_snapd_set_on_classic (snapd, TRUE);
 
1139
    MockSnap *s = mock_snapd_add_store_snap (snapd, "snap");
 
1140
    mock_snap_set_confinement (s, "classic");
 
1141
 
 
1142
    QSnapdClient client (g_socket_get_fd (mock_snapd_get_client_socket (snapd)));
 
1143
    QScopedPointer<QSnapdConnectRequest> connectRequest (client.connect ());
 
1144
    connectRequest->runSync ();
 
1145
    g_assert_cmpint (connectRequest->error (), ==, QSnapdRequest::NoError);
 
1146
 
 
1147
    g_assert (mock_snapd_find_snap (snapd, "snap") == NULL);
 
1148
    QScopedPointer<QSnapdInstallRequest> installRequest (client.install (QSnapdClient::Classic, "snap"));
 
1149
    installRequest->runSync ();
 
1150
    g_assert_cmpint (installRequest->error (), ==, QSnapdRequest::NoError);
 
1151
    g_assert (mock_snapd_find_snap (snapd, "snap") != NULL);
 
1152
    g_assert_cmpstr (mock_snapd_find_snap (snapd, "snap")->confinement, ==, "classic");
 
1153
}
 
1154
 
 
1155
static void
 
1156
test_install_needs_classic_system ()
 
1157
{
 
1158
    g_autoptr(MockSnapd) snapd = mock_snapd_new ();
 
1159
    MockSnap *s = mock_snapd_add_store_snap (snapd, "snap");
 
1160
    mock_snap_set_confinement (s, "classic");
 
1161
 
 
1162
    QSnapdClient client (g_socket_get_fd (mock_snapd_get_client_socket (snapd)));
 
1163
    QScopedPointer<QSnapdConnectRequest> connectRequest (client.connect ());
 
1164
    connectRequest->runSync ();
 
1165
    g_assert_cmpint (connectRequest->error (), ==, QSnapdRequest::NoError);
 
1166
 
 
1167
    g_assert (mock_snapd_find_snap (snapd, "snap") == NULL);
 
1168
    QScopedPointer<QSnapdInstallRequest> installRequest (client.install (QSnapdClient::Classic, "snap"));
 
1169
    installRequest->runSync ();
 
1170
    g_assert_cmpint (installRequest->error (), ==, QSnapdRequest::NeedsClassicSystem);
 
1171
}
 
1172
 
 
1173
static void
 
1174
test_install_needs_devmode ()
 
1175
{
 
1176
    g_autoptr(MockSnapd) snapd = mock_snapd_new ();
 
1177
    MockSnap *s = mock_snapd_add_store_snap (snapd, "snap");
 
1178
    mock_snap_set_confinement (s, "devmode");
 
1179
 
 
1180
    QSnapdClient client (g_socket_get_fd (mock_snapd_get_client_socket (snapd)));
 
1181
    QScopedPointer<QSnapdConnectRequest> connectRequest (client.connect ());
 
1182
    connectRequest->runSync ();
 
1183
    g_assert_cmpint (connectRequest->error (), ==, QSnapdRequest::NoError);
 
1184
 
 
1185
    g_assert (mock_snapd_find_snap (snapd, "snap") == NULL);
 
1186
    QScopedPointer<QSnapdInstallRequest> installRequest (client.install ("snap"));
 
1187
    installRequest->runSync ();
 
1188
    g_assert_cmpint (installRequest->error (), ==, QSnapdRequest::NeedsDevmode);
 
1189
}
 
1190
 
 
1191
static void
 
1192
test_install_devmode ()
 
1193
{
 
1194
    g_autoptr(MockSnapd) snapd = mock_snapd_new ();
 
1195
    MockSnap *s = mock_snapd_add_store_snap (snapd, "snap");
 
1196
    mock_snap_set_confinement (s, "devmode");
 
1197
 
 
1198
    QSnapdClient client (g_socket_get_fd (mock_snapd_get_client_socket (snapd)));
 
1199
    QScopedPointer<QSnapdConnectRequest> connectRequest (client.connect ());
 
1200
    connectRequest->runSync ();
 
1201
    g_assert_cmpint (connectRequest->error (), ==, QSnapdRequest::NoError);
 
1202
 
 
1203
    g_assert (mock_snapd_find_snap (snapd, "snap") == NULL);
 
1204
    QScopedPointer<QSnapdInstallRequest> installRequest (client.install (QSnapdClient::Devmode, "snap"));
 
1205
    installRequest->runSync ();
 
1206
    g_assert_cmpint (installRequest->error (), ==, QSnapdRequest::NoError);
 
1207
    g_assert (mock_snapd_find_snap (snapd, "snap") != NULL);
 
1208
    g_assert (mock_snapd_find_snap (snapd, "snap")->devmode);
 
1209
}
 
1210
 
 
1211
static void
 
1212
test_install_dangerous ()
 
1213
{
 
1214
    g_autoptr(MockSnapd) snapd = mock_snapd_new ();
 
1215
    mock_snapd_add_store_snap (snapd, "snap");
 
1216
 
 
1217
    QSnapdClient client (g_socket_get_fd (mock_snapd_get_client_socket (snapd)));
 
1218
    QScopedPointer<QSnapdConnectRequest> connectRequest (client.connect ());
 
1219
    connectRequest->runSync ();
 
1220
    g_assert_cmpint (connectRequest->error (), ==, QSnapdRequest::NoError);
 
1221
 
 
1222
    g_assert (mock_snapd_find_snap (snapd, "snap") == NULL);
 
1223
    QScopedPointer<QSnapdInstallRequest> installRequest (client.install (QSnapdClient::Dangerous, "snap"));
 
1224
    installRequest->runSync ();
 
1225
    g_assert_cmpint (installRequest->error (), ==, QSnapdRequest::NoError);
 
1226
    g_assert (mock_snapd_find_snap (snapd, "snap") != NULL);
 
1227
    g_assert (mock_snapd_find_snap (snapd, "snap")->dangerous);
 
1228
}
 
1229
 
 
1230
static void
 
1231
test_install_jailmode ()
 
1232
{
 
1233
    g_autoptr(MockSnapd) snapd = mock_snapd_new ();
 
1234
    mock_snapd_add_store_snap (snapd, "snap");
 
1235
 
 
1236
    QSnapdClient client (g_socket_get_fd (mock_snapd_get_client_socket (snapd)));
 
1237
    QScopedPointer<QSnapdConnectRequest> connectRequest (client.connect ());
 
1238
    connectRequest->runSync ();
 
1239
    g_assert_cmpint (connectRequest->error (), ==, QSnapdRequest::NoError);
 
1240
 
 
1241
    g_assert (mock_snapd_find_snap (snapd, "snap") == NULL);
 
1242
    QScopedPointer<QSnapdInstallRequest> installRequest (client.install (QSnapdClient::Jailmode, "snap"));
 
1243
    installRequest->runSync ();
 
1244
    g_assert_cmpint (installRequest->error (), ==, QSnapdRequest::NoError);
 
1245
    g_assert (mock_snapd_find_snap (snapd, "snap") != NULL);
 
1246
    g_assert (mock_snapd_find_snap (snapd, "snap")->jailmode);
 
1247
}
 
1248
 
 
1249
static void
1113
1250
test_install_channel ()
1114
1251
{
1115
1252
    g_autoptr(MockSnapd) snapd = mock_snapd_new ();
1131
1268
}
1132
1269
 
1133
1270
static void
 
1271
test_install_revision ()
 
1272
{
 
1273
    g_autoptr(MockSnapd) snapd = mock_snapd_new ();
 
1274
    MockSnap *s = mock_snapd_add_store_snap (snapd, "snap");
 
1275
    mock_snap_set_revision (s, "1.2");
 
1276
    s = mock_snapd_add_store_snap (snapd, "snap");
 
1277
    mock_snap_set_revision (s, "1.1");
 
1278
 
 
1279
    QSnapdClient client (g_socket_get_fd (mock_snapd_get_client_socket (snapd)));
 
1280
    QScopedPointer<QSnapdConnectRequest> connectRequest (client.connect ());
 
1281
    connectRequest->runSync ();
 
1282
    g_assert_cmpint (connectRequest->error (), ==, QSnapdRequest::NoError);
 
1283
 
 
1284
    QScopedPointer<QSnapdInstallRequest> installRequest (client.install ("snap", NULL, "1.1"));
 
1285
    installRequest->runSync ();
 
1286
    g_assert_cmpint (installRequest->error (), ==, QSnapdRequest::NoError);
 
1287
    g_assert (mock_snapd_find_snap (snapd, "snap") != NULL);
 
1288
    g_assert_cmpstr (mock_snapd_find_snap (snapd, "snap")->revision, ==, "1.1");
 
1289
}
 
1290
 
 
1291
static void
1134
1292
test_install_not_available ()
1135
1293
{
1136
1294
    g_autoptr(MockSnapd) snapd = mock_snapd_new ();
2209
2367
    g_test_add_func ("/find-refreshable/no-updates", test_find_refreshable_no_updates);
2210
2368
    g_test_add_func ("/install/basic", test_install);
2211
2369
    g_test_add_func ("/install/progress", test_install_progress);
 
2370
    g_test_add_func ("/install/needs-classic", test_install_needs_classic);
 
2371
    g_test_add_func ("/install/classic", test_install_classic);
 
2372
    g_test_add_func ("/install/needs-classic-system", test_install_needs_classic_system);
 
2373
    g_test_add_func ("/install/needs-devmode", test_install_needs_devmode);
 
2374
    g_test_add_func ("/install/devmode", test_install_devmode);
 
2375
    g_test_add_func ("/install/dangerous", test_install_dangerous);
 
2376
    g_test_add_func ("/install/jailmode", test_install_jailmode);
2212
2377
    g_test_add_func ("/install/channel", test_install_channel);
 
2378
    g_test_add_func ("/install/revision", test_install_revision);
2213
2379
    g_test_add_func ("/install/not-available", test_install_not_available);
2214
2380
    g_test_add_func ("/install-stream/basic", test_install_stream);
2215
2381
    g_test_add_func ("/install-stream/progress", test_install_stream_progress);