@@ -37,6 +37,11 @@ namespace multipass::test
37
37
{
38
38
using uut_t = hyperv::hcs::HCSWrapper;
39
39
40
+ using hyperv::hcs::HcsNetworkAdapter;
41
+ using hyperv::hcs::HcsRequest;
42
+ using hyperv::hcs::HcsRequestType;
43
+ using hyperv::hcs::HcsResourcePath;
44
+
40
45
struct HyperVHCSAPI_UnitTests : public ::testing::Test
41
46
{
42
47
mpt::MockLogger::Scope logger_scope = mpt::MockLogger::inject();
@@ -2257,11 +2262,15 @@ TEST_F(HyperVHCSAPI_UnitTests, add_network_adapter_to_compute_system_happy_path)
2257
2262
generic_operation_happy_path<decltype (HcsModifyComputeSystem)>(
2258
2263
mock_api_table.ModifyComputeSystem ,
2259
2264
[&](hyperv::hcs::HCSWrapper& wrapper) {
2260
- logger_scope.mock_logger ->expect_log (mpl::Level::debug, " add_network_adapter (...) > params:" );
2265
+ logger_scope.mock_logger ->expect_log (mpl::Level::debug, " modify_compute_system (...) > params:" );
2261
2266
hyperv::hcs::HcsNetworkAdapter params{};
2262
2267
params.endpoint_guid = " 288cc1ac-8f31-4a09-9e90-30ad0bcfdbca" ;
2263
2268
params.mac_address = " 00:00:00:00:00:00" ;
2264
- return wrapper.add_network_adapter (" test_vm" , params);
2269
+
2270
+ HcsRequest add_network_adapter_req{HcsResourcePath::NetworkAdapters (params.endpoint_guid ),
2271
+ HcsRequestType::Add (),
2272
+ params};
2273
+ return wrapper.modify_compute_system (" test_vm" , add_network_adapter_req);
2265
2274
},
2266
2275
[](HCS_SYSTEM computeSystem, HCS_OPERATION operation, PCWSTR configuration, HANDLE identity) {
2267
2276
ASSERT_EQ (mock_compute_system_object, computeSystem);
@@ -2279,9 +2288,12 @@ TEST_F(HyperVHCSAPI_UnitTests, add_network_adapter_to_compute_system_hcs_open_fa
2279
2288
generic_operation_hcs_open_fail<decltype (HcsModifyComputeSystem)>(
2280
2289
mock_api_table.ModifyComputeSystem ,
2281
2290
[&](hyperv::hcs::HCSWrapper& wrapper) {
2282
- logger_scope.mock_logger ->expect_log (mpl::Level::debug, " add_network_adapter (...)" );
2291
+ logger_scope.mock_logger ->expect_log (mpl::Level::debug, " modify_compute_system (...)" );
2283
2292
hyperv::hcs::HcsNetworkAdapter params{};
2284
- return wrapper.add_network_adapter (" test_vm" , params);
2293
+ HcsRequest add_network_adapter_req{HcsResourcePath::NetworkAdapters (params.endpoint_guid ),
2294
+ HcsRequestType::Add (),
2295
+ params};
2296
+ return wrapper.modify_compute_system (" test_vm" , add_network_adapter_req);
2285
2297
});
2286
2298
}
2287
2299
@@ -2292,9 +2304,12 @@ TEST_F(HyperVHCSAPI_UnitTests, add_network_adapter_to_compute_system_create_oper
2292
2304
generic_operation_create_operation_fail<decltype (HcsModifyComputeSystem)>(
2293
2305
mock_api_table.ModifyComputeSystem ,
2294
2306
[&](hyperv::hcs::HCSWrapper& wrapper) {
2295
- logger_scope.mock_logger ->expect_log (mpl::Level::debug, " add_network_adapter (...)" );
2307
+ logger_scope.mock_logger ->expect_log (mpl::Level::debug, " modify_compute_system (...)" );
2296
2308
hyperv::hcs::HcsNetworkAdapter params{};
2297
- return wrapper.add_network_adapter (" test_vm" , params);
2309
+ HcsRequest add_network_adapter_req{HcsResourcePath::NetworkAdapters (params.endpoint_guid ),
2310
+ HcsRequestType::Add (),
2311
+ params};
2312
+ return wrapper.modify_compute_system (" test_vm" , add_network_adapter_req);
2298
2313
});
2299
2314
}
2300
2315
@@ -2316,11 +2331,14 @@ TEST_F(HyperVHCSAPI_UnitTests, add_network_adapter_to_compute_system_fail)
2316
2331
generic_operation_fail<decltype (HcsModifyComputeSystem)>(
2317
2332
mock_api_table.ModifyComputeSystem ,
2318
2333
[&](hyperv::hcs::HCSWrapper& wrapper) {
2319
- logger_scope.mock_logger ->expect_log (mpl::Level::debug, " add_network_adapter (...)" );
2334
+ logger_scope.mock_logger ->expect_log (mpl::Level::debug, " modify_compute_system (...)" );
2320
2335
hyperv::hcs::HcsNetworkAdapter params{};
2321
2336
params.endpoint_guid = " 288cc1ac-8f31-4a09-9e90-30ad0bcfdbca" ;
2322
2337
params.mac_address = " 00:00:00:00:00:00" ;
2323
- return wrapper.add_network_adapter (" test_vm" , params);
2338
+ HcsRequest add_network_adapter_req{HcsResourcePath::NetworkAdapters (params.endpoint_guid ),
2339
+ HcsRequestType::Add (),
2340
+ params};
2341
+ return wrapper.modify_compute_system (" test_vm" , add_network_adapter_req);
2324
2342
},
2325
2343
[](HCS_SYSTEM computeSystem, HCS_OPERATION operation, PCWSTR configuration, HANDLE identity) {
2326
2344
ASSERT_EQ (mock_compute_system_object, computeSystem);
@@ -2349,11 +2367,14 @@ TEST_F(HyperVHCSAPI_UnitTests, add_network_adapter_to_compute_system_wait_for_op
2349
2367
generic_operation_wait_for_operation_fail<decltype (HcsModifyComputeSystem)>(
2350
2368
mock_api_table.ModifyComputeSystem ,
2351
2369
[&](hyperv::hcs::HCSWrapper& wrapper) {
2352
- logger_scope.mock_logger ->expect_log (mpl::Level::debug, " add_network_adapter (...)" );
2370
+ logger_scope.mock_logger ->expect_log (mpl::Level::debug, " modify_compute_system (...)" );
2353
2371
hyperv::hcs::HcsNetworkAdapter params{};
2354
2372
params.endpoint_guid = " 288cc1ac-8f31-4a09-9e90-30ad0bcfdbca" ;
2355
2373
params.mac_address = " 00:00:00:00:00:00" ;
2356
- return wrapper.add_network_adapter (" test_vm" , params);
2374
+ HcsRequest add_network_adapter_req{HcsResourcePath::NetworkAdapters (params.endpoint_guid ),
2375
+ HcsRequestType::Add (),
2376
+ params};
2377
+ return wrapper.modify_compute_system (" test_vm" , add_network_adapter_req);
2357
2378
},
2358
2379
[](HCS_SYSTEM computeSystem, HCS_OPERATION operation, PCWSTR configuration, HANDLE identity) {
2359
2380
ASSERT_EQ (mock_compute_system_object, computeSystem);
@@ -2371,16 +2392,19 @@ TEST_F(HyperVHCSAPI_UnitTests, remove_network_adapter_from_compute_system_happy_
2371
2392
constexpr auto expected_modify_compute_system_configuration = LR"(
2372
2393
{
2373
2394
"ResourcePath": "VirtualMachine/Devices/NetworkAdapters/{288cc1ac-8f31-4a09-9e90-30ad0bcfdbca}",
2374
- "RequestType": "Remove"
2395
+ "RequestType": "Remove",
2396
+ "Settings": null
2375
2397
})" ;
2376
2398
2377
2399
generic_operation_happy_path<decltype (HcsModifyComputeSystem)>(
2378
2400
mock_api_table.ModifyComputeSystem ,
2379
2401
[&](hyperv::hcs::HCSWrapper& wrapper) {
2380
- logger_scope.mock_logger ->expect_log (
2381
- mpl::Level::debug,
2382
- " remove_network_adapter(...) > name: (test_vm), endpoint_guid: (288cc1ac-8f31-4a09-9e90-30ad0bcfdbca)" );
2383
- return wrapper.remove_network_adapter (" test_vm" , " 288cc1ac-8f31-4a09-9e90-30ad0bcfdbca" );
2402
+ logger_scope.mock_logger ->expect_log (mpl::Level::debug, " modify_compute_system(...) > params:" );
2403
+
2404
+ HcsRequest remove_network_adapter_req{
2405
+ HcsResourcePath::NetworkAdapters (" 288cc1ac-8f31-4a09-9e90-30ad0bcfdbca" ),
2406
+ HcsRequestType::Remove ()};
2407
+ return wrapper.modify_compute_system (" test_vm" , remove_network_adapter_req);
2384
2408
},
2385
2409
[](HCS_SYSTEM computeSystem, HCS_OPERATION operation, PCWSTR configuration, HANDLE identity) {
2386
2410
ASSERT_EQ (mock_compute_system_object, computeSystem);
@@ -2398,8 +2422,11 @@ TEST_F(HyperVHCSAPI_UnitTests, remove_network_adapter_from_compute_system_hcs_op
2398
2422
generic_operation_hcs_open_fail<decltype (HcsModifyComputeSystem)>(
2399
2423
mock_api_table.ModifyComputeSystem ,
2400
2424
[&](hyperv::hcs::HCSWrapper& wrapper) {
2401
- logger_scope.mock_logger ->expect_log (mpl::Level::debug, " remove_network_adapter(...)" );
2402
- return wrapper.remove_network_adapter (" test_vm" , " 288cc1ac-8f31-4a09-9e90-30ad0bcfdbca" );
2425
+ logger_scope.mock_logger ->expect_log (mpl::Level::debug, " modify_compute_system(...) > params:" );
2426
+ HcsRequest remove_network_adapter_req{
2427
+ HcsResourcePath::NetworkAdapters (" 288cc1ac-8f31-4a09-9e90-30ad0bcfdbca" ),
2428
+ HcsRequestType::Remove ()};
2429
+ return wrapper.modify_compute_system (" test_vm" , remove_network_adapter_req);
2403
2430
});
2404
2431
}
2405
2432
@@ -2410,8 +2437,11 @@ TEST_F(HyperVHCSAPI_UnitTests, remove_network_adapter_from_compute_system_create
2410
2437
generic_operation_create_operation_fail<decltype (HcsModifyComputeSystem)>(
2411
2438
mock_api_table.ModifyComputeSystem ,
2412
2439
[&](hyperv::hcs::HCSWrapper& wrapper) {
2413
- logger_scope.mock_logger ->expect_log (mpl::Level::debug, " remove_network_adapter(...)" );
2414
- return wrapper.remove_network_adapter (" test_vm" , " 288cc1ac-8f31-4a09-9e90-30ad0bcfdbca" );
2440
+ logger_scope.mock_logger ->expect_log (mpl::Level::debug, " modify_compute_system(...) > params:" );
2441
+ HcsRequest remove_network_adapter_req{
2442
+ HcsResourcePath::NetworkAdapters (" 288cc1ac-8f31-4a09-9e90-30ad0bcfdbca" ),
2443
+ HcsRequestType::Remove ()};
2444
+ return wrapper.modify_compute_system (" test_vm" , remove_network_adapter_req);
2415
2445
});
2416
2446
}
2417
2447
@@ -2422,14 +2452,18 @@ TEST_F(HyperVHCSAPI_UnitTests, remove_network_adapter_from_compute_system_fail)
2422
2452
constexpr auto expected_modify_compute_system_configuration = LR"(
2423
2453
{
2424
2454
"ResourcePath": "VirtualMachine/Devices/NetworkAdapters/{288cc1ac-8f31-4a09-9e90-30ad0bcfdbca}",
2425
- "RequestType": "Remove"
2455
+ "RequestType": "Remove",
2456
+ "Settings": null
2426
2457
})" ;
2427
2458
2428
2459
generic_operation_fail<decltype (HcsModifyComputeSystem)>(
2429
2460
mock_api_table.ModifyComputeSystem ,
2430
2461
[&](hyperv::hcs::HCSWrapper& wrapper) {
2431
- logger_scope.mock_logger ->expect_log (mpl::Level::debug, " remove_network_adapter(...)" );
2432
- return wrapper.remove_network_adapter (" test_vm" , " 288cc1ac-8f31-4a09-9e90-30ad0bcfdbca" );
2462
+ logger_scope.mock_logger ->expect_log (mpl::Level::debug, " modify_compute_system(...) > params:" );
2463
+ HcsRequest remove_network_adapter_req{
2464
+ HcsResourcePath::NetworkAdapters (" 288cc1ac-8f31-4a09-9e90-30ad0bcfdbca" ),
2465
+ HcsRequestType::Remove ()};
2466
+ return wrapper.modify_compute_system (" test_vm" , remove_network_adapter_req);
2433
2467
},
2434
2468
[](HCS_SYSTEM computeSystem, HCS_OPERATION operation, PCWSTR configuration, HANDLE identity) {
2435
2469
ASSERT_EQ (mock_compute_system_object, computeSystem);
@@ -2447,14 +2481,18 @@ TEST_F(HyperVHCSAPI_UnitTests, remove_network_adapter_from_compute_system_wait_f
2447
2481
constexpr auto expected_modify_compute_system_configuration = LR"(
2448
2482
{
2449
2483
"ResourcePath": "VirtualMachine/Devices/NetworkAdapters/{288cc1ac-8f31-4a09-9e90-30ad0bcfdbca}",
2450
- "RequestType": "Remove"
2484
+ "RequestType": "Remove",
2485
+ "Settings": null
2451
2486
})" ;
2452
2487
2453
2488
generic_operation_wait_for_operation_fail<decltype (HcsModifyComputeSystem)>(
2454
2489
mock_api_table.ModifyComputeSystem ,
2455
2490
[&](hyperv::hcs::HCSWrapper& wrapper) {
2456
- logger_scope.mock_logger ->expect_log (mpl::Level::debug, " remove_network_adapter(...)" );
2457
- return wrapper.remove_network_adapter (" test_vm" , " 288cc1ac-8f31-4a09-9e90-30ad0bcfdbca" );
2491
+ logger_scope.mock_logger ->expect_log (mpl::Level::debug, " modify_compute_system(...) > params:" );
2492
+ HcsRequest remove_network_adapter_req{
2493
+ HcsResourcePath::NetworkAdapters (" 288cc1ac-8f31-4a09-9e90-30ad0bcfdbca" ),
2494
+ HcsRequestType::Remove ()};
2495
+ return wrapper.modify_compute_system (" test_vm" , remove_network_adapter_req);
2458
2496
},
2459
2497
[](HCS_SYSTEM computeSystem, HCS_OPERATION operation, PCWSTR configuration, HANDLE identity) {
2460
2498
ASSERT_EQ (mock_compute_system_object, computeSystem);
0 commit comments