Struktura testowa zestawu SDK dodatku Power Query — część 7 — przewodnik po potoku
Ta wieloczęściowa dokumentacja obejmuje konfigurację i uruchamianie standardowego zestawu testów dla deweloperów łącznika Dodatku Power Query. Odwołanie ma być wykonywane sekwencyjnie, aby upewnić się, że środowisko jest skonfigurowane do testowania łącznika niestandardowego.
Ten przewodnik zawiera kroki wymagane do skonfigurowania potoku dla platformy testowej zestawu POWER Query SDK.
W tej sekcji omówiono następujące zagadnienia:
- Omówienie konfigurowania potoku
- Konfigurowanie agenta potoku
- Dowiedz się, jak skonfigurować łącznik, w tym konfigurację sterowników i poświadczeń
- Uruchamianie testów w celu zweryfikowania łącznika rozszerzenia
- Generowanie raportu przebiegu testu
Przewodnik konfigurowania potoku dla łączników dodatku Power Query
Ten przewodnik zawiera kroki wymagane do skonfigurowania potoku dla platformy testowej zestawu POWER Query SDK. Na wysokim poziomie wymaga skonfigurowania agenta, skonfigurowania testowanego łącznika, w tym wszystkich sterowników skonfigurowanych, skonfigurowania poświadczeń dla narzędzia PQTest z obsługiwanym mechanizmem uwierzytelniania, uruchamiania testów i raportowania wyników. W tym dokumencie użyto usługi Azure Pipelines i zasobów dla wszystkich jego przykładów. Te pojęcia można jednak zastosować do innych architektur potoków.
Potok używa następującej struktury:
- Pobieranie testów z repozytorium.
- Pobierz i/lub ustaw poświadczenia, aby uzyskać dostęp do źródła danych przy użyciu obsługiwanego mechanizmu uwierzytelniania.
- Uruchom testy pobrane w poprzednim kroku.
- Zaktualizuj wyniki i dzienniki.
W dokumentacji usługi Azure Pipelines opisano sposób konfigurowania podstawowego potoku. Zapoznaj się z poniższymi sekcjami, aby uzyskać porady dotyczące konfigurowania tych funkcji.
- Wymagania wstępne agenta
- Sieć
- Uprawnienia
- PQTest
- Sterowniki
- Referencja
- Skrypty
- Automatyczny dostęp poświadczeń
- Uruchamianie testów
- Automatyzowanie skryptów
Wymagania wstępne agenta
Agent potoku musi zawierać zestaw SDK dodatku Power Query i być skonfigurowany tak, aby można było uruchomić narzędzie PQTest. Ta konfiguracja obejmuje dostęp do odpowiedniego źródła danych i menedżera poświadczeń, jeśli ma to zastosowanie.
Wszystkie te wymagania można spełnić przy użyciu własnego agenta. Usługa Azure Pipelines może zapewnić agentów hostowanych przez firmę Microsoft, ale ci agenci prawdopodobnie nie będą zawierać zestawu SDK dodatku Power Query i mogą istnieć przeszkody sieciowe do rozważenia. Użycie maszyny wirtualnej lub komputera fizycznego jako agenta potoku może zapewnić, że narzędzie PQTest może nawiązać połączenie ze źródłem danych.
Sieć
Aby uruchomić testy łącznika, agent musi mieć dostęp do odpowiedniego źródła danych. Źródła danych w chmurze (na przykład Snowflake i Google Big Query) prawdopodobnie są łatwo dostępne, jednak lokalne źródła danych (na przykład SAP BW i SQL Server) wymagają większej liczby konfiguracji. Te konfiguracje mogą wymagać, aby upewnić się, że agent jest połączony z tą samą siecią wirtualną, zapora agenta zezwala na poprawne porty itd.
Uprawnienia
Jeśli twoim zamiarem jest automatyczne ściąganie poświadczeń z magazynu kluczy, agent musi wykonać tę metodę. Zalecaną metodą jest ustawienie tożsamości zarządzanej dla maszyny wirtualnej i przypisanie niezbędnych uprawnień do magazynu kluczy.
PQTest
Plik wykonywalny PQTest musi być zainstalowany na agencie. Zalecaną metodą jest pobranie pakietu NuGet zestawu SDK Dodatku Power Query i rozpakowanie go do agenta.
Plik wykonywalny PQTest można znaleźć w folderze Pakiety NuGet \tools. Użyj argumentu --help , aby wyświetlić informacje pomocy dotyczące PQTest.exe i zapoznać się z jego poleceniami.
Sterowniki
W przypadku łączników ODBC wszystkie sterowniki muszą zostać dodane do folderu Sterowniki ODBC w następującej ścieżce:
<>power_query_sdk_extension_path\Microsoft.PowerQuery.SdkTools.2.xxx.x\tools\ODBC Drivers drivers<>
Na przykład dla sterownika firmy Contoso ścieżka może być następująca:
C:\Users\ContosoUser.vscode\extensions\powerquery.vscode-powerquery-sdk-0.2.3-win32-x64.nuget\Microsoft.PowerQuery.SdkTools.2.126.3\tools\ODBC Driver\Contoso
Referencja
Poświadczenia są przekazywane do narzędzia PQTest przy użyciu rozszerzenia programu Visual Studio Code lub polecenia set-credential za pośrednictwem wiersza polecenia. Po ustawieniu te poświadczenia można ponownie użyć na potrzeby wielu przebiegów testów.
W zależności od typu uwierzytelniania te poświadczenia mogą być ustawiane tylko raz (nazwa użytkownika/hasło) lub aktualizowane (token odświeżania OAuth2). Pierwszy przypadek można łatwo skonfigurować przy użyciu interfejsu programu Visual Studio Code. Ten ostatni przypadek można osiągnąć, tworząc skrypt.
Skrypty
Narzędzie PQTest może być używane całkowicie z poziomu wiersza polecenia, co umożliwia automatyzację za pośrednictwem skryptów.
Automatyczny dostęp poświadczeń
Aby zautomatyzować dostęp do poświadczeń dla narzędzia PQTest, zalecamy użycie magazynu kluczy. Dzięki temu poświadczenia można łatwo odświeżać i można je wykonywać skrypty.
- Pierwszym krokiem jest przyznanie dostępu do tożsamości zarządzanej agenta.
- Następnie możesz wywołać interfejs API REST w celu uzyskania dostępu do danych.
Teraz, gdy masz sposób na uzyskanie wpisów tajnych, możesz dodać je do pamięci podręcznej poświadczeń PQTest.
Użyj polecenia credential-template, aby utworzyć szablon JSON. Ten szablon zawiera tekst zastępczy (
$$USERNAME$$
,$$REFRESH_TOKEN$$
itd.), który może być dynamicznie zmieniany za pomocą funkcji zamiany ciągów.$keyVaultOutput = invoke-expression 'Get-AzKeyVaultSecret -VaultName $keyVaultName -Name $secretName -AsPlainText' $jsonTemplate = invoke-expression "$pqTestExe credential-template -e $extensionFile -q $queryFile -ak $authenticationType" $jsonCredential = $jsonTemplate.Replace('$$USERNAME$$', $credentialName) $jsonCredential = $jsonCredential.Replace('$$PASSWORD$$', $keyVaultOutput)
Przekaż zmieniony szablon JSON do polecenia set-credential przy użyciu potoku (|) lub danych wejściowych (<).
$jsonCredential | & $pqTestExe set-credential -e $extensionFile -q $queryFile
Po ustawieniu poświadczeń można uruchomić testy.
Uwaga: polecenie list-credential może służyć do potwierdzenia, że poświadczenia są poprawnie ustawione.
Uruchamianie testów
Testy można uruchamiać za pomocą polecenia compare . Aby na przykład uruchomić pojedynczy test:
.\PQTest.exe compare -e <connector file> -q <query file> -p
Aby uruchomić wiele testów:
.\PQTest.exe compare -e <connector file> -q <query folder> -sq <base query file> -p
Automatyzowanie skryptów
Skrypty można zautomatyzować, uruchamiając je z zadania potoku. W przypadku usługi Azure Pipelines można użyć zadania programu PowerShell:
# Example Azure pipeline for running connector tests using PQTest.
# Azure Pipelines reference: https://aka.ms/yaml
trigger: none
pool:
name: SelfHosted-AgentPool
steps:
- task: PowerShell@2
inputs:
filePath: '<path_to_run_test_script>/RunConnectorTest.ps1'
displayName: 'Run Connector Tests'
Podsumowanie
W tej sekcji pokazano, jak skonfigurować i skonfigurować potok do korzystania z platformy testowej zestawu SDK dodatku Power Query przy użyciu dostarczonego zestawu testów, a także własnych testów w celu zweryfikowania łącznika rozszerzeń.
Ogólnie rzecz biorąc, teraz powinno być możliwe niezawodne wprowadzanie zmian w rozszerzeniu i weryfikowanie go podczas opracowywania i wydawania.