Skip to content

Fix Missing Test Apps after Import-TestToolkitToBcContainer #3841

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

ChrisBlankDe
Copy link
Contributor

@ChrisBlankDe ChrisBlankDe commented Feb 25, 2025

Fix #3729

Adds Libraries:

  • "C:\Applications\BaseApp\Test\Microsoft_Library-NoTransactions.app",
  • "C:\Applications\Email - Outlook REST API\Test\Microsoft_Library Outlook REST API.app",
  • "C:\Applications\testframework\teststabilitytools\preventmetadataupdates\Microsoft_Prevent Metadata Updates.app",
  • "C:\Applications\Email - SMTP API\Test Library\Microsoft_Email - SMTP API Test Library.app",
  • "C:\Applications\EnforcedDigitalVouchers\Test Library\Microsoft_Enforced Digital Vouchers Test Library.app",
  • "C:\Applications\FieldServiceIntegration\Test Library\Microsoft_Field Service Integration Test Library.app",
  • "C:\Applications\MasterDataManagement\Test Library\Microsoft__Exclude_Master_Data_Management_Test_Library.app",
  • "C:\Applications\PowerBIReports\Test Library\Microsoft_PowerBI Reports Test Library.app"

Adds Tests:

  • "C:\Applications\AMCBanking365Fundamentals\Test\Microsoft_AMC Banking 365 Fundamentals Test Automations.app",
  • "C:\Applications\APIV1\Test\Microsoft__Exclude_APIV1_ Tests.app",
  • "C:\Applications\APIV2\Test\Microsoft__Exclude_APIV2_ Tests.app",
  • "C:\Applications\AuditFileExport\Test\Microsoft_Audit File Export Tests.app",
  • "C:\Applications\BankAccRecWithAI\Test\Microsoft_Bank Account Reconciliation With AI Tests.app",
  • "C:\Applications\BankDeposits\Test\Microsoft__Exclude_Bank Deposits Tests.app",
  • "C:\Applications\BusinessFoundation\Test\Microsoft_Business Foundation Tests.app",
  • "C:\Applications\ContosoCoffeeDemoDataset\Test\Microsoft_Contoso Coffee Demo Dataset Tests.app",
  • "C:\Applications\DataArchive\test\Microsoft_Data Archive Tests.app",
  • "C:\Applications\DataSearch\test\Microsoft_Data Search Tests.app",
  • "C:\Applications\EDocument Core\Test\Microsoft_E-Document Core Tests.app",
  • "C:\Applications\EDocumentConnectors\Avalara\Test\Microsoft_E-Document Connector - Avalara Tests.app",
  • "C:\Applications\EDocumentConnectors\Logiq\Test\Microsoft_E-Document Connector - Logiq Tests.app",
  • "C:\Applications\EDocumentFormatXRechnung\Test\Microsoft_E-Document format for XRechnung Tests.app",
  • "C:\Applications\EDocumentsConnector\Test\Microsoft_E-Documents Connector Tests.app",
  • "C:\Applications\Elster\Test\Microsoft_ELSTER VAT Localization for Germany Tests.app",
  • "C:\Applications\Email - Current User Connector\Test\Microsoft_Email - Current User Connector Tests.app",
  • "C:\Applications\Email - Microsoft 365 Connector\Test\Microsoft_Email - Microsoft 365 Connector Tests.app",
  • "C:\Applications\Email - SMTP API\Test\Microsoft_Email - SMTP API Tests.app",
  • "C:\Applications\Email - SMTP Connector\Test\Microsoft_Email - SMTP Connector Tests.app",
  • "C:\Applications\EmailLogging\Test\Microsoft__Exclude_Email Logging Using Graph API Tests.app",
  • "C:\Applications\EnforcedDigitalVouchers\Test\Microsoft_Enforced Digital Vouchers Tests.app",
  • "C:\Applications\ErrorMessagesWithRecommendations\test\Microsoft_Error Messages with Recommendations Tests.app",
  • "C:\Applications\EssentialBusinessHeadlines\Test\Microsoft_Essential Business Headlines Test.app",
  • "C:\Applications\ExcelReports\Test\Microsoft_Dynamics BC Excel Reports Tests.app",
  • "C:\Applications\ExternalEvents\test\Microsoft__Exclude_Business_Events_Test.app",
  • "C:\Applications\FieldServiceIntegration\Test\Microsoft_Field Service Integration Test.app",
  • "C:\Applications\Intrastat\Test\Microsoft_Intrastat Core Tests.app",
  • "C:\Applications\LatePaymentPredictor\Test\Microsoft_Late Payment Prediction Tests.app",
  • "C:\Applications\MasterDataManagement\Test\Microsoft__Exclude_Master_Data_Management_Tests.app",
  • "C:\Applications\Onprem Permissions\Test\Microsoft_OnPrem Permissions Tests.app",
  • "C:\Applications\PaymentPractices\Test\Microsoft_Payment Practices Tests.app",
  • "C:\Applications\PayPalPaymentsStandard\Test\Microsoft_PayPal Payments Standard Tests.app",
  • "C:\Applications\PlanConfiguration\Test\Microsoft__Exclude_PlanConfiguration_ Tests.app",
  • "C:\Applications\PowerBIReports\Test\Microsoft_PowerBI Reports Tests.app",
  • "C:\Applications\RecommendedApps\Test\Microsoft_Recommended Apps Tests.app",
  • "C:\Applications\ReportLayouts\Test\Microsoft_Report Layouts Tests.app",
  • "C:\Applications\ReviewGLEntries\Test\Microsoft__Exclude_Review_General_Ledger_Entries_Tests.app",
  • "C:\Applications\SalesAndInventoryForecast\Test\Microsoft_Sales and Inventory Forecast Tests.app",
  • "C:\Applications\SalesLinesSuggestions\Test\Microsoft_Sales Lines Suggestions Tests.app",
  • "C:\Applications\ServiceDeclaration\Test\Microsoft_Service Declaration Tests.app",
  • "C:\Applications\Shopify\test\Microsoft_Shopify Connector Test.app",
  • "C:\Applications\SimplifiedBankStatementImport\Test\Microsoft_Simplified Bank Statement Import Test.app",
  • "C:\Applications\StatisticalAccounts\Test\Microsoft_Statistical Accounts Tests.app",
  • "C:\Applications\SubscriptionBilling\Test\Microsoft_Subscription & Recurring Billing Tests.app",
  • "C:\Applications\Sustainability\Test\Microsoft_Sustainability Tests.app",
  • "C:\Applications\System Application\Test\Microsoft_System Application Test.app",
  • "C:\Applications\WorldPayPaymentsStandard\Test\Microsoft_WorldPay Payments Standard Tests.app"

