Skip to content

Commit 83c9bc7

Browse files
authored
PackageDeploymentManager: Some tests running elevated but didn't need elevation (#5133)
1 parent 8c177dd commit 83c9bc7

1 file changed

Lines changed: 78 additions & 94 deletions

File tree

test/PackageManager/API/PackageDeploymentManagerTests_EnsureReady_RegisterNewerIfAvailable.cpp

Lines changed: 78 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -222,10 +222,6 @@ namespace Test::PackageManager::Tests
222222

223223
TEST_METHOD(EnsurePackageSetReadyAsync_1_Staged_Success)
224224
{
225-
BEGIN_TEST_METHOD_PROPERTIES()
226-
TEST_METHOD_PROPERTY(L"RunAs", L"ElevatedUser")
227-
END_TEST_METHOD_PROPERTIES()
228-
229225
StagePackage_Red();
230226

231227
auto packageDeploymentManager{ winrt::Microsoft::Windows::Management::Deployment::PackageDeploymentManager::GetDefault() };
@@ -450,10 +446,6 @@ namespace Test::PackageManager::Tests
450446

451447
TEST_METHOD(EnsurePackageSetReadyAsync_N_RegisteredAndNotInstalledAndStaged_Success)
452448
{
453-
BEGIN_TEST_METHOD_PROPERTIES()
454-
TEST_METHOD_PROPERTY(L"RunAs", L"ElevatedUser")
455-
END_TEST_METHOD_PROPERTIES()
456-
457449
AddPackage_Red();
458450
RemovePackage_Green();
459451
StagePackage_Blue();
@@ -478,6 +470,83 @@ namespace Test::PackageManager::Tests
478470

479471
VERIFY_IS_TRUE(packageDeploymentManager.IsPackageSetReady(packageSet));
480472
}
473+
474+
TEST_METHOD(EnsurePackageSetReadyAsync_1_RegisteredNewerStaged_Success)
475+
{
476+
RemovePackage_Redder();
477+
AddPackage_Red();
478+
StagePackage_Redder();
479+
480+
VERIFY_IS_TRUE(IsPackageRegistered_Red());
481+
VERIFY_IS_FALSE(IsPackageRegistered_Redder());
482+
483+
auto packageDeploymentManager{ winrt::Microsoft::Windows::Management::Deployment::PackageDeploymentManager::GetDefault() };
484+
485+
winrt::Microsoft::Windows::Management::Deployment::PackageSet packageSet;
486+
PCWSTR c_packageSetId{ L"RGB" };
487+
packageSet.Id(c_packageSetId);
488+
winrt::Microsoft::Windows::Management::Deployment::PackageSetItem red{ Make_PackageSetItem(::TPF::Red::GetPackageFullName(), ::TPF::Red::c_packageDirName) };
489+
packageSet.Items().Append(red);
490+
491+
winrt::Microsoft::Windows::Management::Deployment::EnsureReadyOptions options;
492+
options.RegisterNewerIfAvailable(true);
493+
auto deploymentOperation{ packageDeploymentManager.EnsurePackageSetReadyAsync(packageSet, options) };
494+
auto deploymentResult{ WaitForDeploymentOperation(deploymentOperation) };
495+
TPMT::VerifyDeploymentSucceeded(deploymentResult, __FILE__, __LINE__, __FUNCTION__);
496+
497+
#ifndef TODO_55967280_EnsurePackageSetReadyAsync_doesnt_register_newer_package_if_lower_version_is_currently_registered
498+
WEX::Logging::Log::Comment(L"Bug https://task.ms/55967171 Ensure*() doesn't account for package status");
499+
VERIFY_IS_TRUE(IsPackageRegistered_Red());
500+
VERIFY_IS_FALSE(IsPackageRegistered_Redder());
501+
#else
502+
VERIFY_IS_FALSE(IsPackageRegistered_Red());
503+
VERIFY_IS_TRUE(IsPackageRegistered_Redder());
504+
#endif
505+
VERIFY_IS_TRUE(packageDeploymentManager.IsPackageSetReady(packageSet));
506+
507+
RemovePackage_Redder();
508+
}
509+
510+
TEST_METHOD(EnsurePackageSetReadyAsync_N_RegisteredAndNewerStaged_Success)
511+
{
512+
RemovePackage_Redder();
513+
AddPackage_Red();
514+
StagePackage_Redder();
515+
AddPackage_Green();
516+
517+
VERIFY_IS_TRUE(IsPackageRegistered_Red());
518+
VERIFY_IS_FALSE(IsPackageRegistered_Redder());
519+
VERIFY_IS_TRUE(IsPackageRegistered_Green());
520+
521+
auto packageDeploymentManager{ winrt::Microsoft::Windows::Management::Deployment::PackageDeploymentManager::GetDefault() };
522+
523+
winrt::Microsoft::Windows::Management::Deployment::PackageSet packageSet;
524+
PCWSTR c_packageSetId{ L"RGB" };
525+
packageSet.Id(c_packageSetId);
526+
winrt::Microsoft::Windows::Management::Deployment::PackageSetItem red{ Make_PackageSetItem(::TPF::Red::GetPackageFullName(), ::TPF::Red::c_packageDirName) };
527+
packageSet.Items().Append(red);
528+
winrt::Microsoft::Windows::Management::Deployment::PackageSetItem green{ Make_PackageSetItem(::TPF::Red::GetPackageFullName(), ::TPF::Green::c_packageDirName) };
529+
packageSet.Items().Append(green);
530+
531+
winrt::Microsoft::Windows::Management::Deployment::EnsureReadyOptions options;
532+
options.RegisterNewerIfAvailable(true);
533+
auto deploymentOperation{ packageDeploymentManager.EnsurePackageSetReadyAsync(packageSet, options) };
534+
auto deploymentResult{ WaitForDeploymentOperation(deploymentOperation) };
535+
TPMT::VerifyDeploymentSucceeded(deploymentResult, __FILE__, __LINE__, __FUNCTION__);
536+
537+
#ifndef TODO_55967280_EnsurePackageSetReadyAsync_doesnt_register_newer_package_if_lower_version_is_currently_registered
538+
WEX::Logging::Log::Comment(L"Bug https://task.ms/55967280 RegisterNewerIfAvailable(true) isn't honored");
539+
VERIFY_IS_TRUE(IsPackageRegistered_Red());
540+
VERIFY_IS_FALSE(IsPackageRegistered_Redder());
541+
#else
542+
VERIFY_IS_FALSE(IsPackageRegistered_Red());
543+
VERIFY_IS_TRUE(IsPackageRegistered_Redder());
544+
#endif
545+
VERIFY_IS_TRUE(IsPackageRegistered_Green());
546+
VERIFY_IS_TRUE(packageDeploymentManager.IsPackageSetReady(packageSet));
547+
548+
RemovePackage_Redder();
549+
}
481550
};
482551

