Coverage for tests / unit / fuzzer / fengine / materializer / utils / test_output_utils.py: 100%
16 statements
« prev ^ index » next coverage.py v7.13.4, created at 2026-03-18 23:20 -0400
« prev ^ index » next coverage.py v7.13.4, created at 2026-03-18 23:20 -0400
1import unittest
3from graphqler.fuzzer.engine.materializers.utils.materialization_utils import is_valid_object_materialization, remove_consecutive_characters
6class TestOutputUtils(unittest.TestCase):
7 def test_is_valid_object_materialization(self):
8 self.assertTrue(is_valid_object_materialization("abc {}") is False)
9 self.assertTrue(is_valid_object_materialization("abc(filter:1) {}") is False)
10 self.assertTrue(is_valid_object_materialization("abc(filter: {def: 123}) {def }") is True)
11 self.assertTrue(is_valid_object_materialization("abc {def}") is True)
12 self.assertTrue(is_valid_object_materialization("abc {, , ,}") is False)
13 self.assertTrue(is_valid_object_materialization("abc {def, def, def}") is True)
14 self.assertTrue(
15 is_valid_object_materialization(
16 'cards(filter: {status_type: "C223828YUY",},) {expiration_date,id,masked_card_number,, ,needs_activation,projected_arrival_date,status_type,temporary,uuid,, ,virtual,},, ,'
17 )
18 is True
19 )
20 self.assertTrue(is_valid_object_materialization("rewards {credit_builder {rewards_hub_screen}}"))
21 self.assertTrue(is_valid_object_materialization("enrollment_screen{body,footer_text_markdown,image_url,title,}"))
23 def test_remove_consecutive(self):
24 assert remove_consecutive_characters("aaabbbccc", "a") == "abbbccc"
25 assert remove_consecutive_characters("hellooo!!!", "o") == "hello!!!"