コード例 #1
0
ファイル: runner.py プロジェクト: rebeccalarner/spectacles
 def validate_sql(
     self,
     branch: Optional[str],
     commit: Optional[str],
     selectors: List[str],
     exclusions: List[str],
     mode: QueryMode = "batch",
     concurrency: int = 10,
     profile: bool = False,
     runtime_threshold: int = 5,
 ) -> Dict[str, Any]:
     with self.branch_manager(branch, commit):
         validator = SqlValidator(self.client, self.project, concurrency,
                                  runtime_threshold)
         logger.info("Building LookML project hierarchy for project "
                     f"'{self.project}' @ {self.branch_manager.ref}")
         validator.build_project(selectors,
                                 exclusions,
                                 build_dimensions=True)
         explore_count = validator.project.count_explores()
         print_header(f"Testing {explore_count} "
                      f"{'explore' if explore_count == 1 else 'explores'} "
                      f"[{mode} mode] "
                      f"[concurrency = {validator.query_slots}]")
         results = validator.validate(mode, profile)
     return results
コード例 #2
0
ファイル: runner.py プロジェクト: msandt3/spectacles
 def validate_sql(self,
                  selectors: List[str],
                  mode: str = "batch",
                  concurrency: int = 10) -> List[dict]:
     sql_validator = SqlValidator(self.client, self.project, concurrency)
     sql_validator.build_project(selectors)
     errors = sql_validator.validate(mode)
     return [vars(error) for error in errors]
コード例 #3
0
ファイル: runner.py プロジェクト: kokevidaurre/spectacles
 def validate_sql(
     self,
     selectors: List[str],
     exclusions: List[str],
     mode: QueryMode = "batch",
     concurrency: int = 10,
 ) -> Dict[str, Any]:
     with self.branch_manager:
         sql_validator = SqlValidator(self.client, self.project,
                                      concurrency)
         sql_validator.build_project(selectors, exclusions)
         results = sql_validator.validate(mode)
     return results
コード例 #4
0
def validator(looker_client, record_mode) -> Iterable[SqlValidator]:
    with vcr.use_cassette(
            "tests/cassettes/test_sql_validator/fixture_validator_init.yaml",
            match_on=["uri", "method", "raw_body"],
            filter_headers=["Authorization"],
            record_mode=record_mode,
    ):
        validator = SqlValidator(looker_client, project="eye_exam")
        yield validator
コード例 #5
0
def validator(client):
    return SqlValidator(client=client, project="test_project")