483552
class PackageDeploymentManagerTests_EnsureReady_RegisterNewerIfAvailable_Elevated : PackageDeploymentManagerTests_Base
@@ -595,90 +664,5 @@ namespace Test::PackageManager::Tests
595664
VERIFY_IS_TRUE(packageDeploymentManager.IsPackageSetReady(packageSet));
596665
#endif
597666
}
598-
599-
TEST_METHOD(EnsurePackageSetReadyAsync_1_RegisteredNewerStaged_Success)
600-
{
601-
BEGIN_TEST_METHOD_PROPERTIES()
602-
TEST_METHOD_PROPERTY(L"RunAs", L"ElevatedUser")
603-
END_TEST_METHOD_PROPERTIES()
604-
605-
RemovePackage_Redder();
606-
AddPackage_Red();
607-
StagePackage_Redder();
608-
609-
VERIFY_IS_TRUE(IsPackageRegistered_Red());
610-
VERIFY_IS_FALSE(IsPackageRegistered_Redder());
611-
612-
auto packageDeploymentManager{ winrt::Microsoft::Windows::Management::Deployment::PackageDeploymentManager::GetDefault() };
613-
614-
winrt::Microsoft::Windows::Management::Deployment::PackageSet packageSet;
615-
PCWSTR c_packageSetId{ L"RGB" };
616-
packageSet.Id(c_packageSetId);
617-
winrt::Microsoft::Windows::Management::Deployment::PackageSetItem red{ Make_PackageSetItem(::TPF::Red::GetPackageFullName(), ::TPF::Red::c_packageDirName) };
618-
packageSet.Items().Append(red);
619-
620-
winrt::Microsoft::Windows::Management::Deployment::EnsureReadyOptions options;
621-
options.RegisterNewerIfAvailable(true);
622-
auto deploymentOperation{ packageDeploymentManager.EnsurePackageSetReadyAsync(packageSet, options) };
623-
auto deploymentResult{ WaitForDeploymentOperation(deploymentOperation) };
624-
TPMT::VerifyDeploymentSucceeded(deploymentResult, __FILE__, __LINE__, __FUNCTION__);
625-
626-
#ifndef TODO_55967280_EnsurePackageSetReadyAsync_doesnt_register_newer_package_if_lower_version_is_currently_registered
627-
WEX::Logging::Log::Comment(L"Bug https://task.ms/55967171 Ensure*() doesn't account for package status");
628-
VERIFY_IS_TRUE(IsPackageRegistered_Red());
629-
VERIFY_IS_FALSE(IsPackageRegistered_Redder());
630-
#else
631-
VERIFY_IS_FALSE(IsPackageRegistered_Red());
632-
VERIFY_IS_TRUE(IsPackageRegistered_Redder());
633-
#endif
634-
VERIFY_IS_TRUE(packageDeploymentManager.IsPackageSetReady(packageSet));
635-
636-
RemovePackage_Redder();
637-
}
638-
639-
TEST_METHOD(EnsurePackageSetReadyAsync_N_RegisteredAndNewerStaged_Success)
640-
{
641-
BEGIN_TEST_METHOD_PROPERTIES()
642-
TEST_METHOD_PROPERTY(L"RunAs", L"ElevatedUser")
643-
END_TEST_METHOD_PROPERTIES()
644-
645-
RemovePackage_Redder();
646-
AddPackage_Red();
647-
StagePackage_Redder();
648-
AddPackage_Green();
649-
650-
VERIFY_IS_TRUE(IsPackageRegistered_Red());
651-
VERIFY_IS_FALSE(IsPackageRegistered_Redder());
652-
VERIFY_IS_TRUE(IsPackageRegistered_Green());
653-
654-
auto packageDeploymentManager{ winrt::Microsoft::Windows::Management::Deployment::PackageDeploymentManager::GetDefault() };
655-
656-
winrt::Microsoft::Windows::Management::Deployment::PackageSet packageSet;
657-
PCWSTR c_packageSetId{ L"RGB" };
658-
packageSet.Id(c_packageSetId);
659-
winrt::Microsoft::Windows::Management::Deployment::PackageSetItem red{ Make_PackageSetItem(::TPF::Red::GetPackageFullName(), ::TPF::Red::c_packageDirName) };
660-
packageSet.Items().Append(red);
661-
winrt::Microsoft::Windows::Management::Deployment::PackageSetItem green{ Make_PackageSetItem(::TPF::Red::GetPackageFullName(), ::TPF::Green::c_packageDirName) };
662-
packageSet.Items().Append(green);
663-
664-
winrt::Microsoft::Windows::Management::Deployment::EnsureReadyOptions options;
665-
options.RegisterNewerIfAvailable(true);
666-
auto deploymentOperation{ packageDeploymentManager.EnsurePackageSetReadyAsync(packageSet, options) };
667-
auto deploymentResult{ WaitForDeploymentOperation(deploymentOperation) };
668-
TPMT::VerifyDeploymentSucceeded(deploymentResult, __FILE__, __LINE__, __FUNCTION__);
669-
670-
#ifndef TODO_55967280_EnsurePackageSetReadyAsync_doesnt_register_newer_package_if_lower_version_is_currently_registered
671-
WEX::Logging::Log::Comment(L"Bug https://task.ms/55967280 RegisterNewerIfAvailable(true) isn't honored");
672-
VERIFY_IS_TRUE(IsPackageRegistered_Red());
673-
VERIFY_IS_FALSE(IsPackageRegistered_Redder());
674-
#else
675-
VERIFY_IS_FALSE(IsPackageRegistered_Red());
676-
VERIFY_IS_TRUE(IsPackageRegistered_Redder());
677-
#endif
678-
VERIFY_IS_TRUE(IsPackageRegistered_Green());
679-
VERIFY_IS_TRUE(packageDeploymentManager.IsPackageSetReady(packageSet));
680-
681-
RemovePackage_Redder();
682-
}
683-
};
667+
};
684668
}

0 commit comments

Comments
 (0)