def test_basic_parsing(insta_snapshot, version): enhancement = Enhancements.from_config_string( """ # This is a config path:*/code/game/whatever/* +app function:panic_handler ^-group -group function:ThreadStartWin32 v-group function:ThreadStartLinux v-group function:ThreadStartMac v-group family:native module:std::* -app module:core::* -app family:javascript path:*/test.js -app family:javascript app:1 path:*/test.js -app family:native max-frames=3 """, bases=["common:v1"], ) enhancement.version = version dumped = enhancement.dumps() insta_snapshot(dump_obj(enhancement)) assert Enhancements.loads(dumped).dumps() == dumped assert Enhancements.loads( dumped)._to_config_structure() == enhancement._to_config_structure() assert isinstance(dumped, str)
def create_event(self, grouping_config): grouping_input = dict(self.data) # Customize grouping config from the _grouping config grouping_info = grouping_input.pop("_grouping", None) or {} enhancements = grouping_info.get("enhancements") if enhancements: enhancement_bases = Enhancements.loads( grouping_config["enhancements"]).bases e = Enhancements.from_config_string(enhancements or "", bases=enhancement_bases) grouping_config["enhancements"] = e.dumps() # Normalize the event mgr = EventManager(data=grouping_input, grouping_config=grouping_config) mgr.normalize() data = mgr.get_data() # Normalize the stacktrace for grouping. This normally happens in # save() normalize_stacktraces_for_grouping( data, load_grouping_config(grouping_config)) evt = eventstore.create_event(data=data) return evt
def test_basic_parsing(insta_snapshot): enhancement = Enhancements.from_config_string(''' # This is a config path:*/code/game/whatever/* +app function:panic_handler ^-group -group function:ThreadStartWin32 v-group function:ThreadStartLinux v-group function:ThreadStartMac v-group family:native module:std::* -app module:core::* -app family:javascript path:*/test.js -app family:javascript app:1 path:*/test.js -app ''', bases=['common:v1']) dumped = enhancement.dumps() insta_snapshot(dump_obj(enhancement)) assert Enhancements.loads(dumped).dumps() == dumped assert Enhancements.loads(dumped)._to_config_structure() == enhancement._to_config_structure() assert isinstance(dumped, six.string_types)
def test_basic_parsing(insta_snapshot): enhancement = Enhancements.from_config_string(''' # This is a config path:*/code/game/whatever/* +app function:panic_handler ^-group -group function:ThreadStartWin32 v-group function:ThreadStartLinux v-group function:ThreadStartMac v-group family:native module:std::* -app module:core::* -app family:javascript path:*/test.js -app ''', bases=['common:v1']) dumped = enhancement.dumps() insta_snapshot(dump_obj(enhancement)) assert Enhancements.loads(dumped).dumps() == dumped assert Enhancements.loads( dumped)._to_config_structure() == enhancement._to_config_structure() assert isinstance(dumped, six.string_types)
def __init__(self, enhancements=None, **extra): if enhancements is None: enhancements = Enhancements([]) else: enhancements = Enhancements.loads(enhancements) self.enhancements = enhancements
def __init__(self, enhancements: Optional[str] = None, **extra: Any): if enhancements is None: enhancements_instance = Enhancements([]) else: enhancements_instance = Enhancements.loads(enhancements) self.enhancements = enhancements_instance
def __init__(self, enhancements=None, **extra): if enhancements is None: enhancements = Enhancements([]) else: enhancements = Enhancements.loads(enhancements) self.enhancements = enhancements