Power Query SDK-testramverk del 7 – Pipelineguide
Den här referensen i flera delar beskriver konfigurationen och körningen av en standardserie med tester för Power Query-anslutningsutvecklare. Referensen är avsedd att utföras sekventiellt för att säkerställa att din miljö har konfigurerats för testning av din anpassade anslutningsapp.
Den här guiden innehåller de steg som krävs för att konfigurera en pipeline för Power Query SDK-testramverket.
I det här avsnittet får du:
- Översikt över hur du konfigurerar pipelinen
- Konfigurera en pipelineagent
- Lär dig hur du konfigurerar anslutningsappen, inklusive installation av drivrutin och autentiseringsuppgifter
- Kör testerna för att verifiera tilläggsanslutningen
- Generera rapporten för testkörningen
Installationsguide för pipeline för Power Query-anslutningsappar
Den här guiden innehåller de steg som krävs för att konfigurera en pipeline för Power Query SDK-testramverket. På hög nivå kräver det att du konfigurerar en agent, konfigurerar anslutningsappen som testas, inklusive eventuella drivrutiner, konfigurerar autentiseringsuppgifterna för PQTest med den autentiseringsmekanism som stöds, kör testerna och rapporterar resultaten. I det här dokumentet används Azure Pipelines och resurser för alla dess exempel. Dessa begrepp kan dock tillämpas på andra pipelinearkitekturer.
Pipelinen använder följande struktur:
- Hämta testerna från en lagringsplats.
- Hämta och/eller ange autentiseringsuppgifterna för att komma åt datakällan med hjälp av den autentiseringsmekanism som stöds.
- Kör testerna som hämtades i föregående steg.
- Uppdatera resultaten och loggarna.
Dokumentationen om Azure Pipelines beskriver hur du konfigurerar en grundläggande pipeline. I följande avsnitt finns råd om hur du konfigurerar dessa funktioner.
- Krav för agent
- Nätverk
- Behörigheter
- PQTest
- Drivrutiner
- Merit
- Skript
- Automatisk åtkomst till autentiseringsuppgifter
- Köra tester
- Automatisera skript
Krav för agent
Pipelineagenten måste inkludera Power Query SDK och konfigureras för att kunna köra PQTest. Den här konfigurationen omfattar åtkomst till relevant datakälla och autentiseringshanterare om tillämpligt.
Alla dessa krav kan uppfyllas med hjälp av en lokalt installerad agent. Azure Pipelines kan tillhandahålla Microsoft-värdbaserade agenter, men dessa agenter kommer sannolikt inte att innehålla Power Query SDK och det kan finnas nätverkshinder att överväga. Om du använder en virtuell dator eller fysisk dator som pipelineagent kan du se till att PQTest kan ansluta till datakällan.
Nätverk
För att kunna köra anslutningstest måste agenten kunna komma åt relevant datakälla. Molndatakällor (till exempel Snowflake och Google Big Query) är förmodligen lättillgängliga, men lokala datakällor (till exempel SAP BW och SQL Server) behöver fler konfigurationer. Dessa konfigurationer kan kräva att du ser till att agenten är ansluten till samma virtuella nätverk, att agentens brandvägg tillåter rätt portar och så vidare.
Behörigheter
Om din avsikt är att automatiskt hämta autentiseringsuppgifter från ett nyckelvalv behöver agenten en metod för att göra det. Den rekommenderade metoden är att ange en hanterad identitet för en virtuell dator och tilldela nödvändiga behörigheter till nyckelvalvet.
PQTest
Den körbara PQTest-filen måste vara installerad på agenten. Den rekommenderade metoden är att ladda ned Power Query SDK NuGet-paketet och packa upp det till agenten.
Körbar PQTest finns i mappen NuGet-paket \tools. Använd argumentet --help för att visa hjälpinformation för PQTest.exe och bekanta dig med dess kommandon.
Drivrutiner
För ODBC-anslutningsappar måste alla drivrutiner läggas till i en ODBC-drivrutiner-mapp på följande sökväg:
<>power_query_sdk_extension_path\Microsoft.PowerQuery.SdkTools.2.xxx.x\tools\ODBC Drivrutiner<>
Exempel för Contoso-drivrutin kan sökvägen vara följande:
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
Merit
Autentiseringsuppgifter skickas till PQTest med antingen Visual Studio Code-tillägget eller kommandot set-credential via kommandoraden. När de här autentiseringsuppgifterna har angetts kan de återanvändas för flera testkörningar.
Beroende på typ av autentisering kanske dessa autentiseringsuppgifter bara behöver anges en gång (användarnamn/lösenord) eller hållas uppdaterade (OAuth2-uppdateringstoken). Det tidigare fallet kan enkelt konfigureras med hjälp av Visual Studio Code-gränssnittet. Det senare fallet kan utföras genom att skapa ett skript.
Skript
PQTest kan användas helt från kommandoraden, vilket möjliggör automatisering via skript.
Automatisk åtkomst till autentiseringsuppgifter
För att automatisera åtkomsten till autentiseringsuppgifter för PQTest rekommenderar vi att du använder ett nyckelvalv. På så sätt kan autentiseringsuppgifterna uppdateras enkelt och kan skriptas.
- Det första steget är att bevilja åtkomst till agentens hanterade identitet.
- Sedan kan du anropa ett Rest API för att komma åt data.
Nu när du har ett sätt att hämta hemligheter kan du lägga till dem i PQTests cache för autentiseringsuppgifter.
Använd kommandot credential-template för att skapa en JSON-mall. Den här mallen innehåller platshållartext (
$$USERNAME$$
,$$REFRESH_TOKEN$$
och så vidare) som kan ändras dynamiskt genom strängersättningsfunktioner.$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)
Skicka den ändrade JSON-mallen till kommandot set-credential med antingen pipe (|) eller input (<).
$jsonCredential | & $pqTestExe set-credential -e $extensionFile -q $queryFile
Nu när autentiseringsuppgifterna har angetts kan tester köras.
Obs! Kommandot list-credential kan användas för att bekräfta att autentiseringsuppgifterna är korrekt inställda.
Köra tester
Tester kan köras via kommandot med hjälp av jämförelsekommandot . Om du till exempel vill köra ett enskilt test:
.\PQTest.exe compare -e <connector file> -q <query file> -p
Så här kör du flera tester:
.\PQTest.exe compare -e <connector file> -q <query folder> -sq <base query file> -p
Automatisera skript
Skript kan automatiseras genom att köra dem från en pipelineaktivitet. För Azure Pipelines kan PowerShell-uppgiften användas:
# 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'
Slutsats
Det här avsnittet visade hur du konfigurerar pipelinen så att den använder Power Query SDK-testramverket med hjälp av den angivna testsviten och även dina egna tester för att verifiera tilläggsanslutningen.
På det hela taget bör du nu kunna göra ändringar i tillägget på ett tillförlitligt sätt och verifiera det under utvecklingen och lanseringen.