Skip to content

NatVanG/fab-inspector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

262 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CodeQL PBIRInspector Tests Build and Publish Docker Image

Fab Inspector

Deterministic rules-based testing for Microsoft Fabric in the age of AI

Meet Ric, the Fab Inspector.

Hi! I'm Ric, the Fab Inspector. Fab Inspector logo

Note

This is a community project and is not supported by Microsoft.

Power BI report testing supports enhanced metadata format (PBIR). PBIX files are not currently supported; use PBIP or {my-report}.Report folders.

What It Does

Fab Inspector validates Fabric artifacts with declarative JSON rules. You can run the same rules:

  • Locally against checked-out item definitions
  • In CI/CD pipelines (ADO or GitHub log formats)
  • Against published Fabric workspace items with authentication

Beyond artifact structure, Fab Inspector can also inspect:

  • Tenant and capacity configurations — validate tenant posture against your governance policies through API operators
  • Data-based checks — use DAX query and T-SQL query operators as rule conditions to enforce data quality, semantic model correctness, and lakehouse health

Outputs can be written as Console, JSON, HTML, ADO, or GitHub formats or combined e.g. "GitHub,JSON"

Quick Start

Desktop GUI (Avalonia)

AvaloniaUI

The cross-platform FabInspector.AvaloniaUI desktop application lets you run inspections without the CLI. Point it at a local Fabric item folder or a Fabric workspace, choose a rules file and output format, and click Run. Results are written to a local folder or directly to OneLake, and can auto-open in the browser as HTML. See the GUI Reference for a full walkthrough.

CLI

Local mode:

fab-inspector -fabricitem "C:\Files\Sales.Report" -rules ".\Files\Base-rules.json" -formats Console

Workspace mode (with interactive auth):

fab-inspector -fabricworkspace "<workspace-guid>" -rules ".\Files\Base-rules.json" -authmethod interactive -formats Console

Workspace mode scoped to a Fabric item (with azurecli auth):

fab-inspector -fabricworkspace "<workspace-guid>" -fabricitem "<item-guid>" -rules ".\Files\Base-rules.json" -authmethod azurecli -formats Console

Show all CLI options:

fab-inspector -help

Releases

Release binaries for the CLI and GUI are published at: https://github.com/NatVanG/fab-inspector/releases

Documentation

Document Description
Intro Conceptual overview of Fab Inspector and why declarative JSON rules matter
Usage Scenarios Common local, CI/CD, workspace, and hybrid validation patterns
GUI Reference Cross-platform Avalonia desktop application walkthrough
CLI Reference Full CLI parameters, auth options, and command examples
Rules Guide Rule schema and test logic
Operators Overview When to use Ric vs FabInspector operators
Examples Index Catalog of rule files in ExampleRules by use case
Ric Operators Local/query/transformation/file-system operators
FabInspector Operators API, DAX, SQL, and DFS operators
Architecture Inspection engine and DI/concurrency internals

Base Rules

Fab Inspector ships with base rules at Rules/Base-rules.json, focused on report visual quality checks.

To customize:

  1. Copy the base rules file.
  2. Edit parameter values or set "disabled": true on unwanted rules.
  3. Point -rules to your customized file.

Agentic rule creation

The creation of rules for Fab Inspector can feel unfamiliar, luckily an AI agent is available via this repo: https://github.com/NatVanG/fab-inspector-test-harness/blob/main/README.md. This capability is being actively developed and improved, always review AI generated output for accuracy.

CI/CD

Fab Inspector supports CI/CD pipeline integration:

  • -formats ADO for Azure DevOps task commands
  • -formats GitHub for GitHub Actions annotations/logging

Tutorial and sample links are documented in CLI Reference.

Wiki

For deep-dive guidance and advanced operator/rule examples, see the Fab Inspector wiki.

Thanks

Thanks to Michael Kovalsky, Rui Romano, Luke Young, and David Mitchell for support and feedback.

Report an Issue

Please report issues at https://github.com/NatVanG/fab-inspector/issues.

About

Deterministic rules-based testing for Microsoft Fabric in the age of AI.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors