| 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% |