@@ -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