Coverage report: 55%

Files Functions Classes

coverage.py v7.13.4, created at 2026-03-20 10:09 -0400

File function   statements missing excluded   coverage
benchmark / __init__.py (no function)   0 0 0   100%
benchmark / benchmark_odg.py run_api   20 20 0   0%
benchmark / benchmark_odg.py (no function)   26 26 0   0%
benchmark / benchmark_oob.py run_api   20 20 0   0%
benchmark / benchmark_oob.py (no function)   26 26 0   0%
graphqler / __init__.py (no function)   0 0 0   100%
graphqler / __main__.py run_compile_mode   4 0 0   100%
graphqler / __main__.py run_compile_graph_mode   8 0 0   100%
graphqler / __main__.py run_compile_chains_mode   14 2 0   86%
graphqler / __main__.py run_fuzz_mode   12 3 0   75%
graphqler / __main__.py run_idor_mode   10 10 0   0%
graphqler / __main__.py run_single_mode   2 0 0   100%
graphqler / __main__.py main   61 61 0   0%
graphqler / __main__.py (no function)   46 25 0   46%
graphqler / chains / __init__.py (no function)   6 0 0   100%
graphqler / chains / chain.py Chain.__len__   1 1 0   0%
graphqler / chains / chain.py Chain.__repr__   2 0 0   100%
graphqler / chains / chain.py Chain.last_node   3 3 0   0%
graphqler / chains / chain.py Chain.has_mutation_type   1 1 0   0%
graphqler / chains / chain.py (no function)   10 0 0   100%
graphqler / chains / chain_generator.py ChainGenerator.__init__   2 0 0   100%
graphqler / chains / chain_generator.py ChainGenerator.chains   1 0 0   100%
graphqler / chains / chain_generator.py ChainGenerator.generate   7 1 0   86%
graphqler / chains / chain_generator.py ChainGenerator.save_to_yaml   5 0 0   100%
graphqler / chains / chain_generator.py ChainGenerator.load_from_yaml   9 2 0   78%
graphqler / chains / chain_generator.py (no function)   16 0 0   100%
graphqler / chains / strategies / __init__.py (no function)   4 0 0   100%
graphqler / chains / strategies / all_dependencies_strategy.py AllDependenciesChainStrategy.generate   12 0 0   100%
graphqler / chains / strategies / all_dependencies_strategy.py AllDependenciesChainStrategy._safe_topo_sort   7 0 0   100%
graphqler / chains / strategies / all_dependencies_strategy.py (no function)   9 0 0   100%
graphqler / chains / strategies / base_strategy.py BaseChainStrategy.generate   0 0 1   100%
graphqler / chains / strategies / base_strategy.py (no function)   7 0 0   100%
graphqler / chains / strategies / dfs_strategy.py DFSChainStrategy.generate   5 5 0   0%
graphqler / chains / strategies / dfs_strategy.py DFSChainStrategy._dfs   7 7 0   0%
graphqler / chains / strategies / dfs_strategy.py (no function)   7 0 0   100%
graphqler / compiler / __init__.py (no function)   2 0 0   100%
graphqler / compiler / compiler.py Compiler.__init__   35 0 0   100%
graphqler / compiler / compiler.py Compiler.run   8 3 0   62%
graphqler / compiler / compiler.py Compiler.get_introspection_query_results   13 7 0   46%
graphqler / compiler / compiler.py Compiler.get_clairvoyance_results   7 7 0   0%
graphqler / compiler / compiler.py Compiler.run_parsers_and_save   7 0 0   100%
graphqler / compiler / compiler.py Compiler.run_parser_and_save_list   2 0 0   100%
graphqler / compiler / compiler.py Compiler.run_resolvers_and_save   21 9 0   57%
graphqler / compiler / compiler.py Compiler.run_chain_generation_and_save   11 11 0   0%
graphqler / compiler / compiler.py (no function)   22 0 0   100%
graphqler / compiler / introspection_query.py (no function)   1 0 0   100%
graphqler / compiler / parsers / __init__.py (no function)   9 0 0   100%
graphqler / compiler / parsers / enum_list_parser.py EnumListParser.__init__   1 0 0   100%
graphqler / compiler / parsers / enum_list_parser.py EnumListParser.extract_enum_values   5 0 0   100%
graphqler / compiler / parsers / enum_list_parser.py EnumListParser.parse   7 0 0   100%
graphqler / compiler / parsers / enum_list_parser.py (no function)   6 0 0   100%
graphqler / compiler / parsers / input_object_list_parser.py InputObjectListParser.__init__   1 0 0   100%
graphqler / compiler / parsers / input_object_list_parser.py InputObjectListParser.__extract_field_info   5 0 0   100%
graphqler / compiler / parsers / input_object_list_parser.py InputObjectListParser.parse   7 0 0   100%
graphqler / compiler / parsers / input_object_list_parser.py (no function)   5 0 0   100%
graphqler / compiler / parsers / interface_list_parser.py InterfaceListParser.__init__   1 0 0   100%
graphqler / compiler / parsers / interface_list_parser.py InterfaceListParser.__extract_field_info   2 2 0   0%
graphqler / compiler / parsers / interface_list_parser.py InterfaceListParser.extract_possible_types   5 5 0   0%
graphqler / compiler / parsers / interface_list_parser.py InterfaceListParser.parse   7 2 0   71%
graphqler / compiler / parsers / interface_list_parser.py (no function)   7 0 0   100%
graphqler / compiler / parsers / mutation_list_parser.py MutationListParser.__init__   1 0 0   100%
graphqler / compiler / parsers / mutation_list_parser.py MutationListParser.parse   14 1 0   93%
graphqler / compiler / parsers / mutation_list_parser.py (no function)   4 0 0   100%
graphqler / compiler / parsers / object_list_parser.py ObjectListParser.__init__   1 0 0   100%
graphqler / compiler / parsers / object_list_parser.py ObjectListParser.__extract_field_info   2 0 0   100%
graphqler / compiler / parsers / object_list_parser.py ObjectListParser.parse   7 0 0   100%
graphqler / compiler / parsers / object_list_parser.py (no function)   5 0 0   100%
graphqler / compiler / parsers / parser.py Parser.__init__   1 1 0   0%
graphqler / compiler / parsers / parser.py Parser.parse   1 1 0   0%
graphqler / compiler / parsers / parser.py Parser.extract_oftype   5 0 0   100%
graphqler / compiler / parsers / parser.py Parser.extract_arg_info   5 0 0   100%
graphqler / compiler / parsers / parser.py (no function)   5 0 0   100%
graphqler / compiler / parsers / query_list_parser.py QueryListParser.__init__   1 0 0   100%
graphqler / compiler / parsers / query_list_parser.py QueryListParser.__extract_arg_info   5 0 0   100%
graphqler / compiler / parsers / query_list_parser.py QueryListParser.parse   13 1 0   92%
graphqler / compiler / parsers / query_list_parser.py (no function)   5 0 0   100%
graphqler / compiler / parsers / union_list_parser.py UnionListParser.__init__   1 0 0   100%
graphqler / compiler / parsers / union_list_parser.py UnionListParser.extract_union_values   5 5 0   0%
graphqler / compiler / parsers / union_list_parser.py UnionListParser.parse   7 2 0   71%
graphqler / compiler / parsers / union_list_parser.py (no function)   6 0 0   100%
graphqler / compiler / resolvers / __init__.py (no function)   7 0 0   100%
graphqler / compiler / resolvers / llm / __init__.py (no function)   4 0 0   100%
graphqler / compiler / resolvers / llm / comparison.py ResolverComparison.__init__   2 2 0   0%
graphqler / compiler / resolvers / llm / comparison.py ResolverComparison.build   3 3 0   0%
graphqler / compiler / resolvers / llm / comparison.py ResolverComparison.save   9 9 0   0%
graphqler / compiler / resolvers / llm / comparison.py ResolverComparison.print_diff_summary   17 17 0   0%
graphqler / compiler / resolvers / llm / comparison.py (no function)   10 0 0   100%
graphqler / compiler / resolvers / llm / llm_mutation_object_resolver.py LLMMutationObjectResolver.__init__   2 2 0   0%
graphqler / compiler / resolvers / llm / llm_mutation_object_resolver.py LLMMutationObjectResolver.resolve   14 14 0   0%
graphqler / compiler / resolvers / llm / llm_mutation_object_resolver.py LLMMutationObjectResolver._call_llm_for_mutations   5 5 0   0%
graphqler / compiler / resolvers / llm / llm_mutation_object_resolver.py LLMMutationObjectResolver._build_comparison   12 12 0   0%
graphqler / compiler / resolvers / llm / llm_mutation_object_resolver.py (no function)   13 0 0   100%
graphqler / compiler / resolvers / llm / llm_query_object_resolver.py LLMQueryObjectResolver.__init__   2 2 0   0%
graphqler / compiler / resolvers / llm / llm_query_object_resolver.py LLMQueryObjectResolver.resolve   14 14 0   0%
graphqler / compiler / resolvers / llm / llm_query_object_resolver.py LLMQueryObjectResolver._call_llm_for_queries   5 5 0   0%
graphqler / compiler / resolvers / llm / llm_query_object_resolver.py LLMQueryObjectResolver._build_comparison   12 12 0   0%
graphqler / compiler / resolvers / llm / llm_query_object_resolver.py (no function)   13 0 0   100%
graphqler / compiler / resolvers / llm / llm_resolver.py _get_litellm   5 5 0   0%
graphqler / compiler / resolvers / llm / llm_resolver.py LLMResolver.build_schema_context   9 9 0   0%
graphqler / compiler / resolvers / llm / llm_resolver.py LLMResolver._field_type_str   10 10 0   0%
graphqler / compiler / resolvers / llm / llm_resolver.py LLMResolver._oftype_str   10 10 0   0%
graphqler / compiler / resolvers / llm / llm_resolver.py LLMResolver.simplify_endpoints   8 8 0   0%
graphqler / compiler / resolvers / llm / llm_resolver.py LLMResolver._input_type_str   10 10 0   0%
graphqler / compiler / resolvers / llm / llm_resolver.py LLMResolver._supports_json_mode   11 11 0   0%
graphqler / compiler / resolvers / llm / llm_resolver.py LLMResolver._extract_json_from_text   20 20 0   0%
graphqler / compiler / resolvers / llm / llm_resolver.py LLMResolver.call_llm   23 23 0   0%
graphqler / compiler / resolvers / llm / llm_resolver.py LLMResolver.merge_with_classic   10 10 0   0%
graphqler / compiler / resolvers / llm / llm_resolver.py LLMResolver.validate_llm_mutation_result   9 9 0   0%
graphqler / compiler / resolvers / llm / llm_resolver.py LLMResolver.validate_llm_query_result   9 9 0   0%
graphqler / compiler / resolvers / llm / llm_resolver.py (no function)   17 0 0   100%
graphqler / compiler / resolvers / llm / prompt_templates.py (no function)   5 0 0   100%
graphqler / compiler / resolvers / mutation_object_resolver.py MutationObjectResolver.__init__   1 0 0   100%
graphqler / compiler / resolvers / mutation_object_resolver.py MutationObjectResolver.resolve   8 0 0   100%
graphqler / compiler / resolvers / mutation_object_resolver.py MutationObjectResolver.get_mutation_action   17 8 0   53%
graphqler / compiler / resolvers / mutation_object_resolver.py (no function)   6 0 0   100%
graphqler / compiler / resolvers / object_dependency_resolver.py ObjectDependencyResolver.__init__   1 0 0   100%
graphqler / compiler / resolvers / object_dependency_resolver.py ObjectDependencyResolver.resolve   3 0 0   100%
graphqler / compiler / resolvers / object_dependency_resolver.py ObjectDependencyResolver.get_base_oftype   3 0 0   100%
graphqler / compiler / resolvers / object_dependency_resolver.py ObjectDependencyResolver.parse_gql_object   19 0 0   100%
graphqler / compiler / resolvers / object_dependency_resolver.py (no function)   6 0 0   100%
graphqler / compiler / resolvers / object_method_resolver.py ObjectMethodResolver.__init__   1 0 0   100%
graphqler / compiler / resolvers / object_method_resolver.py ObjectMethodResolver.resolve   10 0 0   100%
graphqler / compiler / resolvers / object_method_resolver.py ObjectMethodResolver.get_object_query_mapping   9 1 0   89%
graphqler / compiler / resolvers / object_method_resolver.py ObjectMethodResolver.get_object_mutation_mapping   9 1 0   89%
graphqler / compiler / resolvers / object_method_resolver.py ObjectMethodResolver.get_output_object   5 1 0   80%
graphqler / compiler / resolvers / object_method_resolver.py (no function)   6 0 0   100%
graphqler / compiler / resolvers / query_object_resolver.py QueryObjectResolver.__init__   1 0 0   100%
graphqler / compiler / resolvers / query_object_resolver.py QueryObjectResolver.resolve   6 0 0   100%
graphqler / compiler / resolvers / query_object_resolver.py (no function)   4 0 0   100%
graphqler / compiler / resolvers / resolver.py Resolver.__init__   1 0 0   100%
graphqler / compiler / resolvers / resolver.py Resolver.get_inputs_related_to_ids   11 1 0   91%
graphqler / compiler / resolvers / resolver.py Resolver.resolve_inputs_related_to_ids_to_objects   21 7 0   67%
graphqler / compiler / resolvers / resolver.py Resolver.is_input_object   1 0 0   100%
graphqler / compiler / resolvers / resolver.py Resolver.is_input_an_id   3 0 0   100%
graphqler / compiler / resolvers / resolver.py (no function)   8 0 0   100%
graphqler / compiler / resolvers / utils.py find_closest_string_leveshtein   8 0 0   100%
graphqler / compiler / resolvers / utils.py find_closest_string   12 1 0   92%
graphqler / compiler / resolvers / utils.py (no function)   4 0 0   100%
graphqler / config.py (no function)   81 0 0   100%
graphqler / core.py compile_and_fuzz   10 10 0   0%
graphqler / core.py (no function)   7 7 0   0%
graphqler / fuzzer / __init__.py (no function)   3 0 0   100%
graphqler / fuzzer / engine / dengine.py DEngine.__init__   3 0 0   100%
graphqler / fuzzer / engine / dengine.py DEngine.run_detections_on_api   11 3 0   73%
graphqler / fuzzer / engine / dengine.py DEngine.run_detections_on_graphql_object   4 1 0   75%
graphqler / fuzzer / engine / dengine.py DEngine.__run_misc_detections   10 2 0   80%
graphqler / fuzzer / engine / dengine.py DEngine.__run_injection_detections   10 10 0   0%
graphqler / fuzzer / engine / dengine.py DEngine.__add_ran_node   3 0 0   100%
graphqler / fuzzer / engine / dengine.py DEngine.__should_run_detection   8 1 0   88%
graphqler / fuzzer / engine / dengine.py (no function)   15 0 0   100%
graphqler / fuzzer / engine / detectors / __init__.py (no function)   11 0 0   100%
graphqler / fuzzer / engine / detectors / detector.py Detector.DETECTION_NAME   1 1 0   0%
graphqler / fuzzer / engine / detectors / detector.py Detector.detect_only_once_for_api   1 1 0   0%
graphqler / fuzzer / engine / detectors / detector.py Detector.detect_only_once_for_node   1 1 0   0%
graphqler / fuzzer / engine / detectors / detector.py Detector.materializer   1 1 0   0%
graphqler / fuzzer / engine / detectors / detector.py Detector.__init__   10 0 0   100%
graphqler / fuzzer / engine / detectors / detector.py Detector.detect   12 0 0   100%
graphqler / fuzzer / engine / detectors / detector.py Detector.get_payload   3 0 0   100%
graphqler / fuzzer / engine / detectors / detector.py Detector._parse_response   8 0 0   100%
graphqler / fuzzer / engine / detectors / detector.py Detector._is_vulnerable   1 1 0   0%
graphqler / fuzzer / engine / detectors / detector.py Detector._is_potentially_vulnerable   1 1 0   0%
graphqler / fuzzer / engine / detectors / detector.py (no function)   30 0 0   100%
graphqler / fuzzer / engine / detectors / field_suggestion / field_suggestion_detector.py FieldSuggestionsDetector.DETECTION_NAME   1 0 0   100%
graphqler / fuzzer / engine / detectors / field_suggestion / field_suggestion_detector.py FieldSuggestionsDetector.detect_only_once_for_api   1 0 0   100%
graphqler / fuzzer / engine / detectors / field_suggestion / field_suggestion_detector.py FieldSuggestionsDetector.detect_only_once_for_node   1 0 0   100%
graphqler / fuzzer / engine / detectors / field_suggestion / field_suggestion_detector.py FieldSuggestionsDetector.materializer   1 0 0   100%
graphqler / fuzzer / engine / detectors / field_suggestion / field_suggestion_detector.py FieldSuggestionsDetector._is_vulnerable   1 0 0   100%
graphqler / fuzzer / engine / detectors / field_suggestion / field_suggestion_detector.py FieldSuggestionsDetector._is_potentially_vulnerable   1 0 0   100%
graphqler / fuzzer / engine / detectors / field_suggestion / field_suggestion_detector.py (no function)   15 0 0   100%
graphqler / fuzzer / engine / detectors / field_suggestion / field_suggestion_materializer.py FieldSuggestionMaterializer.__init__   5 0 0   100%
graphqler / fuzzer / engine / detectors / field_suggestion / field_suggestion_materializer.py FieldSuggestionMaterializer.get_payload   5 0 0   100%
graphqler / fuzzer / engine / detectors / field_suggestion / field_suggestion_materializer.py (no function)   11 0 0   100%
graphqler / fuzzer / engine / detectors / introspection / introspection_detector.py IntrospectionDetector.DETECTION_NAME   1 0 0   100%
graphqler / fuzzer / engine / detectors / introspection / introspection_detector.py IntrospectionDetector.detect_only_once_for_api   1 0 0   100%
graphqler / fuzzer / engine / detectors / introspection / introspection_detector.py IntrospectionDetector.detect_only_once_for_node   1 0 0   100%
graphqler / fuzzer / engine / detectors / introspection / introspection_detector.py IntrospectionDetector.materializer   1 0 0   100%
graphqler / fuzzer / engine / detectors / introspection / introspection_detector.py IntrospectionDetector._is_vulnerable   5 2 0   60%
graphqler / fuzzer / engine / detectors / introspection / introspection_detector.py IntrospectionDetector._is_potentially_vulnerable   1 0 0   100%
graphqler / fuzzer / engine / detectors / introspection / introspection_detector.py (no function)   15 0 0   100%
graphqler / fuzzer / engine / detectors / introspection / introspection_materializer.py IntrospectionMaterializer.__init__   5 0 0   100%
graphqler / fuzzer / engine / detectors / introspection / introspection_materializer.py IntrospectionMaterializer.get_payload   3 0 0   100%
graphqler / fuzzer / engine / detectors / introspection / introspection_materializer.py (no function)   10 0 0   100%
graphqler / fuzzer / engine / detectors / os_command_injection / os_command_injection_detector.py OSCommandInjectionDetector.DETECTION_NAME   1 1 0   0%
graphqler / fuzzer / engine / detectors / os_command_injection / os_command_injection_detector.py OSCommandInjectionDetector.detect_only_once_for_api   1 1 0   0%
graphqler / fuzzer / engine / detectors / os_command_injection / os_command_injection_detector.py OSCommandInjectionDetector.detect_only_once_for_node   1 1 0   0%
graphqler / fuzzer / engine / detectors / os_command_injection / os_command_injection_detector.py OSCommandInjectionDetector.materializer   1 1 0   0%
graphqler / fuzzer / engine / detectors / os_command_injection / os_command_injection_detector.py OSCommandInjectionDetector._is_vulnerable   3 3 0   0%
graphqler / fuzzer / engine / detectors / os_command_injection / os_command_injection_detector.py OSCommandInjectionDetector._is_potentially_vulnerable   1 1 0   0%
graphqler / fuzzer / engine / detectors / os_command_injection / os_command_injection_detector.py (no function)   15 0 0   100%
graphqler / fuzzer / engine / detectors / os_command_injection / os_command_injection_materializer.py OSCommandInjectionMaterializer.__init__   4 4 0   0%
graphqler / fuzzer / engine / detectors / os_command_injection / os_command_injection_materializer.py OSCommandInjectionGetter.__init__   1 1 0   0%
graphqler / fuzzer / engine / detectors / os_command_injection / os_command_injection_materializer.py OSCommandInjectionGetter.get_random_string   13 13 0   0%
graphqler / fuzzer / engine / detectors / os_command_injection / os_command_injection_materializer.py (no function)   10 0 0   100%
graphqler / fuzzer / engine / detectors / path_injection / path_injection_detector.py PathInjectionMaterializer.__init__   5 5 0   0%
graphqler / fuzzer / engine / detectors / path_injection / path_injection_detector.py PathInjectionGetter.__init__   1 1 0   0%
graphqler / fuzzer / engine / detectors / path_injection / path_injection_detector.py PathInjectionGetter.get_random_string   1 1 0   0%
graphqler / fuzzer / engine / detectors / path_injection / path_injection_detector.py PathInjectionDetector.DETECTION_NAME   1 1 0   0%
graphqler / fuzzer / engine / detectors / path_injection / path_injection_detector.py PathInjectionDetector.detect_only_once_for_api   1 1 0   0%
graphqler / fuzzer / engine / detectors / path_injection / path_injection_detector.py PathInjectionDetector.detect_only_once_for_node   1 1 0   0%
graphqler / fuzzer / engine / detectors / path_injection / path_injection_detector.py PathInjectionDetector.materializer   1 1 0   0%
graphqler / fuzzer / engine / detectors / path_injection / path_injection_detector.py PathInjectionDetector._is_vulnerable   3 3 0   0%
graphqler / fuzzer / engine / detectors / path_injection / path_injection_detector.py PathInjectionDetector._is_potentially_vulnerable   3 3 0   0%
graphqler / fuzzer / engine / detectors / path_injection / path_injection_detector.py (no function)   23 0 0   100%
graphqler / fuzzer / engine / detectors / query_deny_bypass / query_deny_bypass_detector.py QueryDenyBypassMaterializer.__init__   4 0 0   100%
graphqler / fuzzer / engine / detectors / query_deny_bypass / query_deny_bypass_detector.py QueryDenyBypassMaterializer.get_non_aliased_payload   5 3 0   40%
graphqler / fuzzer / engine / detectors / query_deny_bypass / query_deny_bypass_detector.py QueryDenyBypassMaterializer.get_aliased_payload   14 4 0   71%
graphqler / fuzzer / engine / detectors / query_deny_bypass / query_deny_bypass_detector.py QueryDenyBypassDetector.DETECTION_NAME   1 0 0   100%
graphqler / fuzzer / engine / detectors / query_deny_bypass / query_deny_bypass_detector.py QueryDenyBypassDetector.detect_only_once_for_api   1 0 0   100%
graphqler / fuzzer / engine / detectors / query_deny_bypass / query_deny_bypass_detector.py QueryDenyBypassDetector.detect_only_once_for_node   1 0 0   100%
graphqler / fuzzer / engine / detectors / query_deny_bypass / query_deny_bypass_detector.py QueryDenyBypassDetector.materializer   1 0 0   100%
graphqler / fuzzer / engine / detectors / query_deny_bypass / query_deny_bypass_detector.py QueryDenyBypassDetector.detect   32 6 0   81%
graphqler / fuzzer / engine / detectors / query_deny_bypass / query_deny_bypass_detector.py QueryDenyBypassDetector._is_vulnerable   1 1 0   0%
graphqler / fuzzer / engine / detectors / query_deny_bypass / query_deny_bypass_detector.py QueryDenyBypassDetector._is_potentially_vulnerable   1 1 0   0%
graphqler / fuzzer / engine / detectors / query_deny_bypass / query_deny_bypass_detector.py (no function)   28 0 0   100%
graphqler / fuzzer / engine / detectors / sql_injection / sql_injection_detector.py SQLInjectionMaterializer.__init__   4 4 0   0%
graphqler / fuzzer / engine / detectors / sql_injection / sql_injection_detector.py SQLInjectionGetter.__init__   1 1 0   0%
graphqler / fuzzer / engine / detectors / sql_injection / sql_injection_detector.py SQLInjectionGetter.get_random_string   4 4 0   0%
graphqler / fuzzer / engine / detectors / sql_injection / sql_injection_detector.py SQLInjectionDetector.DETECTION_NAME   1 1 0   0%
graphqler / fuzzer / engine / detectors / sql_injection / sql_injection_detector.py SQLInjectionDetector.detect_only_once_for_api   1 1 0   0%
graphqler / fuzzer / engine / detectors / sql_injection / sql_injection_detector.py SQLInjectionDetector.detect_only_once_for_node   1 1 0   0%
graphqler / fuzzer / engine / detectors / sql_injection / sql_injection_detector.py SQLInjectionDetector.materializer   1 1 0   0%
graphqler / fuzzer / engine / detectors / sql_injection / sql_injection_detector.py SQLInjectionDetector._is_vulnerable   2 2 0   0%
graphqler / fuzzer / engine / detectors / sql_injection / sql_injection_detector.py SQLInjectionDetector._is_potentially_vulnerable   5 5 0   0%
graphqler / fuzzer / engine / detectors / sql_injection / sql_injection_detector.py (no function)   26 0 0   100%
graphqler / fuzzer / engine / detectors / ssrf_injection / ssrf_injection_detector.py SSRFInjectionDetector.DETECTION_NAME   1 1 0   0%
graphqler / fuzzer / engine / detectors / ssrf_injection / ssrf_injection_detector.py SSRFInjectionDetector.detect_only_once_for_api   1 1 0   0%
graphqler / fuzzer / engine / detectors / ssrf_injection / ssrf_injection_detector.py SSRFInjectionDetector.detect_only_once_for_node   1 1 0   0%
graphqler / fuzzer / engine / detectors / ssrf_injection / ssrf_injection_detector.py SSRFInjectionDetector.materializer   1 1 0   0%
graphqler / fuzzer / engine / detectors / ssrf_injection / ssrf_injection_detector.py SSRFInjectionDetector._is_vulnerable   2 2 0   0%
graphqler / fuzzer / engine / detectors / ssrf_injection / ssrf_injection_detector.py SSRFInjectionDetector._is_potentially_vulnerable   6 6 0   0%
graphqler / fuzzer / engine / detectors / ssrf_injection / ssrf_injection_detector.py (no function)   16 0 0   100%
graphqler / fuzzer / engine / detectors / ssrf_injection / ssrf_injection_materialilzer.py SSRFInjectionMaterializer.__init__   5 5 0   0%
graphqler / fuzzer / engine / detectors / ssrf_injection / ssrf_injection_materialilzer.py SSRFInjectionGetter.__init__   1 1 0   0%
graphqler / fuzzer / engine / detectors / ssrf_injection / ssrf_injection_materialilzer.py SSRFInjectionGetter.get_random_string   17 17 0   0%
graphqler / fuzzer / engine / detectors / ssrf_injection / ssrf_injection_materialilzer.py (no function)   10 0 0   100%
graphqler / fuzzer / engine / detectors / xss_injection / xss_injection_detector.py XSSInjectionDetector.DETECTION_NAME   1 1 0   0%
graphqler / fuzzer / engine / detectors / xss_injection / xss_injection_detector.py XSSInjectionDetector.detect_only_once_for_api   1 1 0   0%
graphqler / fuzzer / engine / detectors / xss_injection / xss_injection_detector.py XSSInjectionDetector.detect_only_once_for_node   1 1 0   0%
graphqler / fuzzer / engine / detectors / xss_injection / xss_injection_detector.py XSSInjectionDetector.materializer   1 1 0   0%
graphqler / fuzzer / engine / detectors / xss_injection / xss_injection_detector.py XSSInjectionDetector._is_vulnerable   1 1 0   0%
graphqler / fuzzer / engine / detectors / xss_injection / xss_injection_detector.py XSSInjectionDetector._is_potentially_vulnerable   3 3 0   0%
graphqler / fuzzer / engine / detectors / xss_injection / xss_injection_detector.py (no function)   16 0 0   100%
graphqler / fuzzer / engine / detectors / xss_injection / xss_injection_materializer.py XSSInjectionMaterializer.__init__   5 5 0   0%
graphqler / fuzzer / engine / detectors / xss_injection / xss_injection_materializer.py XSSInjectionGetter.__init__   1 1 0   0%
graphqler / fuzzer / engine / detectors / xss_injection / xss_injection_materializer.py XSSInjectionGetter.get_random_string   1 1 0   0%
graphqler / fuzzer / engine / detectors / xss_injection / xss_injection_materializer.py (no function)   10 0 0   100%
graphqler / fuzzer / engine / exceptions / __init__.py (no function)   2 0 0   100%
graphqler / fuzzer / engine / exceptions / hard_dependency_not_met_exception.py HardDependencyNotMetException.__init__   1 1 0   0%
graphqler / fuzzer / engine / exceptions / hard_dependency_not_met_exception.py HardDependencyNotMetException.__str__   1 1 0   0%
graphqler / fuzzer / engine / exceptions / hard_dependency_not_met_exception.py (no function)   3 0 0   100%
graphqler / fuzzer / engine / fengine.py FEngine.__init__   2 0 0   100%
graphqler / fuzzer / engine / fengine.py FEngine.run_minimal_payload   3 0 0   100%
graphqler / fuzzer / engine / fengine.py FEngine.run_maximal_payload   3 0 0   100%
graphqler / fuzzer / engine / fengine.py FEngine.run_dos_payloads   6 6 0   0%
graphqler / fuzzer / engine / fengine.py FEngine.__run_payload   6 0 0   100%
graphqler / fuzzer / engine / fengine.py FEngine.__run_mutation   64 31 0   52%
graphqler / fuzzer / engine / fengine.py FEngine.__run_query   47 16 0   66%
graphqler / fuzzer / engine / fengine.py (no function)   24 0 0   100%
graphqler / fuzzer / engine / materializers / __init__.py (no function)   5 0 0   100%
graphqler / fuzzer / engine / materializers / dos / __init__.py (no function)   4 0 0   100%
graphqler / fuzzer / engine / materializers / dos / dos_alias_materializer.py DOSAliasMaterializer.__init__   3 3 0   0%
graphqler / fuzzer / engine / materializers / dos / dos_alias_materializer.py DOSAliasMaterializer.get_payload   5 5 0   0%
graphqler / fuzzer / engine / materializers / dos / dos_alias_materializer.py DOSAliasMaterializer._get_query_payload   7 7 0   0%
graphqler / fuzzer / engine / materializers / dos / dos_alias_materializer.py DOSAliasMaterializer._get_mutation_payload   7 7 0   0%
graphqler / fuzzer / engine / materializers / dos / dos_alias_materializer.py (no function)   10 0 0   100%
graphqler / fuzzer / engine / materializers / dos / dos_batch_materializer.py DOSBatchMaterializer.__init__   3 3 0   0%
graphqler / fuzzer / engine / materializers / dos / dos_batch_materializer.py DOSBatchMaterializer.get_payload   5 5 0   0%
graphqler / fuzzer / engine / materializers / dos / dos_batch_materializer.py DOSBatchMaterializer._get_mutation_payload   12 12 0   0%
graphqler / fuzzer / engine / materializers / dos / dos_batch_materializer.py DOSBatchMaterializer._get_query_payload   12 12 0   0%
graphqler / fuzzer / engine / materializers / dos / dos_batch_materializer.py (no function)   9 0 0   100%
graphqler / fuzzer / engine / materializers / dos / dos_deep_recursion_materializer.py DOSDeepRecursionMaterializer.__init__   3 3 0   0%
graphqler / fuzzer / engine / materializers / dos / dos_deep_recursion_materializer.py DOSDeepRecursionMaterializer.get_payload   5 5 0   0%
graphqler / fuzzer / engine / materializers / dos / dos_deep_recursion_materializer.py DOSDeepRecursionMaterializer._get_mutation_payload   8 8 0   0%
graphqler / fuzzer / engine / materializers / dos / dos_deep_recursion_materializer.py DOSDeepRecursionMaterializer._get_query_payload   8 8 0   0%
graphqler / fuzzer / engine / materializers / dos / dos_deep_recursion_materializer.py (no function)   9 0 0   100%
graphqler / fuzzer / engine / materializers / getter.py Getter.__init__   1 0 0   100%
graphqler / fuzzer / engine / materializers / getter.py Getter.get_random_string   5 0 0   100%
graphqler / fuzzer / engine / materializers / getter.py Getter.get_random_int   1 0 0   100%
graphqler / fuzzer / engine / materializers / getter.py Getter.get_random_float   3 3 0   0%
graphqler / fuzzer / engine / materializers / getter.py Getter.get_random_bool   1 1 0   0%
graphqler / fuzzer / engine / materializers / getter.py Getter.get_random_id   4 0 0   100%
graphqler / fuzzer / engine / materializers / getter.py Getter.get_random_date   1 1 0   0%
graphqler / fuzzer / engine / materializers / getter.py Getter.get_random_time   3 3 0   0%
graphqler / fuzzer / engine / materializers / getter.py Getter.get_random_long   1 1 0   0%
graphqler / fuzzer / engine / materializers / getter.py Getter.get_random_json   1 1 0   0%
graphqler / fuzzer / engine / materializers / getter.py Getter.get_random_datetime   9 9 0   0%
graphqler / fuzzer / engine / materializers / getter.py Getter.get_random_custom_scalar   11 11 0   0%
graphqler / fuzzer / engine / materializers / getter.py Getter.get_random_scalar   17 8 0   53%
graphqler / fuzzer / engine / materializers / getter.py Getter.get_random_enum_value   5 5 0   0%
graphqler / fuzzer / engine / materializers / getter.py Getter.get_random_id_from_bucket   4 1 0   75%
graphqler / fuzzer / engine / materializers / getter.py Getter.get_closest_value_to_input   8 1 0   88%
graphqler / fuzzer / engine / materializers / getter.py (no function)   21 0 0   100%
graphqler / fuzzer / engine / materializers / injection_materializer.py InjectionMaterializer.__init__   5 5 0   0%
graphqler / fuzzer / engine / materializers / injection_materializer.py InjectionMaterializer.get_payload   5 5 0   0%
graphqler / fuzzer / engine / materializers / injection_materializer.py InjectionMaterializer._get_mutation_payload   8 8 0   0%
graphqler / fuzzer / engine / materializers / injection_materializer.py InjectionMaterializer._get_query_payload   8 8 0   0%
graphqler / fuzzer / engine / materializers / injection_materializer.py (no function)   12 0 0   100%
graphqler / fuzzer / engine / materializers / materializer.py Materializer.__init__   6 0 0   100%
graphqler / fuzzer / engine / materializers / materializer.py Materializer.get_payload   1 1 0   0%
graphqler / fuzzer / engine / materializers / materializer.py Materializer.materialize_output   9 1 0   89%
graphqler / fuzzer / engine / materializers / materializer.py Materializer.materialize_output_recursive   49 19 0   61%
graphqler / fuzzer / engine / materializers / materializer.py Materializer.materialize_output_object_fields   23 1 0   96%
graphqler / fuzzer / engine / materializers / materializer.py Materializer.materialize_inputs   1 0 0   100%
graphqler / fuzzer / engine / materializers / materializer.py Materializer.materialize_input_fields   8 1 0   88%
graphqler / fuzzer / engine / materializers / materializer.py Materializer.materialize_input_recursive   36 16 0   56%
graphqler / fuzzer / engine / materializers / materializer.py (no function)   17 0 0   100%
graphqler / fuzzer / engine / materializers / maximal_payload_materializer.py MaximalPayloadMaterializer.__init__   4 0 0   100%
graphqler / fuzzer / engine / materializers / maximal_payload_materializer.py MaximalPayloadMaterializer.get_payload   6 1 0   83%
graphqler / fuzzer / engine / materializers / maximal_payload_materializer.py MaximalPayloadMaterializer._get_query_payload   8 0 0   100%
graphqler / fuzzer / engine / materializers / maximal_payload_materializer.py MaximalPayloadMaterializer._get_mutation_payload   8 1 0   88%
graphqler / fuzzer / engine / materializers / maximal_payload_materializer.py (no function)   11 0 0   100%
graphqler / fuzzer / engine / materializers / regular_payload_materializer.py RegularPayloadMaterializer.__init__   4 0 0   100%
graphqler / fuzzer / engine / materializers / regular_payload_materializer.py RegularPayloadMaterializer.get_payload   6 1 0   83%
graphqler / fuzzer / engine / materializers / regular_payload_materializer.py RegularPayloadMaterializer._get_query_payload   8 0 0   100%
graphqler / fuzzer / engine / materializers / regular_payload_materializer.py RegularPayloadMaterializer._get_mutation_payload   8 1 0   88%
graphqler / fuzzer / engine / materializers / regular_payload_materializer.py (no function)   11 0 0   100%
graphqler / fuzzer / engine / materializers / utils / materialization_utils.py is_valid_object_materialization   12 3 0   75%
graphqler / fuzzer / engine / materializers / utils / materialization_utils.py clean_output_selectors   6 2 0   67%
graphqler / fuzzer / engine / materializers / utils / materialization_utils.py remove_consecutive_characters   1 0 0   100%
graphqler / fuzzer / engine / materializers / utils / materialization_utils.py prettify_graphql_payload   3 0 0   100%
graphqler / fuzzer / engine / materializers / utils / materialization_utils.py (no function)   6 0 0   100%
graphqler / fuzzer / engine / retrier / __init__.py (no function)   2 0 0   100%
graphqler / fuzzer / engine / retrier / retrier.py Retrier.__init__   2 0 0   100%
graphqler / fuzzer / engine / retrier / retrier.py Retrier.retry   20 6 0   70%
graphqler / fuzzer / engine / retrier / retrier.py Retrier.get_new_payload_for_retry_non_null   4 0 0   100%
graphqler / fuzzer / engine / retrier / retrier.py (no function)   7 0 0   100%
graphqler / fuzzer / engine / retrier / utils.py find_block_end   10 1 0   90%
graphqler / fuzzer / engine / retrier / utils.py remove_lines_within_range   3 0 0   100%
graphqler / fuzzer / engine / retrier / utils.py (no function)   3 0 0   100%
graphqler / fuzzer / engine / types / __init__.py (no function)   2 0 0   100%
graphqler / fuzzer / engine / types / result.py Result.__init__   7 0 0   100%
graphqler / fuzzer / engine / types / result.py Result.__eq__   3 1 0   67%
graphqler / fuzzer / engine / types / result.py Result.__hash__   1 0 0   100%
graphqler / fuzzer / engine / types / result.py Result.__str__   1 1 0   0%
graphqler / fuzzer / engine / types / result.py Result.__repr__   1 1 0   0%
graphqler / fuzzer / engine / types / result.py Result.result_enum   1 1 0   0%
graphqler / fuzzer / engine / types / result.py Result.result_enum   1 0 0   100%
graphqler / fuzzer / engine / types / result.py Result.payload   1 0 0   100%
graphqler / fuzzer / engine / types / result.py Result.success   5 2 0   60%
graphqler / fuzzer / engine / types / result.py Result.type   3 3 0   0%
graphqler / fuzzer / engine / types / result.py Result.reason   3 3 0   0%
graphqler / fuzzer / engine / types / result.py Result.has_data   1 0 0   100%
graphqler / fuzzer / engine / types / result.py Result.has_non_empty_data   1 1 0   0%
graphqler / fuzzer / engine / types / result.py Result.has_errors   1 0 0   100%
graphqler / fuzzer / engine / types / result.py Result.has_status_code   1 1 0   0%
graphqler / fuzzer / engine / types / result.py Result.data   3 1 0   67%
graphqler / fuzzer / engine / types / result.py Result.data   1 1 0   0%
graphqler / fuzzer / engine / types / result.py Result.status_code   3 0 0   100%
graphqler / fuzzer / engine / types / result.py Result.status_code   1 0 0   100%
graphqler / fuzzer / engine / types / result.py Result.graphql_response   3 0 0   100%
graphqler / fuzzer / engine / types / result.py Result.graphql_response   6 0 0   100%
graphqler / fuzzer / engine / types / result.py Result.raw_response_text   3 3 0   0%
graphqler / fuzzer / engine / types / result.py Result.raw_response_text   1 0 0   100%
graphqler / fuzzer / engine / types / result.py Result.errors   3 3 0   0%
graphqler / fuzzer / engine / types / result.py Result.errors   1 1 0   0%
graphqler / fuzzer / engine / types / result.py Result.payload   1 0 0   100%
graphqler / fuzzer / engine / types / result.py (no function)   57 0 0   100%
graphqler / fuzzer / engine / utils.py check_is_data_empty   7 1 0   86%
graphqler / fuzzer / engine / utils.py (no function)   1 0 0   100%
graphqler / fuzzer / fuzzer.py Fuzzer.__init__   15 1 0   93%
graphqler / fuzzer / fuzzer.py Fuzzer.run   12 4 0   67%
graphqler / fuzzer / fuzzer.py Fuzzer.run_single   11 3 0   73%
graphqler / fuzzer / fuzzer.py Fuzzer.run_no_dfs   6 6 0   0%
graphqler / fuzzer / fuzzer.py Fuzzer.__run_steps   20 4 0   80%
graphqler / fuzzer / fuzzer.py Fuzzer.__run_chain   16 1 0   94%
graphqler / fuzzer / fuzzer.py Fuzzer.__run_nodes   9 1 0   89%
graphqler / fuzzer / fuzzer.py Fuzzer.__run_node   6 1 0   83%
graphqler / fuzzer / fuzzer.py Fuzzer.__evaluate   11 0 0   100%
graphqler / fuzzer / fuzzer.py Fuzzer.__fuzz   12 6 0   50%
graphqler / fuzzer / fuzzer.py Fuzzer.__detect_vulnerabilities_on_node   3 0 0   100%
graphqler / fuzzer / fuzzer.py Fuzzer._get_new_visit_path_with_neighbors   4 0 0   100%
graphqler / fuzzer / fuzzer.py Fuzzer._get_neighboring_nodes   1 0 0   100%
graphqler / fuzzer / fuzzer.py Fuzzer._get_starter_nodes   10 10 0   0%
graphqler / fuzzer / fuzzer.py (no function)   30 0 0   100%
graphqler / fuzzer / idor_fuzzer.py IDORFuzzer.__init__   4 4 0   0%
graphqler / fuzzer / idor_fuzzer.py IDORFuzzer.run   9 9 0   0%
graphqler / fuzzer / idor_fuzzer.py IDORFuzzer.check_node   5 5 0   0%
graphqler / fuzzer / idor_fuzzer.py (no function)   9 0 0   100%
graphqler / fuzzer / utils.py get_node   4 4 0   0%
graphqler / fuzzer / utils.py (no function)   3 3 0   0%
graphqler / graph / __init__.py (no function)   3 0 0   100%
graphqler / graph / graph_generator.py GraphGenerator.__init__   9 0 0   100%
graphqler / graph / graph_generator.py GraphGenerator.get_dependency_graph   2 0 0   100%
graphqler / graph / graph_generator.py GraphGenerator.draw_dependency_graph   1 0 0   100%
graphqler / graph / graph_generator.py GraphGenerator.run   22 0 0   100%
graphqler / graph / graph_generator.py GraphGenerator.create_object_mutation_edges   25 5 0   80%
graphqler / graph / graph_generator.py GraphGenerator.create_object_query_edges   23 4 0   83%
graphqler / graph / graph_generator.py (no function)   13 0 0   100%
graphqler / graph / node.py Node.__init__   4 0 0   100%
graphqler / graph / node.py Node.set_mutation_type   2 0 0   100%
graphqler / graph / node.py Node.__str__   1 0 0   100%
graphqler / graph / node.py Node.__repr__   1 1 0   0%
graphqler / graph / node.py (no function)   5 0 0   100%
graphqler / graph / utils.py draw_graph   61 0 0   100%
graphqler / graph / utils.py (no function)   6 0 0   100%
graphqler / utils / __init__.py (no function)   0 0 0   100%
graphqler / utils / api.py API.__init__   15 0 0   100%
graphqler / utils / api.py API.get_num_queries   1 0 0   100%
graphqler / utils / api.py API.get_num_mutations   1 0 0   100%
graphqler / utils / api.py API.get_num_objects   1 0 0   100%
graphqler / utils / api.py API.get_num_input_objects   1 1 0   0%
graphqler / utils / api.py API.get_num_enums   1 1 0   0%
graphqler / utils / api.py API.get_num_unions   1 1 0   0%
graphqler / utils / api.py API.get_num_interfaces   1 1 0   0%
graphqler / utils / api.py API.is_operation_in_api   1 0 0   100%
graphqler / utils / api.py API.get_operation   5 1 0   80%
graphqler / utils / api.py (no function)   21 0 0   100%
graphqler / utils / cli_utils.py set_auth_token_constant   3 3 0   0%
graphqler / utils / cli_utils.py is_compiled   4 4 0   0%
graphqler / utils / cli_utils.py (no function)   4 0 0   100%
graphqler / utils / config_handler.py parse_config   10 3 0   70%
graphqler / utils / config_handler.py set_config   4 1 0   75%
graphqler / utils / config_handler.py generate_new_config   2 2 0   0%
graphqler / utils / config_handler.py does_config_file_exist_in_path   1 1 0   0%
graphqler / utils / config_handler.py (no function)   8 0 0   100%
graphqler / utils / file_utils.py initialize_file   4 1 0   75%
graphqler / utils / file_utils.py intialize_file_if_not_exists   2 0 0   100%
graphqler / utils / file_utils.py recreate_path   3 0 0   100%
graphqler / utils / file_utils.py get_or_create_directory   5 5 0   0%
graphqler / utils / file_utils.py get_or_create_file   3 0 0   100%
graphqler / utils / file_utils.py write_json_to_file   2 0 0   100%
graphqler / utils / file_utils.py write_dict_to_yaml   3 0 0   100%
graphqler / utils / file_utils.py read_yaml_to_dict   1 0 0   100%
graphqler / utils / file_utils.py get_graphqler_root   1 1 0   0%
graphqler / utils / file_utils.py get_project_root   1 1 0   0%
graphqler / utils / file_utils.py (no function)   14 0 0   100%
graphqler / utils / logging_utils.py Logger.__init__   4 0 0   100%
graphqler / utils / logging_utils.py Logger.get_fuzzer_logger   6 0 0   100%
graphqler / utils / logging_utils.py Logger.get_detector_logger   6 0 0   100%
graphqler / utils / logging_utils.py Logger.get_compiler_logger   6 0 0   100%
graphqler / utils / logging_utils.py Logger.get_idor_logger   6 6 0   0%
graphqler / utils / logging_utils.py Logger._get_logger   9 1 0   89%
graphqler / utils / logging_utils.py (no function)   21 0 0   100%
graphqler / utils / objects_bucket.py ObjectsBucket.__init__   5 0 0   100%
graphqler / utils / objects_bucket.py ObjectsBucket.__str__   6 0 0   100%
graphqler / utils / objects_bucket.py ObjectsBucket.__getstate__   1 0 0   100%
graphqler / utils / objects_bucket.py ObjectsBucket.__setstate__   1 1 0   0%
graphqler / utils / objects_bucket.py ObjectsBucket.save   8 0 0   100%
graphqler / utils / objects_bucket.py ObjectsBucket.load   5 5 0   0%
graphqler / utils / objects_bucket.py ObjectsBucket.get_num_objects   4 1 0   75%
graphqler / utils / objects_bucket.py ObjectsBucket.get_num_scalars   4 1 0   75%
graphqler / utils / objects_bucket.py ObjectsBucket.get_random_object   3 3 0   0%
graphqler / utils / objects_bucket.py ObjectsBucket.get_random_object_field_value   17 2 0   88%
graphqler / utils / objects_bucket.py ObjectsBucket.put_in_bucket   7 1 0   86%
graphqler / utils / objects_bucket.py ObjectsBucket.parse_as_object   6 2 0   67%
graphqler / utils / objects_bucket.py ObjectsBucket.parse_as_scalar   13 3 0   77%
graphqler / utils / objects_bucket.py ObjectsBucket.put_object_in_bucket   4 0 0   100%
graphqler / utils / objects_bucket.py ObjectsBucket.parse_object_scalars   2 0 0   100%
graphqler / utils / objects_bucket.py ObjectsBucket.put_scalar_in_bucket   3 0 0   100%
graphqler / utils / objects_bucket.py ObjectsBucket.delete_object_from_bucket   6 6 0   0%
graphqler / utils / objects_bucket.py ObjectsBucket.update_object_in_bucket   17 17 0   0%
graphqler / utils / objects_bucket.py ObjectsBucket.clear_bucket   2 2 0   0%
graphqler / utils / objects_bucket.py ObjectsBucket.is_empty   1 0 0   100%
graphqler / utils / objects_bucket.py ObjectsBucket.is_object_in_bucket   3 1 0   67%
graphqler / utils / objects_bucket.py ObjectsBucket.find_key_in_dict   10 4 0   60%
graphqler / utils / objects_bucket.py ObjectsBucket.get_random_scalar_from_bucket_by_type   6 2 0   67%
graphqler / utils / objects_bucket.py ObjectsBucket.get_random_scalar_from_bucket_by_name   5 5 0   0%
graphqler / utils / objects_bucket.py (no function)   36 0 0   100%
graphqler / utils / parser_utils.py get_base_oftype   3 0 0   100%
graphqler / utils / parser_utils.py get_output_type   7 2 0   71%
graphqler / utils / parser_utils.py get_output_type_from_details   6 2 0   67%
graphqler / utils / parser_utils.py is_simple_scalar   3 0 0   100%
graphqler / utils / parser_utils.py (no function)   4 0 0   100%
graphqler / utils / plugins_handler.py get_plugin_path   1 0 0   100%
graphqler / utils / plugins_handler.py does_plugin_exist   5 2 0   60%
graphqler / utils / plugins_handler.py get_plugin   11 9 0   18%
graphqler / utils / plugins_handler.py get_request_utils   9 1 0   89%
graphqler / utils / plugins_handler.py (no function)   12 0 0   100%
graphqler / utils / protocols / __init__.py (no function)   0 0 0   100%
graphqler / utils / protocols / request_utils_protocol.py RequestUtilsProtocol.get_headers   0 0 1   100%
graphqler / utils / protocols / request_utils_protocol.py RequestUtilsProtocol.get_proxies   0 0 1   100%
graphqler / utils / protocols / request_utils_protocol.py RequestUtilsProtocol.send_graphql_request   0 0 1   100%
graphqler / utils / protocols / request_utils_protocol.py RequestUtilsProtocol.parse_response   0 0 1   100%
graphqler / utils / protocols / request_utils_protocol.py RequestUtilsProtocol.get_or_create_session   0 0 1   100%
graphqler / utils / protocols / request_utils_protocol.py RequestUtilsProtocol.create_new_session   0 0 1   100%
graphqler / utils / protocols / request_utils_protocol.py (no function)   12 0 5   100%
graphqler / utils / request_utils.py get_headers   6 1 0   83%
graphqler / utils / request_utils.py get_proxies   7 7 0   0%
graphqler / utils / request_utils.py send_graphql_request   12 2 0   83%
graphqler / utils / request_utils.py parse_response   6 2 0   67%
graphqler / utils / request_utils.py get_or_create_session   4 0 0   100%
graphqler / utils / request_utils.py create_new_session   7 3 0   57%
graphqler / utils / request_utils.py (no function)   15 0 0   100%
graphqler / utils / singleton.py singleton   4 0 0   100%
graphqler / utils / singleton.py singleton.getInstance   3 0 0   100%
graphqler / utils / singleton.py (no function)   1 0 0   100%
graphqler / utils / stats.py Stats.__init__   3 0 0   100%
graphqler / utils / stats.py Stats.load   2 2 0   0%
graphqler / utils / stats.py Stats.add_successful_node   6 0 0   100%
graphqler / utils / stats.py Stats.add_failed_node   6 0 0   100%
graphqler / utils / stats.py Stats.add_http_status_code   7 0 0   100%
graphqler / utils / stats.py Stats.set_file_paths   9 0 0   100%
graphqler / utils / stats.py Stats.print_running_stats   4 0 0   100%
graphqler / utils / stats.py Stats.add_vulnerability   8 0 0   100%
graphqler / utils / stats.py Stats.get_formatted_vulnerabilites   12 1 0   92%
graphqler / utils / stats.py Stats.record_node_timing   4 0 0   100%
graphqler / utils / stats.py Stats.update_stats_from_result   10 0 0   100%
graphqler / utils / stats.py Stats.get_number_of_successful_mutations_and_queries   8 0 0   100%
graphqler / utils / stats.py Stats.get_number_of_failed_mutations_and_queries   8 0 0   100%
graphqler / utils / stats.py Stats.print_results   18 0 0   100%
graphqler / utils / stats.py Stats.save   25 0 0   100%
graphqler / utils / stats.py Stats.save_json   8 1 0   88%
graphqler / utils / stats.py Stats.save_endpoint_results   21 1 0   95%
graphqler / utils / stats.py Stats.save_unique_response   4 0 0   100%
graphqler / utils / stats.py Stats.__save_pickle   3 0 0   100%
graphqler / utils / stats.py Stats.__load_pickle   4 4 0   0%
graphqler / utils / stats.py (no function)   52 0 0   100%
tests / __init__.py (no function)   0 0 0   100%
tests / integration / __init__.py (no function)   0 0 0   100%
tests / integration / test_api_security_api.py TestAPISecurityAPI.setUpClass   5 5 0   0%
tests / integration / test_api_security_api.py TestAPISecurityAPI.tearDownClass   5 5 0   0%
tests / integration / test_api_security_api.py TestAPISecurityAPI.test_compile_generates_introspection_file   4 4 0   0%
tests / integration / test_api_security_api.py TestAPISecurityAPI.test_fuzz_generates_stats_file   5 5 0   0%
tests / integration / test_api_security_api.py TestAPISecurityAPI.test_fuzz_generates_json_stats_file   5 5 0   0%
tests / integration / test_api_security_api.py TestAPISecurityAPI._run_and_get_vulns   3 3 0   0%
tests / integration / test_api_security_api.py TestAPISecurityAPI.test_introspection_enabled_detected   2 2 0   0%
tests / integration / test_api_security_api.py TestAPISecurityAPI.test_field_suggestions_enabled_detected   2 2 0   0%
tests / integration / test_api_security_api.py TestAPISecurityAPI.test_query_deny_bypass_detected   2 2 0   0%
tests / integration / test_api_security_api.py (no function)   25 25 0   0%
tests / integration / test_core.py TestCore.setUpClass   3 3 0   0%
tests / integration / test_core.py TestCore.tearDownClass   4 4 0   0%
tests / integration / test_core.py TestCore.test_core_functions   14 14 0   0%
tests / integration / test_core.py (no function)   18 18 0   0%
tests / integration / test_food_delivery_api.py TestFoodDeliveryAPI.setUpClass   6 0 0   100%
tests / integration / test_food_delivery_api.py TestFoodDeliveryAPI.tearDownClass   5 0 0   100%
tests / integration / test_food_delivery_api.py TestFoodDeliveryAPI.test_run_compile_mode_generates_valid_introspection_file   4 0 0   100%
tests / integration / test_food_delivery_api.py TestFoodDeliveryAPI.test_run_fuzz_mode_generates_valid_stats_file   5 0 0   100%
tests / integration / test_food_delivery_api.py TestFoodDeliveryAPI.test_run_single_mode_generates_valid_stats_file   5 0 0   100%
tests / integration / test_food_delivery_api.py TestFoodDeliveryAPI.test_run_fuzz_mode_has_success_over_seventy_percent   5 0 0   100%
tests / integration / test_food_delivery_api.py (no function)   23 0 0   100%
tests / integration / test_injection_vulnerabilities_api.py TestInjectionVulnerabilitiesAPI.setUpClass   5 5 0   0%
tests / integration / test_injection_vulnerabilities_api.py TestInjectionVulnerabilitiesAPI.tearDownClass   5 5 0   0%
tests / integration / test_injection_vulnerabilities_api.py TestInjectionVulnerabilitiesAPI.test_compile_generates_introspection_file   4 4 0   0%
tests / integration / test_injection_vulnerabilities_api.py TestInjectionVulnerabilitiesAPI.test_fuzz_generates_stats_file   5 5 0   0%
tests / integration / test_injection_vulnerabilities_api.py TestInjectionVulnerabilitiesAPI.test_fuzz_generates_json_stats_file   5 5 0   0%
tests / integration / test_injection_vulnerabilities_api.py TestInjectionVulnerabilitiesAPI._run_and_get_vulns   3 3 0   0%
tests / integration / test_injection_vulnerabilities_api.py TestInjectionVulnerabilitiesAPI.test_sql_injection_detected   2 2 0   0%
tests / integration / test_injection_vulnerabilities_api.py TestInjectionVulnerabilitiesAPI.test_xss_injection_detected   2 2 0   0%
tests / integration / test_injection_vulnerabilities_api.py TestInjectionVulnerabilitiesAPI.test_path_injection_detected   2 2 0   0%
tests / integration / test_injection_vulnerabilities_api.py TestInjectionVulnerabilitiesAPI.test_os_command_injection_detected   2 2 0   0%
tests / integration / test_injection_vulnerabilities_api.py (no function)   26 26 0   0%
tests / integration / test_ssrf_api.py TestSSRFAPI.setUpClass   5 5 0   0%
tests / integration / test_ssrf_api.py TestSSRFAPI.tearDownClass   5 5 0   0%
tests / integration / test_ssrf_api.py TestSSRFAPI.test_compile_generates_introspection_file   4 4 0   0%
tests / integration / test_ssrf_api.py TestSSRFAPI.test_fuzz_generates_stats_file   5 5 0   0%
tests / integration / test_ssrf_api.py TestSSRFAPI.test_fuzz_generates_json_stats_file   5 5 0   0%
tests / integration / test_ssrf_api.py TestSSRFAPI._run_and_get_vulns   3 3 0   0%
tests / integration / test_ssrf_api.py TestSSRFAPI.test_ssrf_injection_detected   2 2 0   0%
tests / integration / test_ssrf_api.py (no function)   23 23 0   0%
tests / integration / test_user_wallet_api.py TestUserWalletApi.setUpClass   5 5 0   0%
tests / integration / test_user_wallet_api.py TestUserWalletApi.tearDownClass   8 8 0   0%
tests / integration / test_user_wallet_api.py TestUserWalletApi.test_run_compile_mode_generates_valid_introspection_file   5 5 0   0%
tests / integration / test_user_wallet_api.py TestUserWalletApi.test_run_fuzz_mode_generates_valid_stats_file   6 6 0   0%
tests / integration / test_user_wallet_api.py TestUserWalletApi.test_run_single_mode_generates_valid_stats_file   6 6 0   0%
tests / integration / test_user_wallet_api.py TestUserWalletApi.test_run_fuzz_mode_has_success_over_ninety_percent   6 6 0   0%
tests / integration / test_user_wallet_api.py (no function)   23 23 0   0%
tests / integration / utils / run_api.py run_node_project   16 4 0   75%
tests / integration / utils / run_api.py wait_for_server   10 3 0   70%
tests / integration / utils / run_api.py (no function)   7 0 0   100%
tests / integration / utils / stats.py get_vulnerabilities_from_stats   6 6 0   0%
tests / integration / utils / stats.py is_detection_flagged   8 8 0   0%
tests / integration / utils / stats.py get_percent_query_mutation_success   9 0 0   100%
tests / integration / utils / stats.py (no function)   5 0 0   100%
tests / unit / __init__.py (no function)   0 0 0   100%
tests / unit / compiler / __init__.py (no function)   0 0 0   100%
tests / unit / compiler / resolvers / __init__.py (no function)   0 0 0   100%
tests / unit / compiler / resolvers / test_llm_resolver.py TestLLMResolverBase.setUp   1 1 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestLLMResolverBase.test_schema_context_contains_object_names   3 3 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestLLMResolverBase.test_schema_context_contains_field_names   3 3 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestLLMResolverBase.test_simplify_endpoints_returns_all_names   3 3 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestLLMResolverBase.test_simplify_endpoints_readable_types   2 2 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestLLMResolverBase.test_validate_mutation_strips_hallucinated_endpoints   4 4 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestLLMResolverBase.test_validate_mutation_strips_unknown_object_deps   3 3 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestLLMResolverBase.test_validate_mutation_normalises_bad_mutation_type   3 3 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestLLMResolverBase.test_validate_query_strips_hallucinated_endpoints   4 4 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestLLMResolverBase.test_merge_with_classic_llm_takes_precedence   6 6 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestLLMResolverBase.test_merge_with_classic_fills_missing_llm_entries   5 5 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestLLMResolverBase.test_extract_json_raw   3 3 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestLLMResolverBase.test_extract_json_with_backtick_fence   4 4 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestLLMResolverBase.test_extract_json_with_plain_fence   4 4 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestLLMResolverBase.test_extract_json_embedded_in_prose   4 4 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestLLMResolverBase.test_extract_json_raises_on_garbage   2 2 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestCallLLMRetry._make_response   3 3 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestCallLLMRetry.test_succeeds_on_second_attempt   11 11 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestCallLLMRetry.test_raises_after_all_retries_exhausted   10 10 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestCallLLMRetry.test_correction_turn_appended_to_messages   15 15 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestLLMMutationObjectResolver._make_llm_response   3 3 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestLLMMutationObjectResolver.test_happy_path_llm_result_is_used   14 14 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestLLMMutationObjectResolver.test_fallback_on_llm_exception   17 17 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestLLMMutationObjectResolver.test_fallback_disabled_propagates_exception   15 15 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestLLMMutationObjectResolver.test_comparison_detects_differences   17 17 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestLLMQueryObjectResolver._make_llm_response   3 3 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestLLMQueryObjectResolver.test_happy_path_query_resolved   12 12 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestLLMQueryObjectResolver.test_fallback_on_bad_json   18 18 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestResolverComparison._make_mutation_comparison   1 1 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestResolverComparison._make_query_comparison   1 1 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestResolverComparison.test_summary_counts_correct   6 6 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestResolverComparison.test_save_writes_valid_json   12 12 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py TestResolverComparison.test_save_summary_values_in_file   9 9 0   0%
tests / unit / compiler / resolvers / test_llm_resolver.py (no function)   56 56 0   0%
tests / unit / compiler / resolvers / test_utils.py test_find_closest_string   12 12 0   0%
tests / unit / compiler / resolvers / test_utils.py test_find_closest_string_with_underscore   4 4 0   0%
tests / unit / compiler / resolvers / test_utils.py (no function)   3 3 0   0%
tests / unit / compiler / test_chains.py _make_node   4 4 0   0%
tests / unit / compiler / test_chains.py _linear_graph   6 6 0   0%
tests / unit / compiler / test_chains.py TestChain.test_repr_empty   2 2 0   0%
tests / unit / compiler / test_chains.py TestChain.test_repr_single   3 3 0   0%
tests / unit / compiler / test_chains.py TestChain.test_repr_multiple   3 3 0   0%
tests / unit / compiler / test_chains.py TestChain.test_len   2 2 0   0%
tests / unit / compiler / test_chains.py TestChain.test_len_empty   1 1 0   0%
tests / unit / compiler / test_chains.py TestChain.test_last_node_returns_last   3 3 0   0%
tests / unit / compiler / test_chains.py TestChain.test_last_node_empty_returns_none   1 1 0   0%
tests / unit / compiler / test_chains.py TestChain.test_has_mutation_type_true   3 3 0   0%
tests / unit / compiler / test_chains.py TestChain.test_has_mutation_type_false   3 3 0   0%
tests / unit / compiler / test_chains.py TestChain.test_has_mutation_type_mixed   4 4 0   0%
tests / unit / compiler / test_chains.py TestDFSChainStrategy.test_single_node   6 6 0   0%
tests / unit / compiler / test_chains.py TestDFSChainStrategy.test_linear_two_nodes   6 6 0   0%
tests / unit / compiler / test_chains.py TestDFSChainStrategy.test_linear_three_nodes_produces_prefix_chains   7 7 0   0%
tests / unit / compiler / test_chains.py TestDFSChainStrategy.test_branching_graph   9 9 0   0%
tests / unit / compiler / test_chains.py TestDFSChainStrategy.test_cycle_avoidance   5 5 0   0%
tests / unit / compiler / test_chains.py TestDFSChainStrategy.test_multiple_starters   7 7 0   0%
tests / unit / compiler / test_chains.py TestDFSChainStrategy.test_empty_graph   3 3 0   0%
tests / unit / compiler / test_chains.py TestDFSChainStrategy.test_filter_stops_at_filtered_node   12 12 0   0%
tests / unit / compiler / test_chains.py TestDFSChainStrategy.test_filter_none_includes_all   6 6 0   0%
tests / unit / compiler / test_chains.py TestDFSChainStrategy.test_filter_all_mutations_keeps_only_queries   8 8 0   0%
tests / unit / compiler / test_chains.py TestChainGenerator.test_default_strategy_is_all_dependencies   2 2 0   0%
tests / unit / compiler / test_chains.py TestChainGenerator.test_custom_strategy_accepted   3 3 0   0%
tests / unit / compiler / test_chains.py TestChainGenerator.test_chains_empty_before_generate   2 2 0   0%
tests / unit / compiler / test_chains.py TestChainGenerator.test_generate_returns_and_stores_chains   5 5 0   0%
tests / unit / compiler / test_chains.py TestChainGenerator.test_generate_overwrites_previous_chains   7 7 0   0%
tests / unit / compiler / test_chains.py TestChainGenerator.test_chains_inspectable_after_generate   6 6 0   0%
tests / unit / compiler / test_chains.py TestChainGenerator.test_three_pass_produces_triplicated_query_chains   4 4 0   0%
tests / unit / compiler / test_chains.py TestChainGenerator.test_delete_chain_excluded_from_pass1_and_pass2   8 8 0   0%
tests / unit / compiler / test_chains.py TestChainGenerator.test_disable_mutations_excludes_all_mutations   13 13 0   0%
tests / unit / compiler / test_chains.py TestChainGenerator.test_disable_mutations_false_includes_mutations   11 11 0   0%
tests / unit / compiler / test_chains.py _names   1 1 0   0%
tests / unit / compiler / test_chains.py TestAllDependenciesChainStrategy._strategy   1 1 0   0%
tests / unit / compiler / test_chains.py TestAllDependenciesChainStrategy.test_single_node   4 4 0   0%
tests / unit / compiler / test_chains.py TestAllDependenciesChainStrategy.test_linear_chain_produces_one_chain_per_node   8 8 0   0%
tests / unit / compiler / test_chains.py TestAllDependenciesChainStrategy.test_diamond_multi_parent   15 15 0   0%
tests / unit / compiler / test_chains.py TestAllDependenciesChainStrategy.test_deep_three_layer_multi_dependency   26 26 0   0%
tests / unit / compiler / test_chains.py TestAllDependenciesChainStrategy.test_filter_excludes_nodes   9 9 0   0%
tests / unit / compiler / test_chains.py TestAllDependenciesChainStrategy.test_filtered_ancestor_excluded_from_descendant_chain   11 11 0   0%
tests / unit / compiler / test_chains.py TestAllDependenciesChainStrategy.test_starter_nodes_ignored   4 4 0   0%
tests / unit / compiler / test_chains.py TestChainGeneratorUsesAllDependenciesDefault.test_default_strategy_is_all_dependencies   2 2 0   0%
tests / unit / compiler / test_chains.py TestChainGeneratorUsesAllDependenciesDefault.test_generate_with_diamond_includes_all_ancestors   10 10 0   0%
tests / unit / compiler / test_chains.py (no function)   55 55 0   0%
tests / unit / fuzzer / __init__.py (no function)   0 0 0   100%
tests / unit / fuzzer / fengine / __init__.py (no function)   0 0 0   100%
tests / unit / fuzzer / fengine / materializer / __init__.py (no function)   0 0 0   100%
tests / unit / fuzzer / fengine / retrier / __init__.py (no function)   0 0 0   100%
tests / unit / fuzzer / fengine / retrier / test_utils.py test_find_block_end   1 1 0   0%
tests / unit / fuzzer / fengine / retrier / test_utils.py test_remove_lines_within_range   3 3 0   0%
tests / unit / fuzzer / fengine / retrier / test_utils.py (no function)   5 5 0   0%
tests / unit / fuzzer / fengine / test_utils.py TestFengineUtils.test_check_non_epty_data   1 1 0   0%
tests / unit / fuzzer / fengine / test_utils.py TestFengineUtils.test_check_empty_data   1 1 0   0%
tests / unit / fuzzer / fengine / test_utils.py (no function)   7 7 0   0%
tests / unit / utils / __init__.py (no function)   0 0 0   100%
tests / unit / utils / test_file_utils.py test_initialize_file   4 4 0   0%
tests / unit / utils / test_file_utils.py test_write_json_to_file   7 7 0   0%
tests / unit / utils / test_file_utils.py test_write_dict_to_yaml   7 7 0   0%
tests / unit / utils / test_file_utils.py test_read_yaml_to_dict   7 7 0   0%
tests / unit / utils / test_file_utils.py (no function)   9 9 0   0%
tests / unit / utils / test_objects_bucket.py (no function)   0 0 0   100%
tests / unit / utils / test_parser_utils.py test_get_base_oftype   6 6 0   0%
tests / unit / utils / test_parser_utils.py test_get_output_type   4 4 0   0%
tests / unit / utils / test_parser_utils.py (no function)   3 3 0   0%
tests / unit / utils / test_plugins_handler.py mock_plugin_path   1 1 0   0%
tests / unit / utils / test_plugins_handler.py test_does_plugin_exist   3 3 0   0%
tests / unit / utils / test_plugins_handler.py test_get_plugin_path   4 4 0   0%
tests / unit / utils / test_plugins_handler.py test_get_request_utils_with_valid_plugin   5 5 0   0%
tests / unit / utils / test_plugins_handler.py test_get_plugin_fallback_to_default   3 3 0   0%
tests / unit / utils / test_plugins_handler.py test_invalid_plugin_structure   4 4 0   0%
tests / unit / utils / test_plugins_handler.py (no function)   12 12 0   0%
Total     4823 2170 12   55%

No items found using the specified filter.