this would have been simpler / nicer if msft had a consistent folder structure and naming pattern :/

@ChrisBlankDe ChrisBlankDe requested a review from a team as a code owner February 25, 2025 15:43
Copy link
Contributor

@freddydk freddydk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure that adding these:
'Microsoft_Library-NoTransactions.app',
'Microsoft_Prevent Metadata Updates.app'

won't break all tests.

I think the no transactions is an app you an install to make sure that no transactions are made while running tests - and the same with metadata.

@freddydk
Copy link
Contributor

@ChrisBlankDe - have you tested this?

As already mentioned - I assume that all tests will stop working if I install the NoTransactions app

and if there is one thing I really don't want to do, then it is to merge a PR, which breaks the test run of every single partner on planet earth:-)

@ChrisBlankDe
Copy link
Contributor Author

Just double checked this.
NoTransactions must not be imported. - i will provide a fix for that
Prevent Metadata Updates is just a Test Library / Framework. The app only consists of a single instance codeunit ("Block Changes to System Tables") with a manual EventSubscriberInstance

@freddydk
Copy link
Contributor

First of all, you are right that it is a mess:-)

Prevent Metadata Updates is just a Test Library / Framework. The app only consists of a single instance codeunit ("Block Changes to System Tables") with a manual EventSubscriberInstance

But, if any test changes system tables they will fail with prevent metadata updates on.
Example: if a test installs an app or like - right?

On the applications - have you tested that these test apps are running? I excluded a number of test apps, which shouldn't be run.

Lastly - if the SMTP Test API library should be included, it also needs to be included in the compilerfolder code.

@@ -435,7 +436,7 @@ function GetTestToolkitApps {
@(get-childitem -Path "C:\Applications\*.*" -recurse -filter $_)
}
}
$apps += @(get-childitem -Path "C:\Applications\*.*" -recurse -filter "Microsoft_Tests-*.app") | Where-Object { $_ -notlike "*\Microsoft_Tests-TestLibraries.app" -and ($version.Major -ge 17 -or ($_ -notlike "*\Microsoft_Tests-Marketing.app")) -and $_ -notlike "*\Microsoft_Tests-SINGLESERVER.app" }
$apps += @(get-childitem -Path "C:\Applications\*.*" -recurse) | ? { $_.name -like "Microsoft_Tests-*.app" -or $_.FullName -match '\\Test\\.*[ _]Test(?:s?| Automations).app' } | Where-Object { $_ -notlike "*\Microsoft_Tests-TestLibraries.app" -and ($version.Major -ge 17 -or ($_ -notlike "*\Microsoft_Tests-Marketing.app")) -and $_ -notlike "*\Microsoft_Tests-SINGLESERVER.app" }
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Won't this double-add some of the Test Library apps from above?

@ChrisBlankDe ChrisBlankDe marked this pull request as draft February 27, 2025 08:35
@ChrisBlankDe
Copy link
Contributor Author

I converted this PR back to draft.

i will try to implement this also for compilation folder (just used by run-alpipeline :/ )
also run a big test and dokument in this pr.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Missing Test Apps after Import-TestToolkitToBcContainer
2 participants