arcus-azure / arcus-azure/arcus.testing

🚀 Testing Framework migration report

Open
#90 0 comments 0 reactions 0 assignees View on GitHub
feature
Dominant language
C#
Stars
9
Forks
6
PR merge metrics
No merged PRs in 30d

Description

Following list contains the entire report of the required changes we need to do to migrate the Testing Framework to `Arcus.Testing`. This issue acts as a parent issue for follow-up/specific issues along the way.

**Azure-related**
* [x] ~Azure API Management~ (built-in HTTP logging functionlity is available, custom is not much work to set up.)
* [x] ~Make authorized HTTP calls with `Authorization` header token~
* [x] ~Make authorized HTTP calls with client certificate~
* [x] ~`Arcus.Testing.Storage.Sql`~ (not much added-value, only counting records.)
* [x] ~Run SQL query, get item count~
* [x] `Arcus.Testing.Storage.Blob`
* [x] Load/download contents from storage (#93)
* [x] `Arcus.Testing.Storage.Cosmos`
* [x] Get/Set documents to storage (#94)
* [ ] Get/Set document trigger to storage
* [x] Azure Data Factory (#176)
* [x] Compare of flow data output
* [x] ~Get pipeline result~ (Azure SDK & `Arcus.Testing.Core` combo is enough)
* [x] Start/stop pipeline/dataflow
* [x] `Arcus.Testing.Messaging.EventHubs` (#265)
* [x] Send/receive messages from hub
* [x] ~`Arcus.Testing.KeyVault`~ (Azure SDK is enough as it only needs 'get' opertions)
* [x] ~Get secrets/certificates from vault~
* [ ] `Arcus.Testing.LogicApps` (was already developed by Arcus, but was repurposed in Testing Framework, could be that 70% of the functionality is already ahering the testing principles). Plus, see Microsoft's attempt: https://techcommunity.microsoft.com/blog/integrationsonazureblog/announcement-azure-logic-apps-standard-automated-testing-public-preview/4407814
* [ ] Enable/disable static result
* [ ] Trigger Logic App
* [ ] Get Logic App run
* [ ] `Arcus.Testing.ApplicationInsights`
* [ ] Get telemetry via query and type
* [x] `Arcus.Testing.ServiceBus`
* [x] Create/remove Topic subscription (#96)
* [x] Send/receive messages from Topic & Queue
* [x] Count messages from Topic & Queue (implicitly available by message filter that let's you receive messages on queues/topic subscriptions).
* [x] `Arcus.Testing.Storage.Table`
* [x] Insert/upsert/remove records in table (#97)
* [x] ~Get record count~ (`TableClient` is exposed for users to interact with the table themselves)

**Tech-independent**
* [x] `Arcus.Testing.Core` library
* [x] `DisposableCollection` #91
* [x] `TestConfig` #92
* [x] #104
* [x] #113
* [x] `Arcus.Testing.Assert` / CSV (#101)
* [x] Compare tables (w/ & w/o ordening)
* [x] `Arcus.Testing.Assert` / XML (#101)
* [x] Compare documents (w/ custom ignore nodes)
* [x] `Arcus.Testing.Assert` / JSON (#101)
* [x] Compare structures (w/ custom ignore objects)
* [x] `Arcus.Testing.Assert` / XSLT (#101)
* [x] Validates XSLT transformation from XML to (XML+extension, JSON, CSV)
* [ ] SharePoint
* [ ] Upload/Download files & their properties

Contributor guide

Open the contributing guide

Research direction

Use this parent report to review the remaining unchecked migration areas, especially Arcus.Testing.LogicApps, Arcus.Testing.ApplicationInsights, and SharePoint. Start with the referenced follow-up issues and the existing Arcus.Testing libraries; the migration is done when the listed required capabilities have been addressed and their checklist items can be completed.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, csharp
Domain
cloud, devtools, testing-qa
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.